我已经使用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?
感谢任何帮助。
答案 0 :(得分:1)
如果您想保留现有配置,可以将所有配置设置内容放入方法中,然后使用global.asax
Application_Start()
方法调用它。所有Global.asax方法都将在WCF中调用,就像在ASP.NET中一样。
或者,您可以将服务连接到具有其中所有配置的自定义ServiceHostFactory
和ServiceHost
(这是我在当前应用中使用的方法)。