Файл конфигурации веб-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.asaxApplication_Start() метод. Все методы Global.asax будут вызываться в WCF так же, как и для ASP.NET.

Или вы можете подключить свои услуги к обычаю ServiceHostFactory а также ServiceHost в нем есть вся конфигурация (это подход, который я использую в моем текущем приложении).

Другие вопросы по тегам