Megosztás a következőn keresztül:


WCF-ügyfél létrehozása szolgáltatás metaadataiból

Ez a témakör azt ismerteti, hogyan hozhat létre ügyfeleket metaadat-dokumentumokból a Svcutil.exe különböző kapcsolóinak használatával.

A metaadat-dokumentumok tartós tárolóban lehetnek, vagy online is lekérhetők. Az online lekérés a WS-MetadataExchange protokollt vagy a Microsoft Discovery (DISCO) protokollt követi. Svcutil.exe a metaadatok lekéréséhez egyidejűleg a következő metaadat-kérelmeket adja ki:

  • WS-MetadataExchange (MEX) kérés a megadott címre.

  • MEX-kérés a megadott címre /mex hozzáfűzve.

  • DISCO-kérés (a DiscoveryClientProtocol ASP.NET webszolgáltatásokból) a megadott címre.

Svcutil.exe a webszolgáltatások leírási nyelve (WSDL) vagy a szolgáltatástól kapott szabályzatfájl alapján hozza létre az ügyfelet. A felhasználónév (UPN) úgy jön létre, hogy összefűzi a felhasználónevet a "@" karakterrel, majd hozzáad egy teljes tartománynevet (FQDN). Az Active Directoryban regisztrált felhasználók esetében azonban ez a formátum nem érvényes, és az eszköz által létrehozott egyszerű felhasználónév hibát okoz a Kerberos-hitelesítésben a következő hibaüzenettel: A bejelentkezési kísérlet sikertelen volt. A probléma megoldásához manuálisan javítsa ki az eszköz által létrehozott ügyfélfájlt.

svcutil.exe [/t:code]  <metadataDocumentPath>* | <url>* | <epr>  

Hivatkozási és megosztási típusok

Lehetőség Leírás
/reference:<file path> Hivatkozástípusok a megadott szerelvényben. Ügyfelek létrehozásakor ezzel a beállítással megadhatja azokat a szerelvényeket, amelyek az importált metaadatokat képviselő típusokat tartalmazhatnak.

Rövid űrlap: /r
/excludeType:<type> A hivatkozott szerződéstípusokból kizárandó teljes vagy szerelvény-minősített típusnevet ad meg.

Rövid űrlap: /et

Szerializáló kiválasztása

Lehetőség Leírás
/szerializáló:Automatikus Automatikusan kiválasztja a szerializálót. Ez a szerializálót DataContract használja. Ha ez nem sikerül, a rendszer a függvényt XmlSerializer használja.

Rövid űrlap: /ser:Auto
/szerializáló:DataContractSerializer Olyan adattípusokat hoz létre, amelyek szerializáláshoz és deszerializáláshoz használják a DataContract szerializálót.

Rövid űrlap: /ser:DataContractSerializer
/szerializáló:XmlSerializer Szerializáláshoz és deszerializáláshoz használt XmlSerializer adattípusokat hoz létre.

Rövid űrlap: /ser:XmlSerializer
/importXmlTypes A szerializálót úgy konfigurálja DataContract , hogy a nem típusokatDataContract típusként importálja IXmlSerializable .

Rövid űrlap: /ixt
/dataContractOnly Csak típusok kódját DataContract hozza létre. ServiceContract típusok jönnek létre.

Ehhez a beállításhoz csak helyi metaadatfájlokat kell megadnia.

Rövid űrlap: /dconly

Nyelv kiválasztása az ügyfél számára

Lehetőség Leírás
/language:<language> Megadja a kódgeneráláshoz használni kívánt programozási nyelvet. Adja meg a Machine.config fájlban regisztrált nyelvnevet, vagy egy olyan osztály teljes nevét, amelytől CodeDomProvideröröklődik.

Értékek: c#, cs, csharp, vb, vbs, visualbasic, vbscript, javascript, c++, mc, cpp

Alapértelmezett: csharp

Rövid űrlap: /l

További információ: CodeDomProvider osztály.

Névtér kiválasztása az ügyfél számára

Lehetőség Leírás
/namespace:<sztring,sztring> WSDL- vagy XML-sémából targetNamespace egy közös nyelvi futtatókörnyezeti (CLR) névtérre való leképezést ad meg. Helyettesítő karakter (*) használata a térképekhez az targetNamespace adott targetNamespaces CLR-névtér explicit leképezése nélkül.

Ha meg szeretné győződni arról, hogy az üzenetszerződés neve nem ütközik a művelet nevével, minősítse a típushivatkozást kettős kettőspontokkal (::), vagy győződjön meg arról, hogy a nevek egyediek.

Alapértelmezett: A sémadokumentum célnévteréből származik a következőhöz DataContracts: . Az alapértelmezett névtér az összes többi létrehozott típushoz használatos.

Rövid űrlap: /n

Adatkötés kiválasztása

Lehetőség Leírás
/enableDataBinding Minden típuson DataContract implementálja az INotifyPropertyChanged interfészt az adatkötés engedélyezéséhez.

Rövid űrlap: /edb

Konfiguráció létrehozása

Lehetőség Leírás
/config:<configFile> Megadja a létrehozott konfigurációs fájl fájlnevét.

Alapértelmezett: output.config
/mergeConfig A létrehozott konfigurációt egy meglévő fájlba egyesíti ahelyett, hogy felülírja a meglévő fájlt.
/noConfig Ne hozzon létre konfigurációs fájlokat.

Lásd még