Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Przykłady programu Windows Communication Foundation (WCF) można skompilować przy użyciu środowiska IDE programu Visual Studio lub polecenia msbuild z wiersza polecenia. Obie procedury zostały opisane w tym artykule.
Uwaga / Notatka
Przed utworzeniem lub uruchomieniem dowolnego z przykładów programu WCF upewnij się, że wykonano procedurę instalacjiOne-Time dla przykładów programu Windows Communication Foundation.
Aby skompilować przykład przy użyciu wiersza polecenia
Otwórz wiersz polecenia dewelopera dla programu Visual Studio i przejdź do podkatalogu specyficznego dla języka w lokalizacji katalogu, w której zainstalowano przykład.
Wpisz
msbuildw wierszu poleceń. Pliki programu klienta są kompilowane do pliku client\bin , a pliki programu usługi są kompilowane w usłudze\bin. Jeśli usługa jest hostowana przez usługi Internet Information Services (IIS), pliki programu usługi są również kopiowane do katalogu servicemodelsamples i jego podkatalogu \bin .
Uwaga / Notatka
Należy ustawić listy kontroli dostępu (ACL) na %systemdrive%\inetpub\wwwroot, aby przyznać uprawnienia do modyfikacji dla konta, zgodnie z którym jest uruchamiany proces. W przeciwnym razie niektóre zdarzenia po kompilacji kończą się niepowodzeniem. Alternatywnie możesz pozostawić listy ACL tak jak są i uruchomić wiersz polecenia SDK jako administrator.
Aby skompilować przykład przy użyciu programu Visual Studio
W menu Plik w programie Visual Studio wybierz pozycję Otwórz>projekt/rozwiązanie. Przejdź do podkatalogu specyficznego dla języka w katalogu, w którym zainstalowano przykład, i kliknij dwukrotnie ikonę pliku .sln, aby otworzyć rozwiązanie w programie Visual Studio.
W menu Kompilacja wybierz pozycję Skompiluj rozwiązanie.
Pliki programu klienta są kompilowane do client\bin, a pliki programu usługi są kompilowane do service\bin. Jeśli usługa jest hostowana w usługach IIS, pliki programu usługi są również kopiowane do katalogu servicemodelsamples i jego podkatalogu \bin .
Uwaga / Notatka
Musisz ustawić listy ACL na %systemdrive%\inetpub\wwwroot, aby przyznać uprawnienia do modyfikacji kontu, na którym pracujesz. W przeciwnym razie niektóre zdarzenia po kompilacji kończą się niepowodzeniem. Alternatywnie, możesz pozostawić listy ACL w obecnym stanie i uruchomić wiersz polecenia zestawu SDK lub Visual Studio jako administrator. Niektóre akcje programu Visual Studio (takie jak dołączanie debugera do procesu roboczego ASP.NET) również wymagają uprawnień administracyjnych.
Konfigurowanie plików i skryptów usługi Batch
Setup.exe i Cleanup.exe pliki wsadowe i skrypty powinny być uruchamiane w wierszu polecenia dewelopera dla programu Visual Studio. Kilka plików konfiguracyjnych i czyszczących wykonuje zadania wymagające uprawnień administracyjnych i powinno być uruchamiane z uprawnieniami administratora.
Ważne informacje o zabezpieczeniach dotyczące punktów końcowych metadanych
Aby zapobiec przypadkowemu ujawnieniu potencjalnie poufnych metadanych usługi, domyślna konfiguracja usług Windows Communication Foundation (WCF) wyłącza publikowanie metadanych. To zachowanie jest domyślnie bezpieczne, ale oznacza również, że nie można użyć narzędzia importowania metadanych (takiego jak Svcutil.exe), aby wygenerować kod klienta wymagany do wywołania usługi, chyba że zachowanie publikowania metadanych usługi jest jawnie włączone w konfiguracji. Aby ułatwić eksperymentowanie z przykładami, prawie wszystkie próbki uwidacznia niezabezpieczony punkt końcowy publikowania metadanych. Takie punkty końcowe są potencjalnie dostępne dla anonimowych nieuwierzytelnionych użytkowników i należy zachować ostrożność przed wdrożeniem takich punktów końcowych, aby zapewnić, że publiczne ujawnienie metadanych usługi jest odpowiednie. Aby uzyskać więcej informacji na temat publikowania metadanych usługi, zobacz przykład pod tytułem Zachowanie publikowania metadanych. Zapoznaj się z przykładem niestandardowego bezpiecznego punktu końcowego metadanych w celu zabezpieczenia punktu końcowego metadanych.
Obsługa wyjątków
Ogólnie rzecz biorąc, te przykłady nie obejmują obsługi wyjątków, aby kod był skoncentrowany na temacie próbki. Aby uzyskać więcej informacji na temat obsługi wyjątków, zobacz przykład Oczekiwane wyjątki .
Ponowne generowanie klientów i konfiguracja za pomocą narzędzia Svcutil
Możesz użyć narzędzia ServiceModel Metadata Tool (Svcutil.exe), aby ponownie wygenerować kod klienta i konfigurację dla większości przykładów. Niektóre przykłady wymagają ręcznej edycji konfiguracji. Jeśli na przykład używasz Svcutil.exe do ponownego wygenerowania konfiguracji dla przykładu korzystającego z poświadczeń certyfikatu klienta, musisz ręcznie określić wcześniej skonfigurowane poświadczenia. Niektóre przykłady używają określonych opcji Svcutil.exe, aby wpłynąć na wygenerowany kod. Te opcje są określone w określonych przykładowych tematach.
Aby ponownie wygenerować pliki klienta i konfiguracji
Otwórz wiersz polecenia zestawu SDK i przejdź do podkatalogu specyficznego dla języka w lokalizacji katalogu, w której zainstalowano przykład.
Jeśli usługa jest typem hostowanym w sieci Web, użyj następującego polecenia.
svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" http://localhost/servicemodelsamples/service.svc/mex /out:generatedClient.csJeśli usługa jest samodzielnie hostowana, wpisz następujące polecenie.
svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" http://localhost:8000/servicemodelsamples/service.svc/mex /out:generatedClient.csZastąp
http://localhost:8000/ServiceModelSamples/service.svc/mexadresem punktu końcowego mex usługi hostowanej lokalnie.Aby wygenerować klienta w typie języka Visual Basic, użyj następującego polecenia.
svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" http://localhost/servicemodelsamples/service.svc/mex /l:vb /out:generatedClient.vbJeśli usługa jest typu samodzielnie hostowanego, użyj następującego polecenia.
svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" http://localhost:8000/servicemodelsamples/service.svc/mex /l:vb /out:generatedClient.vbUwaga / Notatka
Aby pominąć generowanie konfiguracji klienta, dodaj /noConfig opcji.