Если вы используете версию MS Access, которая предлагает тип вычисляемого поля, эта задача является относительно простой и не требует запросов или кода.
Просто сконфигурируйте свое поле In Stock
, чтобы оно было Вычислено , рассчитанное по выражению:
[Quantity] > 0
Установите Тип результата на Yes/No
чтобы указать, что результатом будет булево поле.
Формат может быть установлен в соответствии с вашим приложением (Yes/No
я бы предположил).
Читать сообщение походит на единственную причину, Вы думаете, что MSMQ не подходит, то, потому что кто-то думает, что это - "старая школа". Я не думал бы, что это - достаточно хорошая причина не использовать его, так как похоже, что Ваша компания имеет опыт с ним, таким образом, не было бы никакой кривой обучения, и это означает простое внедрение и обслуживание.
Плюс, MSMQ отлично обратился бы ко всем проблемам, Вы упомянули, что имеете. Так, если нет другая "реальная" причина не использовать его, я думал бы палка с MSMQ.
Я предложил бы изучить WCF, можно настроить его для определения персистентного, поставленного в очередь обмена сообщениями, и он использует технологию MSMQ под покрытиями. Абстракция/интерфейс WCF и технология должны быть вокруг в течение хорошего долгого времени.
Я соглашаюсь с moose-in-the-jungle, что MSMQ, вероятно - то, с чем необходимо придерживаться.
Я, возможно, исследовал бы некоторый альтернативный API, которые используют MSMQ под покрытием, как nServiceBus от Udi Dahan.
Вы изучили Сервисного Брокера в SQL Server? Это - система организации очередей, которая использует базу данных в качестве запоминающего устройства.
У Вас есть несколько опций:
Biztalk: Это создается для гарантируемой доставки сообщений и направляющий на корпоративном уровне. Это трудно настроить, дорогой, и имеет крутую кривую обучения однако, после того как Вы включаете его, это твердо.
MSMQ: Быстрый, дешевый как в Свободном, простом в использовании, и просто работает.
Сервисный Брокер SQL. Это - шаг от MSMQ, но огромного шага вниз от Biztalk.
Основные вопросы действительно сводятся к набору функций, в котором Вы нуждаетесь. Biztalk является в значительной степени своей собственной dev средой. Принимая во внимание, что MSMQ требует, чтобы Вы создали все вокруг этого.
Это походит для Вашей целой системы, хотя, Вы могли использовать Windows Workflow для управления бизнес-логикой и просто использовать MSMQ в качестве устройства хранения данных для списка задач. Ваш рабочий процесс запустится путем получения по запросу следующего сообщения от очереди, затем определит, что сделать с ним.
Организация очередей - что-то, что Вы не хотите смешивать с собой, надеетесь на что-то с полки, которая работает, и это уже было протестировано партиями и много людей.
Вы могли посмотреть на использование брокера сообщений с открытым исходным кодом, такого как Apache ActiveMQ
В качестве альтернативы ActiveMQ (упомянутой выше) существует RabbitMQ с открытым исходным кодом. Из того, что они говорят, он прекрасно интегрируется с ASP.NET и WCF.