的設置公共數據:(使用Asp.Net MVC 2 RC,實體框架,SQL服務器,VS2008)Asp.Net MVC - 所有控制器
我的朋友和我的工作的一個項目,將有不同的指向它的域名。我們希望從請求中獲取域(網站)並使用它來驅動數據。這個網站數據需要成爲所有控制器的一部分。
Ex。 domain1.website.com的數據將爲 與 domain2.website.com的數據不同,而那些數據將不同於website2.com的數據。 該網站的外觀與 相同,但數據不同。
我設置了一個BaseController,它的所有其他控制器都從它繼承而來。但我不喜歡它。
BaseController:
public class BaseController : Controller
{
private Website _website;
private readonly IWebsiteRepository _websiteRepository;
public BaseController(IWebsiteRepository websiteRepository)
{
_websiteRepository = websiteRepository;
}
public Website CurrentWebsite { get; }
}
的問題,這是我現在需要一個IWebsiteRepository傳遞給我的每一個控制器的基礎:
public class BioController : BaseController
{
private readonly IBiographyRepository _bioRepository;
public BioController(IBiographyRepository bioRepository, IWebsiteRepository websiteRepository)
: base(websiteRepository)
{
_bioRepository = bioRepository;
}
}
這裏是我的問題
- 有沒有更好的方法來處理多個域名bei ng指向一個項目並過濾數據?
- 有沒有更好的方法讓每個控制器中的網站對象?
UPDATE
對不起,我忘了補充一點,我已經使用IOC(結構圖)。我的問題是沿的線條更:
- 我應該用別的東西代替BaseController? ActionFilter?
- 有沒有辦法設置它,所以我不必將IWebsiteRepository傳遞給基類?
- 有沒有更好的方式來處理用於數據的域?