2009-11-17 72 views

回答

3

我的意見:我會把它們放在服務層,也許在該項目的子文件夾中。

2

這些都是我的喜好:

你重用IHttpHandler跨站點如你所說那麼它自己獨立的庫將是我的首選是項目。

當然,如果它是圖書館唯一的課程,那完全是矯枉過正。你也表示它需要訪問你的域名和數據。你可以把這些內部及用途:

[assembly: InternalsVisibleTo("MyHandlerLibrary")] 

那去你的域庫的AssemblyInfo.cs文件(或任何你要存儲的組件信息)。

雖然我不想成爲一名建築宇航員。如果你知道你的處理程序不適合全球統治,那麼請把它放在服務類庫中。

+0

問題是,有幾個網站將使用相同的HttpHandler ...所以沒有一個MyNamespace.Site。 – 2009-11-17 14:01:22

+0

它確實需要內核的內部方面。 – 2009-11-17 14:02:12

+0

我會更新答案 – 2009-11-17 14:02:57

1

HTTP處理程序是技術 - 它們可以用來在任何你想要的地方公開接口(各種)。重要的問題是服務的目的是什麼?他們是「技術」服務還是「商業」服務?

如果你能回答這些問題,你會更接近找出他們需要去的地方。

重要的是要記住,它們是作爲基於Web的應用程序(或組件)的一部分公開的;如果你想在網絡上公開某些東西,那麼它們可能是一個不錯的選擇。 所以如果你想通過網絡公開你的數據訪問,那麼你可以使用HTTP處理程序。

你應該重新創建一個單獨的庫嗎?如果HTTP處理程序公開的接口是通用的(比如說日誌記錄),那麼你可以,儘管它更可能在庫中有一些'helper'方法,而'service'特定的HTTP處理程序將會在你需要它們的地方。