我有两个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();
答案 0 :(得分:4)
我不相信应该使用多个端点来公开不同的API。它们用于使用不同的绑定来暴露相同的合同。 您应该为每个API创建一个新主机。您可以在它们之间共享配置。