Windows 認証を有効にして、イントラネット アプリケーションの匿名認証を無効にしようとしています。IIS7 で既に Windows 認証を有効にし、匿名を無効にしており、Windows 認証を使用するように Web.Config を設定しています。
<system.web>
<authentication mode="Windows" />
<compilation debug="true" targetFramework="4.0" />
</system.web>
アプリケーションをデプロイして実行すると、ページ ヘッダーだけが読み込まれます。Chrome または IE で Service.svc ファイルに移動すると、次のエラーが表示されます。
このサービスのセキュリティ設定には「匿名」認証が必要ですが、このサービスをホストする IIS アプリケーションでは有効になっていません。
System.NotSupportedException: このサービスのセキュリティ設定には「匿名」認証が必要ですが、このサービスをホストする IIS アプリケーションでは有効になっていません。
これは Web.Config または Service.svc.cs の問題だと思いますが、特定できません。これは、1 つのサービスに対してのみ発生します。IIS7 で匿名認証を有効にすると問題は解決しますが、無効にする必要があります。
私の ServiceRefernces.ClientConfig には、次のものがあります。
<configuration>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IService" maxBufferSize="2147483647"
maxReceivedMessageSize="2147483647">
<security mode="None" />
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://OHARA-WIN7/nightlyweb/Service.svc"
binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_IService"
contract="ServiceReference2.IService"
name="BasicHttpBinding_IService" />
</client>
</system.serviceModel>
</configuration>
TransportClientCredentialType を Ntlm に設定するように言われている投稿をたくさん見てきましたが、VisualStudio はこの要素を認識しません。