我正在嘗試使用客戶端 Blazor 顯示現有 WCF 服務提供的一些數據。我能夠添加連接的服務引用,生成代理。但是當我嘗試像這樣調用它時:var client = new SoftConServiceClient();
await client.PingAsync(new PingRequest());有很多與 MonoTouch 相關的錯誤。通過深入研究 Mono 的代碼,可以NotImplementedException發現System.ServiceModel.DnsEndpointIdentity.我是否可以假設現在無法從 Blazor 客戶端調用舊版 WCF 服務?如果不是這種情況,任何人都可以分享有關如何正確執行此操作的指南嗎?額外問題:如果這是不可能的,那么解決這個問題的最佳選擇是什么?修改 WCF 使其成為 REST-ish 還是直接放棄它并實現 .net core api 服務?預先非常感謝!
4 回答

萬千封印
TA貢獻1891條經驗 獲得超3個贊
Core 對 WCF 的支持不是很好,而是根本不支持。特別是在身份驗證和安全性方面,例如使用 WS* 綁定創建的服務。但對于使用 BasicHttpBinding 或 Restful 風格的服務創建的服務。我們可以在基于 Core 的客戶端上正常調用它們,無論是使用客戶端代理類還是 Channel Factory。

30秒到達戰場
TA貢獻1828條經驗 獲得超6個贊
我是否可以假設現在無法從 Blazor 客戶端調用舊版 WCF 服務?
是的,你是對的... Blazor 客戶端不支持 WCF,將來也不會支持。微軟決定從.Net 5.0開始停止支持它,并建議改用Web Api。
根據您在 WCF 上的投入程度,您可能會轉向 Web API,也許是 gRPC,或者繼續使用 WCF,希望社區移植和支持 WCF 的努力能夠成功。

弒天下
TA貢獻1818條經驗 獲得超8個贊
我能夠使用在 .Net 5 中使用 SoftCore 發現的技術來放置 WCF 4.7.2。我還可以使用 SoftCore 托管示例 Blazor Server。
- 4 回答
- 0 關注
- 202 瀏覽
添加回答
舉報
0/150
提交
取消