我的客戶端應用程式通過埠 8080 上的 HAProxy 服務器進行 WCF 呼叫,然后將流量轉發到埠 770 上的應用程式服務器,這是應用程式服務器所期望的埠。但是,WCF 正在檢測埠 8080 與 770 的不匹配并報告以下錯誤:
由于 EndpointDispatcher 的 AddressFilter 不匹配,接收方無法處理帶有 To 'net.tcp://172.31.31.219:8080/MyEndpoint' 的訊息。檢查發送方和接收方的 EndpointAddresses 是否一致。
我如何支持這種情況?如果我更新客戶端以在埠 770 上發送流量,一切正常,但這是我想要支持不同埠的特殊場景。
uj5u.com熱心網友回復:
我想支持不同的埠。
也許您可以在服務上配置多個端點并從客戶端實作與每個端點的通信,您可以查看教程。
https://docs.microsoft.com/en-us/dotnet/framework/wcf/samples/multiple-endpoints
由于 EndpointDispatcher 的 AddressFilter 不匹配,接收方無法處理帶有 To 'net.tcp://172.31.31.219:8080/MyEndpoint' 的訊息。檢查發送方和接收方的 EndpointAddresses 是否一致。
您可以查看此帖子以獲取此錯誤的解決方案。
如果服務只有一個端點,一種快速的解決方法是使用
[ServiceBehavior(AddressFilterMode=AddressFilterMode.Any)]
這將關閉地址過濾器。
或者在 SOAP 標頭中包含以下內容以訪問 Web 服務:
<soap:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
<wsa:To>http://example.com/service</wsa:To>
</soap:title>
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/424802.html
標籤:wcf
下一篇:Global.asax.csApplication_BeginRequest-拋出WebFaultException
