ASHX文件分析器错误 - 无法创建类型

时间:2013-02-11 22:42:16

标签: asp.net iis-6 ashx

我从我正在测试制作条形码的供应商那里获得了一个安装在IIS上的示例应用程序。

aspx页面工作正常,但是当aspx页面调用ashx页面时,我收到以下错误:

  服务器错误。      

分析程序错误说明:解析a期间发生错误   服务此请求所需的资源。请查看以下内容   特定的解析错误详细信息并修改您的源文件   适当。

     

分析程序错误消息:无法创建类型   'TECIT.OnlineBarcodes.BarcodeHandler'。

     

来源错误:

     

第1行:<%@ WebHandler语言=“C#”   代码隐藏= “BarcodeHandler.ashx.cs”   Class =“TECIT.OnlineBarcodes.BarcodeHandler”%>

     

源文件:/BarcodeSample/BarcodeHandler.ashx行:1

     

----------------------------------------------- ---------------------------------版本信息:Microsoft .NET Framework版本:2.0.50727.3634;   ASP.NET版本:2.0.50727.3634

为什么会这样?我怎样才能使这个ashx文件起作用?

5 个答案:

答案 0 :(得分:8)

从命名空间(如果使用)开始检查类的全名。我遇到了同样的问题,在更改类名后修复了它:

<%@ WebHandler Language="C#" Class="Namespace.ClassName" %>

而不是:

<%@ WebHandler Language="C#" Class="ClassName" %>

答案 1 :(得分:2)

我发现一个简单的解决方法:

  • 将.ashx.cs代码放在.ashx文件的第一行之后
  • 删除.ashx文件第一行的CodeBehind属性
  • 删除文件背后的代码

答案 2 :(得分:0)

添加以下标记

<%@ Assembly  Name="YourNameSpace.YourHandlerClass, Version=1.0.0.0, Culture=neutral, PublicKeyToken=90e3045b123af1c3" %>
上方的WebHandler标记

<%@ WebHandler Language="C#" CodeBehind="BarcodeHandler.ashx.cs" Class="TECIT.OnlineBarcodes.BarcodeHandler" %>

答案 3 :(得分:0)

我在命名空间时遇到了问题,因此我必须编辑example.ashx文件(而不是example.ashx.cs)并在那里更改命名空间名称。

答案 4 :(得分:0)

我通过解决方案资源管理器重命名了我的处理程序。

VS2017建议仅在.cs文件中更改名称,并使ashx文件中的class属性不正确。