2010-01-30 114 views
4

我成功添加和一个Asp.Net WebApplication的配置的HttpHandler,但在试图相同的HttpHandler添加到Asp.Net 网页面临的问题。我在web.config中注册它,我失去的东西的Http处理程序加载错误

这是我得到

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"/> 

在这里的错误是处理

public class MyHandler: IHttpHandler 
{ 
    #region IHttpHandler Members 

    public bool IsReusable 
    { 
     get { return true; } 
    } 

    public void ProcessRequest(HttpContext context) 
    { 
    } 
    #endregion 
} 

注:我没有作任何通过url的处理程序请求,它只是不让我运行应用程序。

谢谢

+0

这是一个网站项目?如果是的话,它是App_Code文件夹中的MyHandler类? 如果MyHandler位于特定的名称空间和/或不同的程序集中,则需要在“add”元素中输入该类型的全名。 – 2010-01-30 16:02:31

+0

我已将它放在根目录中以避免出现此类问题 – 2010-01-30 16:04:07

回答

4

编辑:我错过了第一个网站:

把中的.cs和App_Code文件使用此:

<add verb="*" path="*.result" type="MyHandler, App_Code"/> 
+0

在WepApplication中,它甚至没有像Engine.Handlers.MyHandler那样的任何路径被加载,但我刚刚在web.cinfig中添加了MyHandler并且它可以工作 – 2010-01-30 16:07:12

+0

@Asad - 我重新阅读,错过了重要的**网站** ...尝试上面的新答案,它应该适合你。 – 2010-01-30 16:10:27

+0

感谢队友,它工作。任何想法,为什么它不识别外侧的App_Code文件夹。为什么这与网站有所不同? – 2010-01-30 16:15:39

4

请尝试在您的类型属性中使用完全限定的类型名称,包括程序集名称。就像这样:

<add verb="*" path="*.result" type="Namespace.MyHandler,AssemblyName" /> 
+0

我们如何知道程序集名称适用于我们的网站? (或者你只是假设HTTP处理程序有它自己的程序集?) – 2011-01-16 20:54:54

+0

@Jonathan如果您正在运行.NET代码,它具有程序集名称。不幸的是,在不知道更多细节的情况下,很难确切地告诉你如何获得_your_网站的程序集名称。 http://www.google.com/search?q=.net+get+assembly+name – 2011-01-17 13:28:08

+0

我刚刚与ASP.NET 4.0和IIS7一起工作。我所需要的只是CS文件中的处理程序,而在节中输入type =“MyHandler”。在服务器上工作正常,但从Visual Studio运行时不起作用。 – 2011-01-17 13:47:33