Вызов функции / события или передача данных на веб-сайт (C #) всякий раз, когда значение переменной изменяется в веб-сервисе.

У меня есть одно приложение Windows, которое прослушивает события подключенного устройства (через USB-порт) и передает имя события веб-службе (в реальном времени). И у меня есть веб-сайт, на котором я хочу выполнять определенные операции в соответствии с событием устройства (в реальном времени).

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

Я попытался использовать таймер на веб-странице, которая вызывает веб-службу, чтобы получить последнее значение. Но проблема в том, что события меняются очень быстро.

Есть ли способ, которым веб-служба автоматически отправляет некоторые данные на мой сайт? или любое другое решение.

заранее спасибо


person mandeep gill    schedule 30.08.2012    source источник
comment
Вы когда-нибудь использовали Node.js? Скорее всего, это будет ваш ответ, но имейте в виду, что кто-то не сможет предоставить вам полное решение на этом форуме - вам нужно забрать это и начать, а затем задавать вопросы об очень конкретных функциях.   -  person Mike Perrenoud    schedule 30.08.2012
comment
Спасибо за ответ. Я обязательно поищу Node.js. Я не ожидаю полного решения, просто хочу знать, на правильном ли я пути или есть другой лучший способ.   -  person mandeep gill    schedule 30.08.2012


Ответы (1)


Насколько мне известно, я думаю, что вы не можете напрямую передавать данные на свой веб-сайт из веб-службы, поскольку сама служба не знает, с чем она связана.

Для вашего сценария я сделаю базу данных с некоторыми необходимыми таблицами в ней и сохраню в ней данные из веб-метода всякий раз, когда он вызывается вашим приложением Windows, поскольку ваше приложение полностью построено на .NET, вы можете просто передать объект DataTable без необходимости разбирать XML-данные на другой стороне. Теперь создайте веб-метод, который будет возвращать эти данные из базы данных. Вызовите этот веб-метод со своего веб-сайта. Однако, когда данные были отправлены на веб-сайт, вы можете удалить их из базы данных, чтобы новые данные могли быть отправлены при следующем вызове.

Это может вам помочь!

person Ibad Baig    schedule 30.08.2012
comment
Благодарю за ответ. Я понял основную идею. Но последняя часть мне не понятна. Теперь создайте веб-метод, который будет возвращать эти данные из базы данных. Если я создаю метод для чтения данных из базы данных, разве это не то же самое ... что мне придется снова и снова вызывать веб-метод, чтобы получить последние данные? Проблема в том, что я не знаю, когда новое значение попадает в базу данных. - person mandeep gill; 30.08.2012
comment
Что вы имеете в виду, снова и снова вызывая веб-метод для получения последних данных? В любом случае создание веб-метода, который будет возвращать данные в виде DataTable, безусловно, поможет вам. Когда ваше приложение Windows вызывает веб-метод для изменения данных, вставьте эти данные в базу данных. И, когда эти данные будут отправлены на веб-сайт, удалите их. Один подход! - person Ibad Baig; 30.08.2012
comment
Я думаю, это недоразумение. Позвольте мне уточнить События устройства постоянно меняются, и я должен отвечать на веб-сайте в соответствии с текущим событием в режиме реального времени. Спасибо - person mandeep gill; 30.08.2012
comment
Ахан, передача в реальном времени - это немного другой подход. Кстати, вы не упомянули об этом в вопросе: | - person Ibad Baig; 30.08.2012
comment
Извини за это. Может быть, я редактирую свой вопрос. Вы знаете какой-либо подход к прослушиванию событий в реальном времени? - person mandeep gill; 30.08.2012
comment
Возможно, вам придется отправлять вызовы ajax на веб-сайт, хотя не уверен. - person Ibad Baig; 30.08.2012