Masz w zasadzie dwie opcje, wierzę:
Wariant 1 - "bin" wdrożyć (opcja preferowana)
- skompilować usługę WCF w DLL (biblioteki klas)
- utwórz stronę internetową w IIS
- skopiuj pliki DLL WCF do folderu
.\bin
witryny internetowej
- utwórz
*.svc
plików w tej witrynie
- dodać odpowiednią
web.config
w folderze strony, aby zdefiniować swoje punkty końcowe i konfigurację usługi itp
Usługa WCF będzie teraz osiągalny pod adresem bazowej witryny, plus nazwa *.svc
plik, np
http://myserver/someweb/Myservice.svc
Twój *.svc
będzie wyglądać mniej więcej tak:
<%@ ServiceHost Language="C#" Debug="true"
Service="WCF_Simple_Service.HelloIndigoService" %>
The Service=
atrybuty oznacza klasę wykonawczą służby - pełną z jego nazw.
Wariant 2 - umieścić rzeczy w App_Code
- stworzenie strony internetowej w IIS
- umieścić wszystkie swoje WCF związane
*.cs
pliki bezpośrednio do folderu .\App_Code
- utworzyć plik
*.svc
w tej witrynie
- dodać odpowiedni folder
web.config
do zdefiniowania punktów końcowych i konfiguracji usługi itp.
Twoja usługa WCF będzie teraz dostępna pod adresem bazowym witryny, a także pod nazwą pliku *.svc
, np.
http://myserver/someweb/Myservice.svc
Twój *.svc
będzie wyglądać mniej więcej tak:
<%@ ServiceHost Language="C#" Debug="true"
Service="Service"
CodeBehind="~/App_Code/Service.cs" %>
Prosty, próbka web.config
może wyglądać mniej więcej tak:
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="WithDebug">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
<services>
<service name="SimpleWCF.HelloIndigoService" behaviorConfiguration="WithDebug">
<endpoint
address=""
binding="basicHttpBinding"
contract="SimpleWCF.IHelloIndigoService" />
<endpoint
address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange" />
</service>
</services>
</system.serviceModel>
Zasadniczo zdefiniować tag <service>
- i znowu: name=
oznacza klasę implementującą usługę - pełną kwalifikację z jej przestrzenią nazw. Musi zawierać co najmniej jeden punkt końcowy - punkt końcowy "mex" jest opcjonalny - ale bardzo przydatny, szczególnie do programowania i testowania. Pozwala to klientowi "odkryć" usługę i uzyskać jej opis usługi, aby mógł się z nią połączyć.
Gdy usługa jest wdrażane w IIS, można zobaczyć go w akcji za pomocą narzędzia jak WCF Test Client że statki za darmo z WCF lub SoapUI który jest narzędziem do testowania SOAP ogólnego przeznaczenia (z bezpłatnej wersji dla was posługiwać się).
zobacz: [Jak hosta usługi WCF w IIS] (http://msdn.microsoft.com/en-us/library/ms733766.aspx) - czy to 'localhost' lub jakikolwiek inny serwer jest całkowicie nieistotny - wystarczy wykonać te kroki. –