Как реализовать совместную память в приложении Windows и веб-приложении? - PullRequest
0 голосов
/ 16 декабря 2011

Я делаю Windows-приложение и веб-приложение в .NET версии 4.0.В этом приложении я отправляю запрос данных со страницы .aspx в приложение Windows. Приложение Windows имеет коллекцию данных. Я хочу отправить ответ на этот запрос с соответствующими данными из коллекции.Из веб-приложения я запрашиваю данные для конкретного пациента и для этого я отправляю PatientID в строке запроса.В приложении Windows у меня есть коллекция как

class StreamDataInfo
{        
    public string m_patientID { get; set; }
    public List<string> m_StreamData { get; set; }
}

Из этой коллекции я хочу вернуть данные из списка m_StreamData в ответ на этот запрос. Пожалуйста, помогите мне. Заранее спасибо.

Ответы [ 3 ]

2 голосов
/ 16 декабря 2011

Вы смотрели на файлы, отображенные в память?

http://weblogs.asp.net/gunnarpeipman/archive/2009/06/21/net-framework-4-0-using-memory-mapped-files.aspx

2 голосов
/ 16 декабря 2011

Отметьте следующие параметры:

  1. Разместите службу WCF в приложении Windows, которая будет предоставлять ваши данные. Получите данные запроса веб-приложения от службы WCF.
  2. Заставить веб-приложение записать запрос в файл в указанной папке; приложение Windows будет опрашивать эту папку и затем отправлять данные в веб-приложение (я не уверен, что это будет работать нормально, потому что у меня недостаточно информации о вашей архитектуре, но я бы попытался внедрить службу WCF в веб-приложении за это)
  3. Реализация службы WCF, которая будет напрямую предоставлять данные из базы данных приложений Windows или, если возможно, напрямую обращаться к базе данных приложений Windows из веб-приложения.
2 голосов
/ 16 декабря 2011

Я не уверен, что понимаю архитектуру, которую вы имеете в виду ...

Но относительно общей памяти:

В Windows это реализуется с помощью «картографических файлов памяти» - это могут быть как настоящие, так и «непостоянные» файлы.

В сочетании с глобальным Mutex вы можете реализовать схему связи между двумя или более процессами / потоками и т. Д. На одном компьютере.

Некоторые справочные ссылки:

...