Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Windows Communication Foundation (WCF) mintái a Visual Studio IDE vagy a parancssorból származó msbuild paranccsal hozhatók létre. Mindkét eljárást ebben a cikkben ismertetjük.
Megjegyzés:
A WCF-minták létrehozása vagy futtatása előtt győződjön meg arról, hogy elvégezte a windowsos kommunikációs alapmintákOne-Time beállítási eljárását.
A minta létrehozása parancssor használatával
Nyissa meg a Visual Studio fejlesztői parancssorát, és keresse meg a nyelvspecifikus alkönyvtárat annak a könyvtárnak a helyén, ahol a mintát telepítette.
Írja be
msbuilda parancssorba. Az ügyfélprogram fájljai az ügyfél\bin fájlra, a szolgáltatásprogram fájljai pedig a service\bin fájlra épülnek. Ha a szolgáltatást az Internet Information Services (IIS) üzemelteti, a program a szolgáltatásprogram fájljait is átmásolja a servicemodelsamples könyvtárba és annak \bin alkönyvtárába.
Megjegyzés:
Az ACL-eket a %systemdrive%\inetpub\wwwroot webhelyen kell beállítania ahhoz, hogy módosítási engedélyeket adjon ahhoz a fiókhoz, amelyen fut. Ellenkező esetben egyes utólagos build események sikertelenek lesznek. Másik lehetőségként elhagyhatja az ACL-eket, és rendszergazdaként futtathatja az SDK parancssorát.
A minta létrehozása a Visual Studióval
A Visual Studio Fájl menüjében válassza aProjekt/megoldás> lehetőséget. Lépjen a nyelvspecifikus alkönyvtárra annak a könyvtárnak a alatta, amelyben telepítette a mintát, majd kattintson duplán a .sln fájlikonra a megoldás Visual Studióban való megnyitásához.
A Build menüben válassza a Megoldás újraépítése lehetőséget.
Az ügyfélprogram fájljai az ügyfél\bin fájlra, a szolgáltatásprogram fájljai pedig a service\bin fájlra épülnek. Ha a szolgáltatás IIS-ben van üzemeltetve, a szolgáltatásprogram fájljai a servicemodelsamples könyvtárba és annak \bin alkönyvtárába is át lesznek másolva.
Megjegyzés:
Az ACL-eket a %systemdrive%\inetpub\wwwroot webhelyen kell beállítania ahhoz, hogy módosítási jogosultságokat adjon annak a fióknak, amely alatt futtatva van. Ellenkező esetben egyes utólagos build események sikertelenek lesznek. Másik lehetőségként elhagyhatja az ACL-eket, és futtathatja az SDK parancssorát vagy a Visual Studiót rendszergazdaként. Egyes Visual Studio-műveletek (például hibakereső csatolása a ASP.NET feldolgozó folyamatához) rendszergazdai jogosultságokat is igényelnek.
Batch-fájlok és -szkriptek beállítása
A Setup.exe és Cleanup.exe batch fájlokat és szkripteket a Visual Studio Fejlesztői Parancssorából kell futtatni. Több beállítási és törlési fájl olyan feladatokat hajt végre, amelyek rendszergazdai jogosultságokat igényelnek, és rendszergazdai jogosultságokkal kell elindítani.
A metaadatok végpontjaival kapcsolatos fontos biztonsági információk
A potenciálisan bizalmas szolgáltatás metaadatainak véletlen közzétételének megakadályozása érdekében a Windows Communication Foundation (WCF) szolgáltatások alapértelmezett konfigurációja letiltja a metaadatok közzétételét. Ez a viselkedés alapértelmezés szerint biztonságos, de azt is jelenti, hogy nem használhat metaadat-importáló eszközt (például Svcutil.exe) a szolgáltatás hívásához szükséges ügyfélkód létrehozásához, kivéve, ha a szolgáltatás metaadat-közzétételi viselkedése kifejezetten engedélyezve van a konfigurációban. A minták kipróbálásának megkönnyítése érdekében szinte minden minta egy nem biztonságos metaadat-közzétételi végpontot tesz elérhetővé. Ezek a végpontok potenciálisan elérhetők névtelen, hitelesítés nélküli felhasználók számára, és az ilyen végpontok üzembe helyezése előtt ügyelni kell arra, hogy a szolgáltatás metaadatainak nyilvános közzététele megfelelő legyen. A szolgáltatás metaadatainak közzétételével kapcsolatos további információkért tekintse meg a metaadatok közzétételi viselkedési mintáját. Lásd a egyéni biztonságos metaadatok végpontjának mintáját, amely bemutatja, hogyan lehet a metaadat-végpontot biztosítani.
Kivételkezelés
Általánosságban elmondható, hogy ezek a minták nem tartalmaznak kivételkezelést, hogy a kód a minta tárgyára összpontosítson. A kivételkezeléssel kapcsolatos további információkért tekintse meg a Várt kivételek mintát.
Ügyfelek és konfiguráció újragenerálása az Svcutil használatával
A ServiceModel Metadata Segédprogram (Svcutil.exe) használatával újragenerálhatja a legtöbb minta ügyfélkódját és konfigurációját. Egyes minták manuális szerkesztést igényelnek. Ha például az ügyféltanúsítvány hitelesítő adatait használó minta konfigurációjának újragenerálásához Svcutil.exe használ, manuálisan kell megadnia a korábban konfigurált hitelesítő adatokat. Egyes minták konkrét Svcutil.exe-beállításokat használnak a létrehozott kód befolyásolására, ezeket a beállításokat az adott mintatémakörökben adhatók meg.
Az ügyfél- és konfigurációs fájlok újragenerálása
Nyisson meg egy SDK-parancssort, és keresse meg a nyelvspecifikus alkönyvtárat annak a könyvtárnak a helyén, ahol a mintát telepítette.
Ha a szolgáltatás egy webalapú típus, használja az alábbi parancsot.
svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" http://localhost/servicemodelsamples/service.svc/mex /out:generatedClient.csHa a szolgáltatás saját üzemeltetésű, írja be a következő parancsot.
svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" http://localhost:8000/servicemodelsamples/service.svc/mex /out:generatedClient.csCserélje le
http://localhost:8000/ServiceModelSamples/service.svc/mexa saját üzemeltetésű szolgáltatás mex végpontjának címére.A Visual Basic típusú kliens létrehozásához használja az alábbi parancsot.
svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" http://localhost/servicemodelsamples/service.svc/mex /l:vb /out:generatedClient.vbHa a szolgáltatás egy saját üzemeltetésű típus, használja az alábbi parancsot.
svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" http://localhost:8000/servicemodelsamples/service.svc/mex /l:vb /out:generatedClient.vbMegjegyzés:
Az ügyfélkonfiguráció generációjának kihagyásához adja hozzá a /noConfig lehetőséget.