Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 两个WebServiceHost实例_C#_Wcf_Swagger_Servicehost_Webservicehost - Fatal编程技术网

C# 两个WebServiceHost实例

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

我正在使用一个名为SwaggerWcf的库为承载WCF restapi的应用程序生成Swagger定义。我终于通过以下代码实现了我想要的功能:

  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的担忧。