Шаги по размещению службы WCF в IIS5.1 (XP)
Вопрос
Я разработал образец сервиса WCF.Я хотел бы знать шаги по размещению этого в IIS 5.1 (XP)
Решение
Взгляните на эта статья о MSDN.В нем содержится информация о размещении служб WCF во всех версиях IIS.
Другие советы
1) Вам нужен виртуальный каталог IIS -> создайте его с помощью IIS Manager
2) Вам нужен файл *.svc, который ссылается на ваш сервис - это текстовый файл, который должен находиться внутри вашего только что созданного виртуального каталога, и это было бы что-то вроде:
<% @ServiceHost Service="YourNameSpace.YourServiceClass"
Language="C#" Debug="False" %>
Это работает, если ваш класс обслуживания WCF находится в сборке, развернутой в каталоге "bin" под вашим виртуальным каталогом.
Если у вас случайно есть ваш фактический сервисный код в файле "code-behind" внутри вашего каталога "App_Code" (который я бы не рекомендую), тогда вам понадобится это содержимое в вашем файле *.svc:
<% @ServiceHost Service="YourServiceClass"
CodeBehind="~/App_Code/YourServiceClass.cs"
Language="C#" Debug="False" %>
3) Вам нужен ваш конфиг в web.config - вам нужен как минимум <service>
tag plus возможно больше в зависимости от ваших потребностей:
<system.serviceModel>
<services>
<service name="YourNameSpace.YourServiceClass"
behaviorConfiguration="MetadaTaEnabled">
<endpoint address=""
binding="wsHttpBinding"
contract="YourNameSpace.IYourService" />
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="MetadaTaEnabled">
<serviceMetadata httpGetEnabled="True"/>
</behavior>
</serviceBehaviors>
</behaviors>
Здесь вам нужно решить, какую привязку (протокол) использовать.
Если вы сделаете все это, и все прошло успешно, вы сможете перейти к URL-адресу вашего виртуального каталога с помощью IE (http://yourserver/virtualdirectory/YourService.svc
) и посмотрите "целевую страницу" вашего сервиса.
Марк