如何从asp.net访问WCF服务?

时间:2016-07-12 12:10:57

标签: asp.net wcf wcf-security

我们在Network Service帐户下的IIS中的同一台计算机上托管WCF服务和asp.net网站。

两个站点都启用了匿名和Windows身份验证。 该服务使用WsHttpBinding

当我们从WCF Test Client调用服务时,一切正常,因为它发送常规域用户凭据,但是当asp.net调用服务时,我们得到例外:

  

类型:System.ServiceModel.Security.SecurityNegotiationException,   System.ServiceModel,Version = 4.0.0.0,Culture = neutral,   PublicKeyToken = b77a5c561934e089消息:调用者不是   通过服务验证。

似乎NT AUTHORITY\NETWORK SERVICE未经过身份验证,但我不知道原因。

这是配置部分:

  <service name="Wumte.Server.Host.EDocumentsCreationNonDual">
    <endpoint address="" binding="wsHttpBinding" contract="Wumte.Server.Host.IEDocumentsCreationNonDual" bindingConfiguration="LargeMessageWsHttpBinding">
      <identity>
        <dns value="localhost"/>
      </identity>
    </endpoint>
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
  </service>


  <wsHttpBinding>
    <binding name="LargeMessageWsHttpBinding" maxReceivedMessageSize="2147483647">
      <readerQuotas maxDepth="32" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647"/>
    </binding>        
  </wsHttpBinding>

0 个答案:

没有答案