通用处理程序未在托管环境上返回响应

时间:2019-05-10 15:16:55

标签: javascript c# generic-handler

通用处理程序不在托管环境上返回响应

我正在尝试托管使用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" }));   

    }

}

1 个答案:

答案 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>