Windows服务DbResource提供程序

我正在开发一个C#3.5的Windows服务,并希望在SQL Server中存储特定于语言的资源string,并通过DbResourceProvider访问它们。 然而,我所看到的所有例子都没有显示如何在Windows服务中设置资源提供者(他们都显示了在web.config文件中指定提供者)。

我如何在我的Windows服务中设置资源提供者?

基本上DbResourceProvider基于接口IImplicitResourceProviderIResourceProvider – 两个接口都驻留在System.Web的命名空间中,原因是:它们是特定于ASP.NET的。 它们不适用于非ASP.NET场景(如Windows服务,WinForms等)!

非ASP.NET场景中类似的方法是实现自己的IResourceReader并将其用于从ResourceManager派生的类中 – 可以在此处找到源代码示例。