У меня есть консольное приложение .NET, которое раскручивает сервер веб-сокетов в форме службы WCF. Сервис в основном используется клиентом JS в браузере. Я хотел бы развернуть это в Azure, и я попытался выполнить развертывание в веб-приложении и в качестве веб-задания. Они не сработали, и я не верю, что они являются правильным вариантом, поскольку, насколько я понимаю, они могут прослушивать только порты 80 и 443 и запускать w3wp.exe.
Итак, какие ресурсы мне нужно выделить в Azure для развертывания и запуска этого приложения?
Детали реализации:
WCF config:
<services>
<service name="WebSocketService">
<host>
<baseAddresses>
<add baseAddress="http://localhost:8888" />
</baseAddresses>
</host>
<endpoint address="CallbackService" binding="customBinding" contract="IWebSocketService" bindingConfiguration="webSocket" />
</service>
</services>
<bindings>
<customBinding>
<binding name="webSocket">
<byteStreamMessageEncoding />
<httpTransport>
<webSocketSettings transportUsage="Always" createNotificationOnConnection="true" />
</httpTransport>
</binding>
</customBinding>
</bindings>
Program.cs:
var svcInstance = container.Resolve<IWebSocketService>();
var svcHost = new ServiceHost(svcInstance);
svcHost.Open();
Console.ReadKey();