亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么 .net 核心不支持 TransportWithMessageCredential?

為什么 .net 核心不支持 TransportWithMessageCredential?

C#
LEATH 2022-06-19 10:25:00
我正在嘗試在 .net 核心中使用 SOAP 服務我想將具有安全模式的基本 httpbinding 設置為 TransportWithMessageCredential和 clientcredentialType 作為證書但我收到一個錯誤在此上下文中不支持綁定安全屬性“securityMode”的值“TransportWithMessageCredential”。代碼看起來像這樣var client = new SoapCustomClient();var binding = new BasicHttpBinding(BasicHttpSecurityMode.TransportWithMessageCredential);binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Certificate;client.ClientCredentials.ClientCertificate.Certificate = certCollection[0];我在這里犯了一些嚴重的錯誤嗎?有相同的解決方案嗎?[我能夠在 .net 框架中實現這一點,但不能在 .net 核心中實現]
查看完整描述

2 回答

?
炎炎設計

TA貢獻1808條經驗 獲得超4個贊

只需在添加服務引用后編輯 .csproj 文件并將這些依賴項從 4.4.* 指向 4.6.*


<ItemGroup> <PackageReference Include="System.ServiceModel.Duplex" Version="4.6.*" /> 

    <PackageReference Include="System.ServiceModel.Http" Version="4.6.*" /> 

    <PackageReference Include="System.ServiceModel.NetTcp" Version="4.6.*" /> 

    <PackageReference Include="System.ServiceModel.Security" Version="4.6.*" /> 

</ItemGroup>

并添加這個


        binding.Security.Mode = System.ServiceModel.BasicHttpSecurityMode.TransportWithMessageCredential;

        binding.Security.Message.ClientCredentialType = BasicHttpMessageCredentialType.UserName;



查看完整回答
反對 回復 2022-06-19
?
慕碼人8056858

TA貢獻1803條經驗 獲得超6個贊

這個問題在較新版本的 System.ServiceModel.* 包中得到解決(4.7.0 對我有用)。

https://github.com/dotnet/wcf/issues/4045#issuecomment-577854822


查看完整回答
反對 回復 2022-06-19
  • 2 回答
  • 0 關注
  • 140 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號