簡體   English   中英

WCF自定義端點-影響綁定嗎?

[英]WCF Custom endpoints - Affecting Bindings?

我有一個自托管WCF服務和客戶端。
客戶端沒有服務引用,我已通過編程將其鏈接到端點。

客戶端和服務中的綁定都設置為BasicHttpBinding

服務

Uri baseAddress = new Uri("http://localhost:8733/Design_Time_Addresses/DSCentralService/Service1/");

DSCentralService.Service1 contentServer = new DSCentralService.Service1();

//initialise the servicehost
centralSvrHost = new ServiceHost(typeof(DSCentralService.Service1), baseAddress);

//add bindings
centralSvrHost.AddServiceEndpoint(
      typeof(DSCentralService.IService1), 
      new BasicHttpBinding(), 
      baseAddress
);

客戶

serviceFactory = new ServiceFactory<DSCentralService.IService1>();

String serviceAddress="http://localhost:8733/Design_Time_Addresses/DSCentralService/Service1/";

iContentServer = serviceFactory.GetService(serviceAddress);

public class ServiceFactory<T> where T : class
{
    private T _service;

    public T GetService(string address)
    {
        return _service ?? (_service = GetServiceInstance(address));
    }

    private static T GetServiceInstance(string address)
    {               
        BasicHttpBinding basicBinding = new BasicHttpBinding();
        basicBinding.Name = "DSCentralSvr";
        basicBinding.TransferMode = TransferMode.Streamed;
        basicBinding.MessageEncoding = WSMessageEncoding.Mtom;
        basicBinding.MaxReceivedMessageSize = 10067108864;
        basicBinding.SendTimeout = new TimeSpan(0, 10, 0);
        basicBinding.OpenTimeout = new TimeSpan(0, 10, 0);
        basicBinding.CloseTimeout = new TimeSpan(0, 10, 0);
        basicBinding.ReceiveTimeout = new TimeSpan(0, 10, 0);

        EndpointAddress endpoint = new EndpointAddress(address);

        return ChannelFactory<T>.CreateChannel(basicBinding, endpoint);
    }
}

但是在調試后,我收到了以下常見錯誤:

客戶端和服務綁定可能不匹配

客戶端或服務的任何配置文件中都沒有綁定設置,以避免與編程設置沖突。

我有什么想念的嗎,以編程方式執行此操作是必需的嗎? 是什么導致這種不匹配?

您使用默認的BasicHttpBinding托管服務,這意味着TransferMode Buffered和MessageEncoding Text

在您的客戶端中,您分別使用StreamedMtom

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM