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