Я занимаюсь разработкой веб-сайта ASP.NET с использованием Visual Studio 2010 на новом компьютере, установленном на моем столе; это работает под управлением Windows 7 x64. Раньше у меня была коробка разработки XP.
В веб-приложении есть много ASPX-страниц и новый универсальный обработчик ASHX, который генерирует JSON. Все работает нормально, включая ASHX, когда я запускаю приложение в VS и использую Internet Explorer в качестве клиентского браузера. Но когда я открываю сайт за пределами Visual Studio:
http://localhost/mywebsite/Logon.aspx
localhost отклоняет соединение, когда клиентский браузер пытается вызвать ASHX. хотя страницы ASPX работают нормально. Fiddler говорит это в тот момент, когда вызывается ASHX:
The socket connection to localhost failed. No connection could be made because the target machine actively refused it 127.0.0.1:50312
Чем отличается ASHX от локального хоста, чтобы он отказывался от соединения, позволяя браузеру открывать страницы ASPX?
Аш делает это:
<%@ WebHandler Language="VB" Class="MyGenericHandler" %>
Public Class MyGenericHandler
Implements IHttpHandler
Implements IReadOnlySessionState