Вы должны использовать WCF , который может быть размещен в ASP.NET. Но имейте в виду, что если вы размещаете это на платформе управляемого хостинга, они, вероятно, будут блокировать все порты, кроме 80 и 443. Так что, если ваш сервер сокетов выделен только для сокетов, вы можете использовать порт 80, но с другой стороны, их инфраструктура может не очень хорошо с этим работать.
Обновление:
Когда я говорил «платформа управляемого хостинга», я в основном имел в виду виртуальные хосты. Они обычно очень ограничены в том, что им разрешено делать, поэтому они, скорее всего, будут заблокированы от прослушивания порта TCP. И ОС, вероятно, будет также блокировать прослушивание на порту 80, так как веб-сервер (то есть IIS) будет использовать этот порт.
Я полагаю, что с WCF вы можете настроить привязки, которые в основном реализуют функциональность комета , чтобы вы могли осуществлять сокет-связь по HTTP, но этот подход не очень хорошо масштабируется (хотя он может быть приемлем, если будет иметь очень легкое использование).
К сожалению, я не знаю ни одного решения виртуального хостинга, которое позволяло бы вам размещать сокет-сервер. Возможно, вам придется пойти с выделенным хостом. Надеюсь, я ошибаюсь, и что-то есть для ваших нужд.