我从我正在测试制作条形码的供应商那里获得了一个安装在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文件起作用?
答案 0 :(得分:8)
从命名空间(如果使用)开始检查类的全名。我遇到了同样的问题,在更改类名后修复了它:
<%@ WebHandler Language="C#" Class="Namespace.ClassName" %>
而不是:
<%@ WebHandler Language="C#" Class="ClassName" %>
答案 1 :(得分:2)
我发现一个简单的解决方法:
答案 2 :(得分:0)
添加以下标记
<%@ Assembly Name="YourNameSpace.YourHandlerClass, Version=1.0.0.0, Culture=neutral, PublicKeyToken=90e3045b123af1c3" %>
<%@ WebHandler Language="C#" CodeBehind="BarcodeHandler.ashx.cs" Class="TECIT.OnlineBarcodes.BarcodeHandler" %>
答案 3 :(得分:0)
我在命名空间时遇到了问题,因此我必须编辑example.ashx
文件(而不是example.ashx.cs
)并在那里更改命名空间名称。
答案 4 :(得分:0)
我通过解决方案资源管理器重命名了我的处理程序。
VS2017建议仅在.cs文件中更改名称,并使ashx文件中的class属性不正确。