2012-02-05 116 views
3

我正在開發一個Windows服務用C#3.5和要存儲在SQL Server中的語言特定資源的字符串,並通過DbResourceProvider訪問它們。然而,我所見過的所有例子都沒有顯示如何在Windows服務中設置資源提供者(它們都顯示在web.config文件中指定提供者)。窗口服務DbResource提供商

如何設置我的Windows服務中的資源提供者?

+0

AFAIK沒有'DbResourceProvider'在框架本身...所以您使用的是哪一個? – Yahia 2012-02-05 19:52:28

+0

我想他是指http://weblogs.asp.net/thangchung/archive/2010/06/25/extending-resource-provider-for-soring-resources-in-the-database.aspx – 2012-02-05 19:53:31

+0

@ChrisShain感謝:-)這基本上意味着他不能在Windows服務中使用它...對於Windows服務,可以做類似的事情,但使用不同的接口等。 – Yahia 2012-02-05 20:12:43

回答

2

基本上DbResourceProvider基於接口IImplicitResourceProviderIResourceProvider - 兩個接口都駐留在命名空間System.Web中,原因在於:它們特定於ASP.NET。它們不適用於非ASP.NET場景(如Windows Service,WinForms等)!

對非ASP.NET場景做類似的方法是實現您自己的IResourceReader並將其用於派生自ResourceManager的類 - 源代碼的示例可以找到here