C# Http处理程序加载错误
我成功地在Asp.NetWeb应用程序中添加并配置了HttpHandler,但在尝试将相同的HttpHandler添加到Asp.Net网站时遇到了问题。我已经在web.config中注册了它,我遗漏了什么吗 这就是我得到的错误C# Http处理程序加载错误,c#,asp.net,web-config,httphandler,C#,Asp.net,Web Config,Httphandler,我成功地在Asp.NetWeb应用程序中添加并配置了HttpHandler,但在尝试将相同的HttpHandler添加到Asp.Net网站时遇到了问题。我已经在web.config中注册了它,我遗漏了什么吗 这就是我得到的错误 Configuration Error Description: An error occurred during the processing of a configuration file required to service this request.
Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.
Parser Error Message: Could not load type 'MyHandler'.
Line 98: </pages>
Line 99: <httpHandlers>
Line 100: <add verb="*" path="*.result" type="MyHandler"/>
Line 101: <remove verb="*" path="*.asmx"/>
注意:我没有通过url请求处理程序,只是不允许我运行应用程序
谢谢请尝试在类型属性中使用完全限定的类型名称,包括程序集名称。像这样:
<add verb="*" path="*.result" type="Namespace.MyHandler,AssemblyName" />
编辑:起初我错过了网站: 将.cs放在App_代码中并使用此代码:
<add verb="*" path="*.result" type="MyHandler, App_Code"/>
这是否在网站项目中?如果是的话,它是App_Code文件夹中的MyHandler类吗?如果MyHandler位于某个命名空间和/或另一个程序集中,则需要在“add”元素中输入类型的全名。我已将其放在根目录中,以避免此类问题。在WepaApplication中,即使没有任何路径,也会像在Engine.Handlers.MyHandler中一样加载它,但我刚刚在web.cinfig中添加了MyHandler,并且works@Asad-我重新阅读,错过了重要的网站…尝试上面的新答案,它应该适合你。谢谢,伙计,它成功了。有什么想法,为什么它不被识别出外面的App_代码文件夹。为什么这与网站不同?@Asad-只是因为您不知道生成的dll名称是什么…如果您在windows下的框架文件夹下查找,则可以找到它。但是,在App_代码内部,所有代码都被编译成App_Code.dll,因此程序集名称在web.confg中是可预测和可用的。这是不同的,因为Web应用程序中的所有代码都进入一个指定的DLL名称,所以这也是可预测的。这对任何人都有效吗。如果我这样做,我会得到错误“无法从程序集'App_Code'加载类型'MyHandler'。“这与我在没有此更改的情况下得到的错误完全相同,只是它说它试图从名为App_Code的程序集加载。我们如何知道我们网站的程序集名称?(或者您只是假设HTTP处理程序有自己的程序集?@Jonathan如果您运行的是.NET代码,那么它有一个程序集名称。不幸的是,如果不了解更多细节,就很难准确地告诉您如何获取网站的程序集名称。我刚刚用ASP.NET4.0和IIS7得到了这个。我所需要的只是CS文件中的处理程序和
部分中类型的type=“MyHandler”
。在服务器上可以正常工作,但在从VisualStudio运行时不能。
<add verb="*" path="*.result" type="MyHandler, App_Code"/>