Совместное использование ASP.Net MVC и node.js - PullRequest
4 голосов
/ 21 сентября 2011

Я пишу приложение ASP.Net MVC, которое подключается к базе данных SQL и использует имеющиеся у меня библиотеки C #.

У меня также есть приложение Windows на сервере TCP, которое отправляет / получает сообщения TCP через XML. Я успешно настроил node.js и socket.io для обработки всего этого и имею html-страницу, которая отправляет / получает сообщения на сервер. Node.js в данный момент обслуживает html-страницу. XML преобразуется в JSON при отправке / получении данных.

Я планирую настроить приложение MVC для обслуживания страницы, но мне просто интересно, что вы думаете об этом использовании кросс-фреймворковой настройки. Кажется ли это жизнеспособным и хорошим решением для обработки TCP-сообщений и отправки их в браузер? Я также прочитал о iisnode для узла размещения в IIS, который, я думаю, будет хорошей идеей для моей установки. Что вы думаете об этом?

1 Ответ

2 голосов
/ 21 сентября 2011

У вас в основном два сайта. Одним из них является ваш сайт ASP.NET MVC. а другой - веб-клиент для вашего приложения TCP windows.

Поскольку они не пересекаются, все будет хорошо.

Возможно, вы захотите использовать html-сервер этого веб-клиента через ASP.NET MVC и запускать сервер websocket только на node.js. Возможно, вам понадобится прокси, чтобы заставить работать тот же источник.

Если вы выполняете серверное задание на своей HTML-странице с веб-сервера с IP-адресом Y, портом X, а затем пытаетесь подключиться к серверу веб-сокетов node.js, работающему с IP-адресом Y, через порт X + n, это может нарушить то же ограничение источника.

Это означает, что вы в основном загружаете клиент socket.io с сервера A и пытаетесь установить соединение с сервером B. Веб-страница не знает, что вы владеете обоими этими серверами.

Решением будет прокси-сервер, вы проксируете все запросы к серверу A и B, но, поскольку все они проходят через прокси, он не нарушает один и тот же источник.

Что касается прокси, то nginx - один. Существует узел-прокси . И IIS может быть в состоянии прокси для вас (хотя я сомневаюсь, что IIS делает хороший прокси)

...