通用处理程序不在托管环境上返回响应
我正在尝试托管使用ASP.NET构建的应用程序。它有一个简单的html文件,称为javascript,其中我有一个ajax调用,请求来自通用处理程序(.ashx)的响应。该应用程序可以在我的本地计算机上正常运行,但不能在托管环境下运行。
当我在托管站点上调试javascript时,它返回的响应是
“ <%@ WebHandler语言= \'C#\'CodeBehind = \” GetInfo.ashx.cs“ Class = \” MyProject.GetInfo \“%> \ r \ n”在ajax上的成功数据元素中。 / p>
我是这个主机的新手,不确定我的ajax请求是否错误或发布的错误。我只是在Visual Studio上使用了简单的发布选项,然后将所有文件发布到了托管环境。
这是我的ajax请求:
$.ajax({
type: "GET",
url: "/Handlers/GetInfo.ashx",
contentType: "application/json; character=utf-8",
success: function (data) {
if (data.status == "OK") {
//some code here
}
}
});
这是我的处理程序:
GetInfo.ashx.cs
public class GetInfo: IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.Write(JsonConvert.SerializeObject (new { status = "OK" }));
}
}
答案 0 :(得分:0)
确保在web.config文件中具有此名称(本地应在全局web.config中):
<system.web>
<httpHandlers>
<add path="*.ashx" verb="*" type="System.Web.UI.SimpleHandlerFactory, System.Web" validate="True"/>
</httpHandlers>
</system.web>