1
我已经使用WCF Web API实现了一个restful服务,并且我想在IIS中发布它。 在开发过程中,我使用服务作为控制台应用程序,所有配置都是通过API完成的。 现在我试图发布服务作为ASP.NET应用程序,我看到的唯一方法是以某种方式将所有配置移动到Web配置文件。将WCF Web API配置文件添加到IIS
这里的编码配置:
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?
任何帮助表示赞赏。
ServiceHost来自WCF而不是来自WCF Web API的权利?通过使用ServiceHost,我将失去WCF Web API提供的所有优点。 – aumanets
是的,我认为你是对的。 WCF Web API提供了ServiceHost的'WebServiceHost'味道,但它不像普通的WebAPI那样多......他们确实给一个已经复杂的框架添加了一些复杂性,不是吗? :) – CodingWithSpike
他们已经添加了一个简单和更有组织的方式来创建REST式服务。 WCF Web API只是预览版4,我相信这个API将在未来得到改进。我想现在我会坚持使用服务器端的硬编码版本。谢谢,感谢你的帮助。 – aumanets