2

我有两个 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();
4

1 回答 1

4

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

于 2011-12-14T14:34:54.847 回答