Вопрос

Я разработал образец сервиса 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) и посмотрите "целевую страницу" вашего сервиса.

Марк

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top