Skapa Windows Communication Foundation-exempel
WCF-exempel (Windows Communication Foundation) kan skapas med hjälp av Visual Studio IDE eller kommandot msbuild från kommandoraden. Båda procedurerna beskrivs i den här artikeln.
Kommentar
Innan du skapar eller kör något av WCF-exemplen kontrollerar du att du har utfört engångsinstallationsproceduren för Windows Communication Foundation-exemplen.
Så här skapar du exemplet med hjälp av en kommandotolk
Öppna Kommandotolken för utvecklare för Visual Studio och navigera till den språkspecifika underkatalogen under katalogplatsen där du installerade exemplet.
Skriv
msbuild
på kommandoraden. Klientprogramfilerna skapas till klient\bin och tjänstprogramfilerna skapas till service\bin. Om tjänsten hanteras av IIS (Internet Information Services) kopieras även tjänstprogramfilerna till katalogen servicemodelsamples och dess underkatalog \bin .
Kommentar
Du måste ange ACL:er på %systemdrive%\inetpub\wwwroot för att bevilja ändringsbehörigheter till det konto som du kör. Annars misslyckas vissa händelser efter bygget. Du kan också lämna ACL:er som de är och köra SDK-kommandotolken som administratör.
Så här skapar du exemplet med Visual Studio
På menyn Arkiv i Visual Studio väljer du Öppna>projekt/lösning. Gå till den språkspecifika underkatalogen under katalogen där du installerade exemplet och dubbelklicka på .sln-filikonen för att öppna lösningen i Visual Studio.
På menyn Skapa väljer du Återskapa lösning.
Klientprogramfilerna skapas till klient\bin och tjänstprogramfilerna skapas till service\bin. Om tjänsten finns i IIS kopieras även tjänstprogramfilerna till katalogen servicemodelsamples och dess underkatalog \bin .
Kommentar
Du måste ange ACL:er på %systemdrive%\inetpub\wwwroot för att bevilja ändringsbehörigheter till det konto som du kör. Annars misslyckas vissa händelser efter bygget. Du kan också lämna ACL:erna som de är och köra SDK-kommandotolken eller Visual Studio som administratör. Vissa Visual Studio-åtgärder (till exempel att koppla ett felsökningsprogram till ASP.NET arbetsprocess) kräver också administratörsbehörighet.
Konfigurera Batch-filer och skript
Setup.exe och Cleanup.exe batchfiler och skript ska köras från Kommandotolken för utvecklare för Visual Studio. Flera konfigurera och rensa filer utför uppgifter som kräver administratörsbehörighet och bör startas med administratörsbehörighet.
Viktig säkerhetsinformation om metadataslutpunkter
För att förhindra oavsiktligt avslöjande av potentiellt känsliga tjänstmetadata inaktiverar standardkonfigurationen för WCF-tjänster (Windows Communication Foundation) metadatapublicering. Det här beteendet är säkert som standard, men innebär också att du inte kan använda ett verktyg för metadataimport (till exempel Svcutil.exe) för att generera den klientkod som krävs för att anropa tjänsten om inte tjänstens beteende för metadatapublicering uttryckligen är aktiverat i konfigurationen. För att göra det enklare att experimentera med exemplen exponerar nästan alla exempel en oskyddad slutpunkt för metadatapublicering. Sådana slutpunkter är potentiellt tillgängliga för anonyma oautentiserade konsumenter och försiktighet måste vidtas innan sådana slutpunkter distribueras för att säkerställa att offentligt avslöjande av en tjänsts metadata är lämpligt. Mer information om hur du publicerar tjänstmetadata finns i exemplet med beteende för metadatapublicering . Se exempel på slutpunkt för anpassade säkra metadata för ett exempel som skyddar en metadataslutpunkt.
Undantagshantering
Generellt sett omfattar dessa exempel inte undantagshantering för att hålla koden fokuserad på ämnet för exemplet. Mer information om undantagshantering finns i exemplet förväntade undantag .
Återskapa klienter och konfiguration med Svcutil
Du kan använda verktyget servicemodelmetadata (Svcutil.exe) för att återskapa klientkod och konfiguration för de flesta av exemplen. Vissa exempel kräver manuellt redigerad konfiguration. Om du till exempel använder Svcutil.exe för att återskapa konfigurationen för ett exempel som använder autentiseringsuppgifter för klientcertifikat måste du ange tidigare konfigurerade autentiseringsuppgifter manuellt. Vissa exempel använder specifika Svcutil.exe alternativ för att påverka den genererade koden. Dessa alternativ anges i de specifika exempelavsnitten.
Återskapa klient- och konfigurationsfilerna
Öppna en SDK-kommandotolk och navigera till den språkspecifika underkatalogen under den katalogplats där du installerade exemplet.
Om tjänsten är en webbaserad typ använder du följande kommando.
svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" http://localhost/servicemodelsamples/service.svc/mex /out:generatedClient.cs
Om tjänsten är en lokalt installerad typ skriver du följande kommando.
svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" http://localhost:8000/servicemodelsamples/service.svc/mex /out:generatedClient.cs
Ersätt
http://localhost:8000/ServiceModelSamples/service.svc/mex
med adressen för den lokalt installerade tjänstens mex-slutpunkt.Om du vill generera klienten i en Visual Basic-typ använder du följande kommando.
svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" http://localhost/servicemodelsamples/service.svc/mex /l:vb /out:generatedClient.vb
Om tjänsten är en lokalt installerad typ använder du följande kommando.
svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" http://localhost:8000/servicemodelsamples/service.svc/mex /l:vb /out:generatedClient.vb
Kommentar
Om du vill hoppa över genereringen av klientkonfigurationen lägger du till alternativet /noConfig .