#wcf #silverlight-4.0 #iis-6 #asp.net-4.0 #wcf-ria-services
#wcf #silverlight-4.0 #iis-6 #asp.net-4.0 #wcf-ria-services
Вопрос:
Я размещаю приложение SL4 с использованием служб WCF RIA на IIS6 и использую проверку подлинности Windows. Журнал представляет собой что-то вроде:
/.../ClientBin/NameOfWebApp-AuthenticationDomainService.svc/binary/GetUser ... 404 0 2
После успешной предварительной настройки этого приложения на другом сервере 2003 у меня появился опыт настройки .NET Framework 4. Я имею в виду, что я использовал «aspnet_regiis», «servicemodelreg», «httpcfg» и т.д. После этого я даже создал новый веб-сайт, чтобы убедиться, что все на месте. Фактически, когда я пытаюсь получить доступ к моей реальной службе домена с помощью веб-браузера, все работает. Поэтому я считаю, что WCF настроен правильно. Я проверил:
- разрешены расширения веб-служб для .net framework версии 4
- .расширение svc настроено на версию 4 aspnet_isapi.dll
- анонимный доступ отключен, включена только встроенная проверка подлинности Windows, поскольку разрешена не более одна схема проверки подлинности.
Я не вижу причины, по которой он работает на одном сервере и не работает на другом. Дело в том, что я собираюсь выполнить эту установку на другом критически важном производственном сервере, и я должен убедиться, что не будет никаких неожиданностей.
У вас есть какие-нибудь идеи?
Дополнительная информация:
Я предполагаю, что, поскольку WCF работает в целом, существует проблема с хостом службы домена, который обрабатывает вызовы служб без файлов svc. У меня уже есть следующие настройки в моем web.config:
<system.web>
<httpModules>
<add name="DomainServiceModule" type="System.ServiceModel.DomainServices.Hosting.DomainServiceHttpModule, System.ServiceModel.DomainServices.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</httpModules>
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<add name="DomainServiceModule"
preCondition="managedHandler"
type="System.ServiceModel.DomainServices.Hosting.DomainServiceHttpModule,
System.ServiceModel.DomainServices.Hosting, Version=4.0.0.0,
Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</modules>
</system.webServer>
Кто-нибудь решил эту проблему с помощью IIS6?
Ответ №1:
Мне суждено ответить на свои собственные вопросы. Для использования установлено расширение .svc aspnet_isapi.dll недостаточно, убедитесь, что файл существует, параметр проверять не следует. Для этого и предназначен DomainServiceModule.