2012-02-05 12 views
3

私はc#3.5でWindowsサービスを開発しており、SQL Server内に言語固有のリソース文字列を格納し、DbResourceProvider経由でアクセスしたいと考えています。しかし、私が見てきたすべての例では、Windowsサービス内でリソースプロバイダを設定する方法は示されていません(Web.configファイル内でプロバイダを指定することをすべて示しています)。WindowsサービスDbResourceプロバイダ

Windowsサービス内でリソースプロバイダを設定するにはどうすればよいですか?それらはASP.NETに特異的である:両方のインターフェイスは、理由のために、名前空間System.Webに常駐 - 基本的DbResourceProvider

+0

AFAIKフレームワーク自体には 'DbResourceProvider'がありません...どちらを使用していますか? – Yahia

+0

彼は彼がhttp://weblogs.asp.net/thangchung/archive/2010/06/25/extending-resource-provider-for-soring-resources-in-the-database.aspxを参照していると思います。 –

+0

@ChrisShainありがとう:-)これは基本的に彼がWindowsサービスでそれを使うことができないということを意味します... Windowsサービスの場合、同様のことは何かできますか? – Yahia

答えて

2

はインターフェースIImplicitResourceProviderIResourceProviderに基づいています。これらは、非AS.NETシナリオ(Windowsサービス、WinFormsなど)での使用を目的としたものではありません。

非ASP.NETシナリオで同様のことを行う方法は、IResourceReaderを実装し、ResourceManagerから派生したクラスで使用することです。ソースコードの例はhereです。