gpt4 book ai didi

c# - 为什么以下配置的 WCF 服务不起作用?

转载 作者:行者123 更新时间:2023-11-30 17:00:34 26 4
gpt4 key购买 nike

我有一个带有以下配置文件的 WCF 服务。即使我指定了 clientCredentialType = None,WCF 服务(来自 VS2013)也会抛出异常,指出未指定证书。

为什么会这样?是否仅当 clientCredentialType 设置为 Certificate 时才需要证书。

<system.serviceModel>
<bindings>
<wsHttpBinding>
<binding>
<security mode="Message">
<message clientCredentialType="Windows"/>
</security>
</binding>
</wsHttpBinding>
</bindings>
<services>
<service name="WCFBindingwshttpBinding.Service1">
<endpoint address="" binding="wsHttpBinding" bindingConfiguration="" contract="WCFBindingwshttpBinding.IService1">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="http://localhost:8733/Design_Time_Addresses/WCFBindingwshttpBinding/Service1/" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior>
<!-- To avoid disclosing metadata information,
set the values below to false before deployment -->
<serviceMetadata httpGetEnabled="True" httpsGetEnabled="True"/>
<!-- To receive exception details in faults for debugging purposes,
set the value below to true. Set to false before deployment
to avoid disclosing exception information -->
<serviceDebug includeExceptionDetailInFaults="False" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>

最佳答案

我认为您收到错误是因为您没有指定服务器证书。

我记得,WCF 在使用消息加密 (<security mode="Message">) 时需要传输级安全,以便安全地交换“共享 secret ”并建立安全上下文。因此,由于您使用的是 WSHttpBinding , 然后服务器证书用于建立安全通道。

以下链接提供了很好的相关信息:
WCF message security without certificate and windows auth

关于c# - 为什么以下配置的 WCF 服务不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22047642/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com