Настройка службы WCF для работы на IIS 6 - PullRequest
1 голос
/ 02 июня 2011

После развертывания в рабочей среде я получаю только 404. Файл не найден.

Служба должна быть настроена как виртуальный каталог (/ v1).Он имеет собственный пул приложений.

Я включил ASP .Net 4.0 согласно http://www.jamesgoodfellow.com/blog/post/IIS-60---HTTP-404---File-not-found-Internet-Information-Services.aspx

Я добавил подстановочный знак и удалил встроенную защиту Windows согласно хостингу .net 4.0 RESTСлужба WCF в IIS 6

Это все еще не работает ...

Вот часть ServiceModel моего web.config:

    <system.serviceModel>
    <extensions>
        <behaviorExtensions>
            <add name="restHttpBehavior" type="--hidden for security purposes--, Version=0.8.0.0, Culture=neutral, PublicKeyToken=null"/>
        </behaviorExtensions>
    </extensions>
    <services>
        <service name="--hidden for security purposes--" behaviorConfiguration="MetadataBehavior">
            <host>
                <baseAddresses>
                    <add baseAddress="http://localhost/v1/api.svc"/>
                </baseAddresses>
            </host>

            <endpoint behaviorConfiguration="WebBehavior" binding="webHttpBinding" bindingConfiguration="restNoSSL" contract="--hidden for security purposes--"/>
            <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
        </service>
    </services>
    <behaviors>
        <endpointBehaviors>
            <behavior name="WebBehavior">
                <restHttpBehavior/>
            </behavior>
        </endpointBehaviors>
        <serviceBehaviors>
            <behavior name="MetadataBehavior">
                <serviceMetadata httpGetEnabled="true"/>
                <serviceDebug includeExceptionDetailInFaults="false"/>
            </behavior>
        </serviceBehaviors>
    </behaviors>
    <bindings>
        <webHttpBinding>

            <binding name="restNoSSL">
            </binding>
        </webHttpBinding>
    </bindings>
</system.serviceModel>

Пожалуйста, помогите!!

Ответы [ 2 ]

1 голос
/ 06 февраля 2013

Увидел ту же проблему, но для меня это было потому, что подстановочный знак ISAPI использовал неправильный файл ISAPI.

эти версии существуют

64bit .net 2.0 aspnet_isapi.dll

32-разрядная .net 2.0 aspnet_isapi.dll

64-разрядная .net 4.0 aspnet_isapi.dll

32-разрядная .net 4.0 aspnet_isapi.dll

32-разрядная .net 4.0 aspnet_isapi.dll может бытьприменяется и все еще позволяет моему сайту работать.

1 голос
/ 05 июня 2011

Оказывается, что фильтр ISAPI фактически блокировал службу. Поэтому я удалил шаблон, добавил встроенные средства защиты заднего стекла - и теперь веб-сайт работает.

...