Файл конфигурации веб-API WCF для IIS - PullRequest
1 голос
/ 07 июля 2011

Я реализовал полноценный сервис с веб-API WCF и хочу опубликовать его в 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 Ответ

1 голос
/ 08 июля 2011

Если вы хотите сохранить существующую конфигурацию, вы можете поместить все свои настройки конфигурации в метод и вызвать его из метода global.asax Application_Start().Все методы Global.asax будут вызываться в WCF так же, как и для ASP.NET.

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

...