Я создал простое веб-приложение, которое выполняется локально и использует простой сервер веб-сокетов, который я реализовал с помощью Alchemy Web Sockets. Теперь мне нужно развернуть это приложение в Windows Azure.Развертывание сервера веб-Socket на Windows Azure
В настоящее время решение составлено из веб-сайта MVC4 и консольного приложения для сервера веб-сокетов. Мой вопрос: как я смогу применить текущее решение для Windows Azure? Возможно ли использовать Azure для консольного приложения?
Из того, что я видел на веб-сайте Azure, я могу развернуть сайт MVC4 как сайт Azure и консольное приложение (сервер) на виртуальной машине или облачном сервисе. Мне кажется, что облачная служба имеет больше смысла (поскольку инфраструктура управляется Microsoft, и меня это не интересует), но я совершенно не знаком с этими технологиями, поэтому я не уверен, что это лучший подход/если это даже возможно.
EDIT:
Я реализовал веб-сокетов консоли сервера приложений как часть веб-роли, как было предложено Сандрино. Однако при загрузке страницы, которая подключается к серверу, я получаю следующую ошибку в хром-отладчике Unexpected response code: 200
.
Я оставил все то же самое, за исключением того, что я использую @HttpContext.Current.Request.ServerVariables["HTTP_HOST"]
для подключения к серверу на стороне клиента, так как в Azure будут использоваться разные серверы, я пробовал это в локальном приложении, и это сработало. Я до сих пор не развернулся в Azure, но тестирую локально, возможно, сервер не работает, как я могу проверить это? Используя точки останова, кажется, что вводятся необходимые методы для запуска сервера.
Я сожалею, чтобы ткнуть на вопрос, который был давно мертв, но я использую Alchemy WebSockets, и я не могу получить его на любом Compute эмуляторе или на самой Azure. Я добавил конечную точку TCP для порта 81, если это помогает, поэтому ваш код должен работать нормально, но когда я пытаюсь выполнить эхо-тест (http://www.websocket.org/echo.html) по адресу ws: // hostname .cloudapp.net: 81/это не выход ... Любая идея? Я потратил довольно много времени на это :( – matt