powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / webservice+ado.net- асинхронный вызов sqlserver
3 сообщений из 3, страница 1 из 1
webservice+ado.net- асинхронный вызов sqlserver
    #34395280
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сделал вебсервис, у него есть методы:

search(string str){/*асинхронный запуск процедуры*/}
getstate(){return g_static_IsFinished;}
getresult(){return g_static_DataSet;}

идея такая: поскольку search может работать даже несколько минут, то в нем используется асинхронный вызов хранимой процедуры.

Далее клиентское приложение время от времени проверяет состояние выполняемого запроса дергая getstate(), и если он вернет true, то забирает результирующий набор getresult().

Есть нескоько вопросов:

1. все это работает, если объявить static g_static_IsFinished и g_static_DataSet.
Иначе клиентский вызов скажем getstate() дает другое значение.
Может другим способом обойти или и так хорошо?

2. предполагается, что это используется разными клинескими приложениями одновременно, тогда нужно, чтобы каждый клиент имел свои асинхронные результаты. Как такое реализовать лучше?
...
Рейтинг: 0 / 0
webservice+ado.net- асинхронный вызов sqlserver
    #34398997
+2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
+2
Гость
Не совсем понятно, почему Вы пишете в этот форум. Где тут у Вас используется Ado.Net?
...
Рейтинг: 0 / 0
webservice+ado.net- асинхронный вызов sqlserver
    #34399046
Фотография Roman S. Golubin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Зачем нужен getstate() - сразу же просите ответ и в случае, если ответ еще не получен, возвращайте соответствующее исключение.
2. Совершенно непонятно, как у Вас организована сессионность. Польователь ответ может попросить через неделю?
3. Сервер баз данных у Вас какой используется? Если MS SQL Server 2005, то в нем есть очереди сообщений - используйте их.
3.1. Запрос на поиск начинает диалог и отправляет сообщение сервису поиска (помещает сообщение с заданием в очередь сервиса поиска).
3.2. С другой стороны очереди находится Ваша процедура - она выполняет поиск и отправляет сообщение о результате работы процедуры (помещает сообщение в очередь сервиса клиента).
3.3.Затем клиент читает очередь сообщений сервиса клиента, указывая идентификатор диалога, который был начат в п.3.1.
3.3.а. Если сообщение получено, диалог завершается и результат отдается клиенту.
3.3.б. Если сообщение не получено, генерируется соответствующее исключение.

4. Если сервер не MS SQL 2005, то можете почитать в MSDN про MSMQ.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / webservice+ado.net- асинхронный вызов sqlserver
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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