У меня есть асинхронный сервер, который получает запрос от приложений для данных, сервер порождает поток для каждого запроса, который отключается и выполняет логику, и отправляет ответ приложению по завершении.Параллельный доступ к статическому адаптеру таблицы
Логика данных поступает из другой версии программного обеспечения, предназначенной для запуска на локальной машине. Запросы обрабатываются на стороне клиентов и потоки данных с сервера SQL. По этой причине все используемые адаптеры таблицы являются статическими, что работает в этой ситуации, но вызывает некоторые проблемы для моего приложения.
Приложение запрашивает данные, но фактическая логика адаптера таблицы выполняется на сервере, поэтому мы имеем несколько потоков, обращающихся к одному и тому же адаптеру таблицы, и бросаем исключения из этого места.
Я в затруднении, я попытался создать новый адаптер для каждого уникального запроса потока, но он вызывает команду, уже используемую открытым адаптером таблицы. Я также попробовал создать новый AppDomain для функций, получающих доступ к статическому адаптеру, но в итоге они ничего не делают/сбой (не совсем уверен, поскольку я не могу их отслеживать).
Вкратце, пытаясь получить доступ к статическому адаптеру таблицы для нескольких потоков. Любые предложения были бы полезны, но переписать логику данных на самом деле невозможно. Я рад предоставить код для разных сегментов по запросу, но на данный момент это похоже на теорию.
Какой сервер? WCF имеет ConcurrencyMode. –
Это асинхронный TCP-сервер, использующий мою собственную структуру битовых пакетов. – iambeanie