2011-10-04 75 views
4

我需要在ASP.NET中創建一個自定義LocalResourceProvider。看來我必須爲此創建一個自定義的ResourcePRoviderFactory。但是,這意味着還要從CreateGlobalResourceProvider返回一個IResourceProvider(null不起作用)。如何創建默認GlobalResourceProvider的實例?

我找不到框架默認的ResourceProvider是什麼,所以我可以返回它,所以我不必創建自己的。

(對於默認的LocalResourceProvider也有獎勵點,因爲我需要更改的是virtualPath,因此能夠創建默認實例但通過我自己的傳遞將使事情更容易)。

回答

0

找到了解決方案。這不是很好,但:

// HACK: The default provider is internal, so we have to use reflection to create it, so we can steal it's behaviour. 
string typeName = "System.Web.Compilation.ResXResourceProviderFactory, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; 
defaultFactory = (ResourceProviderFactory)Activator.CreateInstance(Type.GetType(typeName));