WCF параллельное выполнение запросов
От: GTmAster  
Дата: 21.02.12 04:11
Оценка:
Здравствуйте все!
Осваиваю wcf, столкнулся с проблемой. Гугление не помогло.
Имеется wcf сервис, поднимаемый в обычном managed-приложении.

Uri address = new Uri("http://localhost:8000");

service = new ServiceHost(typeof(ManagerService), address);
                        
try
{
    service.AddServiceEndpoint(typeof(ManagerService), new BasicHttpBinding(), "Manager");
    ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
    smb.HttpGetEnabled = true;

    service.Description.Behaviors.Add(smb);
    service.Open();

    log.Debug("Запущен сервис");
}


Сервиc представлен как:
    [ServiceContract]
    class ManagerService
    {
        //...

        [OperationContract]
        public string GetModuleCalc(string ModuleName, string param)
        {
             //...
        }

        [OperationContract]
        public void SayHello(string MyUri, string[] MyModules, Classes.ComputerParams MyComputer)
        {
             //...
        }

        [OperationContract]
        public string Calc(string module, string param)
        {
             //...
        }
    }


Проблема в том, что пока сервис не выполнит один запрос, он не начинает выполнять второй и т.д. То есть запросы выполняются строго по очереди без параллельной обработки. Как сделать так, чтобы сервис мог обрабатывать запросы параллельно?
Пробовал играться со свойствами ServiceBehavior, а именно с ConcurrencyMode и InstanceContextMode, но желаемого поведения не получил, сервис все равно выполняет запросы строго по очереди.
wcf параллельное выполнение .net
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.