2013-10-15 24 views
0

我最近決定編寫一個自定義ASP.NET Web控件來預覽網站並將其顯示爲圖像。我在互聯網上找到了各種各樣的方法,並從每個方面拿走了我最喜歡的部分。ASP.NET C中自定義處理程序/控件的代碼重用#

Web控件的第一個修訂版運行良好,但預覽不是異步生成的,因此控件的使用由於加載時間而令人沮喪。我編寫了另一個代碼修訂版,用於在不同的請求中生成預覽(使用處理程序),並且這種方法也運行良好。

我的第三個修訂是編寫一個使用該處理程序的自定義控件,以便我可以方便地控制該處理程序並延遲加載。這在其自己的項目中運行良好。當它試圖在不同的網站項目中註冊來自控制庫項目的處理程序時,它變得複雜了。

首先,我會以正確的方式進行討論嗎?在我試圖註冊處理程序之前,這似乎是個好主意。使用該控件非常簡單。

二,如果這是做這件事的正確方法,我該如何註冊這個處理程序?在web應用程序web.config中,我嘗試了各種各樣的類名稱和命名空間,但是當控件嘗試從處理程序加載圖像時,我總是得到一個404。

這就是我現在所擁有的,以得到一個想法:

<add verb="GET" name="ThumbnailHandler" path="GenerateWebsitePreview.ashx" type="HandlerGenerateWebsitePreview, ThumbnailControl"/> 

名稱:這個無所謂,只要我可以告訴。在我閱讀過的任何文檔中都不需要它,幾乎從未提及。 路徑:這是我想要調用處理程序的路徑/網址。這顯然不應該存在於Web應用程序項目中。我想讓它重用庫中的一個。通過處理程序,您可以使用任何您想要的路徑。 類型:HandlerGenerateWebsitePreview是實現IHttpHandler的類的名稱。 ThumbnailControl是此類所在的命名空間。

Web應用程序已經有一個項目引用,該項目引用了包含自定義控件和自定義處理程序的庫項目。已知該引用正在工作,因爲自定義控件已找到並呈現。

如果您不能從另一個項目註冊處理程序,如何重用自定義處理程序?在「添加」標籤中不允許使用「組裝」屬性,就像您在註冊自定義控件時一樣。

在此先感謝!

回答

0

我應該花費幾分鐘的時間嘗試彙編名稱,命名空間和類名稱。我今天再試一次,這個組合在沒有別的東西的情況下工作。

<add verb="GET" name="Name" path="path.path" type="Namespace.ClassName, AssemblyName"/> 

我以爲我曾嘗試這種組合,但顯然我沒有。

相關問題