【问题标题】:How to define configs multiple endpoints for a WCF self-hosted service?如何为 WCF 自托管服务定义配置多个端点?
【发布时间】:2011-12-13 22:51:41
【问题描述】:

我有两个 WCF Web API 合同。在此之前,我很高兴我可以使用 TestClient。但是在我实现第二个端点之后,我必须定义端点(并且不能使用默认端点),之后,我在浏览器中什么也看不到,或者这条消息说“这个 XML 文件似乎没有任何与它。”当我尝试去端点地址时。当我尝试配置文件时也是如此(虽然我不知道如何设置“EnableTestClient = true”)。非常感谢任何帮助。

        var baseurl = new Uri("http://localhost:7000/api/v1.0");
        var config = new HttpConfiguration() { EnableTestClient = true };
        config.CreateInstance = (type, context, request) => container.Resolve(type);
        var host = new HttpServiceHost(typeof(ServiceAPI), config, baseurl);

        host.Description.Behaviors.Add(
            new ServiceMetadataBehavior() { HttpGetEnabled = true, HttpGetUrl = baseurl });            

        // Add MEX endpoint
        //host.AddServiceEndpoint(
        //  ServiceMetadataBehavior.MexContractName,
        //  MetadataExchangeBindings.CreateMexHttpBinding(),
        //  "mex"
        //);

        //host.AddServiceEndpoint(typeof(IStatAPI), new WebHttpBinding(), "/stat");
        //host.AddServiceEndpoint(typeof(IAlarmAPI), new WebHttpBinding(), "/alarm");            

        host.Faulted += (s, e) => Debug.WriteLine(e);            

        host.Open();

【问题讨论】:

    标签: wcf c#-4.0 endpoint wcf-web-api wcftestclient


    【解决方案1】:

    我不认为应该使用多个端点来公开不同的 API。它们用于公开具有不同绑定的相同合同。 您应该为每个 API 创建一个新主机。不过,您可以在它们之间共享配置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-19
      • 1970-01-01
      • 2011-08-18
      • 1970-01-01
      • 2014-05-05
      相关资源
      最近更新 更多