WCF Web API配置文件到IIS

时间:2011-07-07 19:19:40

标签: web-config wcf-web-api

我已经使用WCF Web API实现了一个restful服务,我想在IIS中发布它。 在开发过程中,我使用该服务作为控制台应用程序,所有配置都是通过API完成的。 现在我正在尝试将该服务发布为ASP.NET应用程序,我看到的唯一方法是以某种方式将所有配置移动到Web配置文件中。

这里是编码配置:

var cfg = HttpHostConfiguration.Create()
                .AddMessageHandlers(typeof(AllowCrossDomainRequestHandler));

using (var host = new HttpConfigurableServiceHost(typeof(RESTfulService), cfg , new Uri("http://localhost:8081")))
            {
                var endpoint = ((HttpEndpoint)host.Description.Endpoints[0]);  //Assuming one endpoint
                endpoint.TransferMode = TransferMode.Streamed;
                endpoint.MaxReceivedMessageSize = 1024 * 1024 * 10;  // Allow files up to 10MB

                host.Open();
                Console.WriteLine("Host opened at {0} , press any key to end", host.Description.Endpoints[0].Address);
                Console.ReadKey();
            }

我的web.config应如何反映此配置? 或者有没有其他方法而不是使用ASP.NET?

感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

如果您想保留现有配置,可以将所有配置设置内容放入方法中,然后使用global.asax Application_Start()方法调用它。所有Global.asax方法都将在WCF中调用,就像在ASP.NET中一样。

或者,您可以将服务连接到具有其中所有配置的自定义ServiceHostFactoryServiceHost(这是我在当前应用中使用的方法)。