最近、Windows Server 2008 で IIS 7.5 を実行する開発 Web サーバーに 4.5 フレームワークをインストールしました。インストール後、2 つの Web サービスで同じエラーが発生し始めました。これらの Web サービスは、MS REST スターター キットを使用して構築されました。これが私が得ているエラーです。
バインド インスタンスは既にリッスン URI に関連付けられています。2 つのエンドポイントが同じ ListenUri を共有する場合は、同じバインディング オブジェクト インスタンスも共有する必要があります。競合する 2 つのエンドポイントは、AddServiceEndpoint() 呼び出し、構成ファイル、または AddServiceEndpoint() と構成の組み合わせで指定されました。
これは、構成ファイルの system.service モデル セクションのコピーです。
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
<bindings>
<webHttpBinding>
<binding>
<security mode="Transport" />
</binding>
</webHttpBinding>
<wsHttpBinding>
<binding name="EnterpriseIdentityBinding" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text"
textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<reliableSession ordered="true" inactivityTimeout="00:10:00"
enabled="false" />
<security mode="TransportWithMessageCredential">
<transport clientCredentialType="None" proxyCredentialType="None"
realm="" />
<message clientCredentialType="UserName" negotiateServiceCredential="true"
algorithmSuite="Default" />
</security>
</binding>
</wsHttpBinding>
</bindings>
<client>
<endpoint address="https://betaapps/EnterpriseIdentity/V1/UserService.svc"
binding="wsHttpBinding" bindingConfiguration="EnterpriseIdentityBinding"
contract="UserServiceWCF.IUserService" name="wsSecureUsers" />
<endpoint address="https://betaapps/EnterpriseIdentity/V1/RoleService.svc"
binding="wsHttpBinding" bindingConfiguration="EnterpriseIdentityBinding"
contract="RoleServiceWCF.IRoleService" name="wsSecureRoles" />
</client>
<standardEndpoints>
<webHttpEndpoint>
<standardEndpoint name="" helpEnabled="true" automaticFormatSelectionEnabled="true"/>
</webHttpEndpoint>
</standardEndpoints>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceAuthorization principalPermissionMode="Custom">
<authorizationPolicies>
<add policyType="Hsmv.Web.Security.IdentityModel.HttpContextWithRolesPolicy, Hsmv.Web.Security" />
</authorizationPolicies>
</serviceAuthorization>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
.Net 4.5 をインストールした後にこのエラーが発生する理由は何ですか?
このセクションを削除しようとしたことを付け加えておきますが、それがなくても機能します。
<webHttpBinding>
<binding>
<security mode="Transport" />
</binding>
</webHttpBinding>
このサービスはsslで実行されるため、これを使用します。WCF 4.5 はバインドとエンドポイントを作成しようとするため、web.config に含める必要はないと聞きました。そこで、このセクションは WCF によって自動的にビルドされ、必要ないのではないかと考えました。それとも私の考えが間違っていますか?ありがとう!