Что использовать для обмена сообщениями с C #

Поэтому моя компания хранит много данных в базе данных foxpro, и, пытаясь обойти производительность, касаясь ее непосредственно, я думал об обмене сообщениями обо всем, что может быть сделано асинхронно для более быстрого взаимодействия с пользователем. Я начал смотреть на ActiveMQ, но не знаю, насколько хорошо C # с этим справится. Желая услышать, что думают все вы, ребята.

редактировать: это будет веб-приложение. Все, что касается этого foxpro, довольно медленно (возможно, потому, что человек, который установил его 10 лет назад, все испортил, некоторые из файлов таблиц невероятно велики). Мы копируем foxpro в sql по ночам, и большинство наших операций чтения данных в порядке, когда нам исполнилось один день, поэтому мы сосредоточены на записи. Кроме того, запись влияет на критически важную часть взаимодействия с пользователем (покупки), мы сохраняем ее в формате sql, а затем просто отправляем сообщение, чтобы она могла быть добавлена ​​в foxpro, когда это возможно. Хотелось бы, чтобы мы могли просто избавиться от foxpro, к сожалению, компания не хочет избавляться от очень старого программного обеспечения, которое они купили, и это зависит от него.

7.08.2008 00:56:41
7 ОТВЕТОВ
РЕШЕНИЕ

ActiveMQ хорошо работает с C #, используя интеграции Spring.NET и NMS. Пост с некоторыми ссылками, чтобы вы начали в этом направлении, находится здесь . Также рассмотрите возможность использования MSMQ (пространство имен System.Messaging) или решения для асинхронного обмена сообщениями на основе .NET с некоторыми опциями здесь .

8
8.08.2008 19:59:13
Этот блог больше не доступен
Faizan Mubasher 30.12.2013 09:48:48

Извините, если это не то, о чем вы просите ... Рассматривали ли вы какой-то кэш за кулисами, который немного похож на "систему корзины" при использовании асинхронных сокетов в c / c ++ с использованием winsock? По сути, он работает, принимая запросы и отправляя немедленный ответ обратно в веб-приложение, и, когда он наконец находит способ найти вашу запись, он обновляет ее в приложении через AJAX или любую другую технологию по вашему выбору. Поскольку я не программист на C #, я не могу привести какой-либо конкретный пример. Надеюсь это поможет!

0
7.08.2008 02:17:35

Использует ли приложение Fox индексы .CDX? Если это так, вы можете улучшить производительность, добавив индексы без необходимости изменения какого-либо программного кода. Однако, если он использует индексы .IDX, изменение должно быть сделано в реальном приложении.

0
22.08.2008 17:30:58

Стоит отметить, что проект с открытым исходным кодом ActiveMQ определяет C # API для обмена сообщениями под названием NMS, который позволяет разрабатывать на основе единого C # / .Net API, который затем может использовать различные серверные части для обмена сообщениями, такие как

  • ActiveMQ
  • MSMQ
  • EMS Тибко
  • любой провайдер STOMP
  • любой провайдер JMS через StompConnect
1
16.09.2008 14:12:53

Так как проблема с записями, я бы больше смотрел на> удаление <ненужных индексов в таблицах. Как это часто бывает в RDBMS, каждый индекс в таблице FoxPro замедляет операцию записи, так как индексы должны быть обновлены, и поскольку вы не читаете напрямую из таблицы (или предположительно напрямую запрашиваете) из таблицы, вам не нужно много индексов. , Вы также можете посмотреть на любые триггеры или правила полей в таблицах, так как они могут замедлять операцию записи. Убедитесь, что ваша ссылочная целостность все еще сохраняется, хотя ..

0
17.09.2008 23:40:26

MSMQ (Microsoft Message Queuing) может быть отличным выбором. Он является частью ОС и представлен в качестве дополнительного компонента (его можно установить через «Установка и удаление программ» или «Компоненты Windows»), то есть он бесплатный (если вы, конечно, уже заплатили за Windows). MSMQ предоставляет Win32 / COM и System.Messaging API. Более современные каналы очередей Windows Communication Foundation (также известные как Indigo) также используют MSMQ. Обратите внимание, что MSMQ не поддерживается в домашних SKU Windows (XP Home и Vista Home)

4
27.12.2019 07:48:43

Вы можете посмотреть на MSMQ. Он может использоваться .NET и VFP, но вам нужно будет переписать их. Вот статья, в которой рассказывается, как использовать MSMQ из VFP. https://docs.microsoft.com/en-us/previous-versions/visualstudio/foxpro/ms917361(v=msdn.10)

1
27.12.2019 09:31:14