У вас есть два основных варианта, я считаю:
Вариант 1 - "бен" развернуть (предпочтительный вариант)
- скомпилировать службу WCF в (библиотека классов) DLL
- создать веб-сайт в IIS
- скопируйте WCF DLL в папку
.\bin
веб-сайта
- создать
*.svc
файл на этом сайте
- добавить соответствующий
web.config
в папке сайта, чтобы определить свои конечные точки и конфигурации службы и т.д.
Ваша служба WCF теперь будет достижим на базовый адрес веб-сайта, а также название *.svc
файл, например
http://myserver/someweb/Myservice.svc
Ваш *.svc
будет выглядеть примерно так:
<%@ ServiceHost Language="C#" Debug="true"
Service="WCF_Simple_Service.HelloIndigoService" %>
The Service=
атрибуты обозначает класс, реализующий услугу - полное с пространством имен.
Вариант 2 - поместить материал в App_Code
- создать веб-сайт в IIS
- положить все ваши WCF связанные
*.cs
файлы непосредственно в папку .\App_Code
- создать
*.svc
файл на этом сайте
- добавьте соответствующий
web.config
в папку веб-сайта, чтобы определить конечные точки и конфигурацию сервиса и т. Д.
Теперь ваша служба WCF будет доступна на базовом адресе сайта, а также имя файла *.svc
, например.
http://myserver/someweb/Myservice.svc
Ваш *.svc
будет выглядеть примерно так:
<%@ ServiceHost Language="C#" Debug="true"
Service="Service"
CodeBehind="~/App_Code/Service.cs" %>
Простой, образец web.config
может выглядеть примерно так:
<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>
Вы в основном определяют свой <service>
тег - и снова: name=
обозначает класс, реализующий сервис, полностью соответствующий его пространству имен. Он должен содержать по крайней мере одну конечную точку - конечная точка «mex» является необязательной, но очень полезна, особенно для разработки и тестирования. Он позволяет клиенту «обнаружить» сервис и получить его описание сервиса, чтобы он мог взаимодействовать с ним.
После того, как ваша служба развернута в IIS, вы можете увидеть его в действии, используя инструмент как WCF Test Client который поставляется бесплатно с WCF или SoapUI, который является утилитой общего назначения тестирования SOAP (с бесплатной версией для вас использования).
См: [Как организовать службу WCF в IIS] (http://msdn.microsoft.com/en-us/library/ms733766.aspx) - независимо от того, является ли это 'localhost' или любым другим сервером совершенно неуместным - просто следуйте этим шагам. –