Файл конфигурации веб-API WCF для IIS
Я реализовал полноценный сервис с WCF Web API и хочу опубликовать его в IIS. В процессе разработки я использовал сервис в качестве консольного приложения, и все настройки выполнялись через API. Сейчас я пытаюсь опубликовать сервис как приложение ASP.NET, и единственный способ, который я вижу, - это как-то перенести всю конфигурацию в файл веб-конфигурации.
Вот закодированная конфигурация:
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 ответ
Если вы хотите сохранить существующий конфиг, вы можете поместить все ваши настройки в метод и вызвать его из global.asax
Application_Start()
метод. Все методы Global.asax будут вызываться в WCF так же, как и для ASP.NET.
Или вы можете подключить свои услуги к обычаю ServiceHostFactory
а также ServiceHost
в нем есть вся конфигурация (это подход, который я использую в моем текущем приложении).