2009-10-31 6 views

ответ

1

Посмотрите на this article on MSDN. Он содержит информацию о размещении служб WCF во всех версиях IIS.

5

1) Вам нужен виртуальный каталог IIS -> создать его с помощью диспетчера IIS

2) Вам нужен * SVC-файл, который ссылается на ваш сервис - это текстовый файл, который должен находиться внутри виртуального каталога просто создан, и это было бы что-то вроде:

<% @ServiceHost Service="YourNameSpace.YourServiceClass" 
       Language="C#" Debug="False" %> 

это работает, если ваш класс службы WCF в сборке, развернутые в «бИН» каталог ниже виртуального каталога.

Если вам посчастливилось иметь свой реальный код службы в файле «код-за» внутри директории «App_Code» (который я бы не рекомендую), то вам нужно это содержание в вашем * SVC-файл :

<% @ServiceHost Service="YourServiceClass" 
       CodeBehind="~/App_Code/YourServiceClass.cs" 
       Language="C#" Debug="False" %> 

3) тебе нужен конфиг в web.config - вы должны по крайней мере <service> тег плюс, возможно, больше, в зависимости от ваших потребностей:

<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) и просматривать «целевую страницу» вашего сервиса.

Marc