C# 两个WebServiceHost实例
我正在使用一个名为SwaggerWcf的库为承载WCF restapi的应用程序生成Swagger定义。我终于通过以下代码实现了我想要的功能:C# 两个WebServiceHost实例,c#,wcf,swagger,servicehost,webservicehost,C#,Wcf,Swagger,Servicehost,Webservicehost,我正在使用一个名为SwaggerWcf的库为承载WCF restapi的应用程序生成Swagger定义。我终于通过以下代码实现了我想要的功能: var swaggerHost = new WebServiceHost(typeof(SwaggerWcfEndpoint)); var endpoint = new WebHttpEndpoint( ContractDescri
var swaggerHost = new WebServiceHost(typeof(SwaggerWcfEndpoint));
var endpoint =
new WebHttpEndpoint(
ContractDescription.GetContract(typeof(ISwaggerWcfEndpoint)),
new EndpointAddress("http://localhost/docs"))
{
AutomaticFormatSelectionEnabled = true,
FaultExceptionEnabled = true
};
// required to generate the swagger content
var e = new SwaggerWcfEndpoint();
swaggerHost.AddServiceEndpoint(endpoint);
var apiHost = new WebServiceHost(typeof(RestDataInterface));
var endpoint2 =
new WebHttpEndpoint(
ContractDescription.GetContract(typeof(IRestDataInterface)),
new EndpointAddress("http://localhost/api"))
{
AutomaticFormatSelectionEnabled = true,
FaultExceptionEnabled = true
};
apiHost.AddServiceEndpoint(endpoint2);
swaggerHost.Open();
apiHost.Open();
我现在的问题是:这样做对吗?如您所见,我正在创建两个WebServiceHost实例。一个用于炫耀,一个用于我的实际API。虽然这似乎很好,但我是否遗漏了什么?此API旨在实现快速,但不需要处理许多并发用户
谢谢您还需要将webhttpBehavior添加到端点的行为中。有关webhttpBehavior的详细信息,您可以参考以下链接:为什么我需要它?这上面的工程完全一样,我希望它。不管怎样,这都不能回答我最初对运行两个WebServiceHost的担忧。