A képek megjelenítését az adatbázisból közvetlenül - megállapítsák httphandler

De miért egy kiegészítő fájlt a képeket, ha az ASP.NET egy ilyen csodálatos eszköz a lekérdezés hogyan HttpHandler. )

Mi a HttpHandler és hogy néz ki? Tény, hogy ez ugyanaz HttpHandler ISAPI szűrő, amely kezeli a http kéréseket. Bármilyen kérés, hogy jön egy ASP.NET webes alkalmazás, amely előbb-utóbb feldolgozni egyik HttpHandlerov, és nincs szerzés körül. Néhány HttpHandlery adási lekérdezésére más osztályokba (pl nevű osztály oldalak), míg mások maguk feldolgozza a kérelmet, és visszatér az eredményt a kliens. De ebben az esetben nem számít. A lényeg az, hogy a Microsoft lehetőséget biztosított a fejlesztők egyszerűen megírják HttpHandlery.

Mi továbbra is vizsgálja a probléma - kezd a kép az adatbázisból. Hagyja, hogy az adatbázist egy asztal képe felépítése a következő:

Azt akarjuk, hogy ki ez a kép adatbázis tekintetében egyedi azonosítót (id mező értékét). Ha ez bekövetkezik, nem akarjuk, hogy bármilyen további fájlokat. És, mint említettem, ez nem szükséges - mindent meg lehet tenni a segítségével HttpHandler.

Osztályba lehet nyilvántartásba vett HttpHandler, akkor kell csak észre System.Web.IHttpHandler felület, amely egy get tulajdon és az egyik módszer. Próbáljunk csinálni :)

Kezdjük az osztály neve:

Aztán rájövünk IsReusable tulajdonság, amely azt jelzi, hogy az osztály nélkül hívható az újraindítását

Végül térjünk vissza a legérdekesebb - a végrehajtás ProcessRequest módszer, amely elvégzi a tényleges feldolgozást a kérelmet. Hadd emlékeztessem önöket, hogy szeretnénk az egyedi azonosítók a kép vissza a kép maga:

Kap egy hivatkozás a kérés és válasz tárgyak kérelmet.

Kapunk az érték egy egyedi azonosító kép

Hozzon létre egy kapcsolatot az adatbázis és megadja a kép egyedi azonosítója

Nem azért vagyok itt, hogy ne ellenőrizze a létezését feljegyzések, de a valóságban ez persze nem árt :)

Állítsa be a helyes ContentType

És írni a tartalmát a képet az ügyfélnek.

Ez minden - mi HttpHandler létre. Továbbra is csatlakoztatni egy webes alkalmazás, és készen áll a működésre.

Csatlakoztatásához HttpHandlerov használt szakasz Web.config konfigurációs fájl. Connection string formátum HttpHandlera következő:

Ennek alapján hoztunk létre HttpHandler csatlakozni a webes alkalmazás. Átírása az összeállított szerelvényt a bin alkönyvtárához webes alkalmazások, és adjunk hozzá a konfigurációs fájlban a részben a következő sort:

Az emberi nyelv ebben a sorban a következőképpen magyarázható: ha photo.aspx fájl kérés a kérelem feldolgozásához HttpHandlerom PictureHandler.PictureHandler található a szerelvény PictureHandler. Figyeljünk - tényleg photo.aspx fájlt a webes alkalmazás nem létezik, de ha megpróbálja, hogy kérje a fájl photo.aspx a megfelelő egyedi azonosítóval kép - ezt a képet vissza kell adni.

Ez minden. Most bárhol megjelenik a webes alkalmazás kép id = 10 lehet használni

.

PS. Ne próbálja meg egy példát, hogy képeket Alkalmazottak Northwind adatbázis tábla szerint - ez még mindig nem működik :) Ebben a táblázatban nem tárolt képeket, és OLE objektumokat.

Kapcsolódó cikkek