2010-01-30 98 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