ASP.netプロジェクトに(通常の)WCFサービスを備えたSilverlight5Prismアプリケーションがあります。ローカルホストでホストするためにIIS7.5を使用しています。私はのすべての手順に従いました
方法:Windows認証を使用してSilverlightアプリケーションのサービスを保護する
方法:Silverlightアプリケーション用のASP.NETで安全なサービスをホストする
しかし、Windows認証を機能させることができません。IISで匿名認証をオフにするとThe remote server returned an error: NotFound.
、WCFサービスが見つからないため、アプリケーションは例外をスローします。
Visual Studioでサービス参照を更新しようとすると、エラーが発生しますSecurity settings for this service require 'Anonymous' Authentication but it is not enabled for the IIS application that hosts this service.
匿名認証をオンにすると、サービスは機能しますが、Windowsユーザーの資格情報を取得できません。私のブラウザ(IE 8)は、統合Windows認証を使用し、ローカルイントラネットに自動的にログオンするように設定されています。
私は何が間違っているのですか?
これが私のIIS7.5構成です。アプリケーションプールは統合モードで実行されています。
web.config:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.web>
<compilation debug="true" />
<authentication mode="Windows" />
</system.web>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
</system.serviceModel>
</configuration>
ServiceReferences.ClientConfig:
<configuration>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_ISecurityService" maxBufferSize="2147483647"
maxReceivedMessageSize="2147483647">
<security mode="TransportCredentialOnly" />
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://localhost:85/SecurityService/SecurityService.svc"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ISecurityService"
contract="SecurityServiceReference.ISecurityService" name="BasicHttpBinding_ISecurityService" />
</client>
</system.serviceModel>
</configuration>