powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / WCF: потеря вызовов
3 сообщений из 3, страница 1 из 1
WCF: потеря вызовов
    #37644720
justas_f
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток. Есть проблема, может кто чего посоветует. Дано: есть моя аппликация на C#, которая, помимо основной работы, отвечает на команды от клиентов. Команды приходят через WSF RESTful сервис, который хостится вот так:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
        

public static bool StartHosting(string serviceURL, string serviceName)
        {
            try
            {
               

                Type serviceType = typeof(CommunicationManager);
                string serviceUrl2 = serviceURL + @"/" + serviceName;

                currentHost = new ServiceHost(serviceType, new Uri[] { new Uri(serviceURL + @"/" + serviceName) });

                WebHttpBinding webBinding = new WebHttpBinding(); // This type is necessary for REST


                webBinding.CrossDomainScriptAccessEnabled = true; // This line allows us to use JSONP

                ServiceEndpoint serviceEndpoint = new ServiceEndpoint(ContractDescription.GetContract(typeof(CommunicationManager)),
                    webBinding,
                    new EndpointAddress(new Uri(serviceUrl2, UriKind.Absolute)));

                WebHttpBehavior whb = new WebHttpBehavior();
                whb.HelpEnabled = true; 


                whb.AutomaticFormatSelectionEnabled = true;
                serviceEndpoint.Behaviors.Add(whb);


                currentHost.AddServiceEndpoint(serviceEndpoint);
                currentHost.Open();
                return true;

            }
            catch (Exception)
            {
                throw;
            }

        ...
        // Собственно, сервис
        [OperationContract]
        [WebGet(ResponseFormat = WebMessageFormat.Json)]
        public bool Delete(string FileSetID)
        {
            logger.LogEvent("Got a command Delete for Fileset with ID " + FileSetID + clientIDText);
            // ...some code...
            return true;
        }
        }


Клиентом выступат веб-аппликация, написанная на PHP + JS. Все работает замечательно, кроме одного случая: если юзер на экране браузера выбирает сразу 10 или больше действий и посылает их (почти одновременно), то до веб-сервиса доходит 5-6 вызовов (как видно по логу), не больше. Остальные теряются.

Мы решили это чинить на стороне клиента (вызывать последовательно, а не одновременно), но очень интересно узнать, а как это можно поправить на стороне сервиса?

Заранее спасибо!
...
Рейтинг: 0 / 0
WCF: потеря вызовов
    #37645308
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
justas_f,

а какое у тебя servicebehavior у контракта сервиса?
...
Рейтинг: 0 / 0
WCF: потеря вызовов
    #37645553
justas_f
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlexeiKjustas_f,

а какое у тебя servicebehavior у контракта сервиса? Все по default-у. Я пробовал играться с InstanceContextMode (ставить в PerCall), но результата это не изменило.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / WCF: потеря вызовов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]