小编Sil*_* Me的帖子

WCF:未提供服务证书.在ServiceCredentials中指定服务证书

我正在尝试创建一个使用MembershipProviderfor身份验证的WCF服务.因为它是一个内部服务,我目前对应用传输级别安全性(HTTPS)不感兴趣,我想(现在)在没有证书的情况下这样做.此外,这将使推出服务变得复杂,我希望稍后这样做.我已经构建了一个基本配置(即使没有配置MembershipProvider,但WCF一直在向我抛出以下异常:

未提供服务证书.在ServiceCredentials中指定服务证书.

这是我的配置:

<system.serviceModel>
  <bindings>
    <ws2007HttpBinding>
      <binding name="Service1WS2007HttpBindingConfig">
        <security mode="Message">
          <transport clientCredentialType="None" />
          <message clientCredentialType="UserName" />
        </security>
      </binding>
    </ws2007HttpBinding>
  </bindings>
  <services>
    <service name="WcfService1.Service1">
      <endpoint address="http://localhost:9800/Service1.svc"
        binding="ws2007HttpBinding"
        bindingConfiguration="Service1WS2007HttpBindingConfig"
        contract="WcfService1.IService1" />
    </service>
  </services>
  <behaviors>
    <serviceBehaviors>
      <behavior name="">
        <serviceMetadata httpGetEnabled="true" httpsGetEnabled="false" />
        <serviceDebug includeExceptionDetailInFaults="false" />
      </behavior>
    </serviceBehaviors>
  </behaviors>
  <serviceHostingEnvironment multipleSiteBindingsEnabled="false">
    <serviceActivations>
      <add relativeAddress="Service1.svc" service="WcfService1.Service1" />
    </serviceActivations>
  </serviceHostingEnvironment>
</system.serviceModel>
Run Code Online (Sandbox Code Playgroud)

Stacktrace异常:

[InvalidOperationException:未提供服务证书.在ServiceCredentials中指定服务证书.]
System.ServiceModel.Security.ServiceCredentialsSecurityTokenManager.CreateServerX509TokenProvider()+ 12382737 System.ServiceModel.Security.ServiceCredentialsSecurityTokenManager.CreateLocalSecurityTokenProvider(RecipientServiceModelSecurityTokenRequirement recipientRequirement)+63
System.ServiceModel.Security.ServiceCredentialsSecurityTokenManager.CreateSecurityTokenProvider(SecurityTokenRequirement requirement)+48
System.ServiceModel.Security. ServiceCredentialsSecurityTokenManager.CreateTlsnegoServerX509TokenProvider(RecipientServiceModelSecurityTokenRequirement recipientRequirement)191
System.ServiceModel.Security.ServiceCredentialsSecurityTokenManager.CreateTlsnegoSecurityTokenAuthenticator(RecipientServiceModelSecurityTokenRequirement recipientRequirement,布尔requireClientCertificate,SecurityTokenResolver&sctResolver)683
System.ServiceModel.Security.ServiceCredentialsSecurityTokenManager.CreateSecurityTokenAuthenticator(SecurityTokenRequirement tokenRequirement,西沽 rityTokenResolver&outOfBandTokenResolver)12383208 System.ServiceModel.Security.SessionRenewSecurityTokenManager.CreateSecurityTokenAuthenticator(SecurityTokenRequirement tokenRequirement,SecurityTokenResolver&outOfBandTokenResolver)81
System.ServiceModel.Security.SymmetricSecurityProtocolFactory.OnOpen(时间跨度超时)181 …

.net c# wcf .net-4.0

13
推荐指数
1
解决办法
2万
查看次数

标签 统计

.net ×1

.net-4.0 ×1

c# ×1

wcf ×1