问题标签 [resourceproviderfactory]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1416 浏览

c# - ResourceProviderFactory 定期刷新

我创建了一个自定义资源提供程序,它从我们的数据库返回字符串以用于任何用途。

问题是我还没有找到一种方法来“破坏”这些项目上的缓存并从数据库中重新加载它们。理想情况下,当我们更新缓存并想要重新加载它时,我会每 x 分钟或手动执行此操作。

从技术上讲,这很容易。我将所有内容都存储在哈希表中,所以只需核对它并在需要时重新加载。但是,由于 ResourceProviderFactory 处理每个资源类的加载,我不确定如何枚举它创建的类。

代码概览:

我打算做的是每次调用 CreateGlobalResourceProvider 时添加一个引用(例如,将新对象添加到一个集合中,然后枚举它并在需要时删除该对象内的所有内容)但我不确定这是否会做ResourceProviderFactory 有点奇怪。

在我构建所有这些代码之前,是否有任何 ResourceProviderFactory IEnumerable 方法或可以以简单的方式为我提供所有这些对象的方法?

0 投票
1 回答
2709 浏览

asp.net-mvc - .NET MVC 本地化(资源提供程序)实现无法正常工作

我目前正在实施一个本地化的网站。我创建了一个自定义 ResourceProvider + Factory 用于将资源存储在数据库中。这一切都有效,我存储数据如下:

如果我是正确的,我已经在上面的示例中存储了一个全局(测试)和一个本地(产品)资源?

我正在使用 ResourceHelpers 的这个实现(链接)(下面的代码)。这应该允许我根据以下代码显示资源:

全局资源:这有效(输出:“Hi”)

本地资源:这是问题所在,这不起作用,这是怎么回事??

第一个代码示例按预期输出“Hi”。但是,第二个代码示例引发异常(未找到具有键“产品”的资源对象。)(我已在代码中标记了 ~ 第 17 行下方的行)。 的,我正在调用“~/Views/Products/Index.aspx”的第二行

这是我正在使用的助手代码:

0 投票
1 回答
741 浏览

c# - 空的 asp.net 资源缓存,由 SQLResourceProvider 提供

我刚刚SQLResource在我的 MVC2 应用程序中实现了一个提供程序。当我手动或通过网络表单更改数据库中的某些内容时,我希望ResourceProvider删除它的所有资源并再次从数据库中获取它们。

现在有没有人可以清除ResourceCache由 ASP.NET 自己的 API 管理的这个?

0 投票
1 回答
536 浏览

asp.net-mvc - ASP.NET 自定义本地化

我已经做了很多研究,但我不确定我应该如何进行。

通常的本地化只会在语言发生变化时发生变化,因此法语的 Hello 将是 Bonjour,但我的应用程序需要为某些用户提供特殊关键字,因此 UserX 可能会说“Hello”需要是“Allo”。

我想拥有带有IdentityName_resourceKey的资源密钥,如果该密钥存在,则将其退回到resourceKey

我在想我需要一个自定义 ResourceProvider 但我的实现是一个简单的 if 语句,所以我不想编写一个完整的资源提供程序。

我写了一个 DisplayName 属性的扩展,它工作得很好,但这不是很好,因为我需要每个数据注释属性中的一个,如果我直接在页面或控制器中使用资源,这将不起作用......

我正在寻找用最少的代码实现这一点的最佳方法..

谢谢!

0 投票
1 回答
2293 浏览

asp.net-mvc - 自定义 ResourceProviderFactory 依赖注入

在 ASP.NET MVC 中是否有任何地方可以获取对实例化的 ResourceProviderFactory 的引用,以便执行属性注入以添加自定义 DB 实现以从中检索资源?

我正在加载一个自定义资源提供程序,但我想知道是否有替代方法可以使用静态 DI 容器在提供程序中注入依赖项。

类似于在 MVC 中为 Role 和 Membership 提供程序注入的方式。

0 投票
1 回答
405 浏览

asp.net-mvc - 将 DbContext 与自定义资源提供程序一起使用时注入不同的范围

在一个应用程序中,我有以下组件(除其他外):

  • MyDbContext:实体框架数据访问
  • DBResourceProviderFactoryResourceProviderFactory提供自定义的自定义IResourceProvider(称为DBResourceProvider...)
  • 其他服务
  • 结构图

自定义资源提供程序正在使用 db 查找资源,注入方式与此 SO 答案MyDbContext中的描述类似。

MyDbContext也用于各种其他服务,并且由于它是一个 Web 应用程序,因此我使用 StructureMaps方法HttpContextScoped将生命周期限制为MyDbContext请求的生命周期(请参阅另一个 SO 问题及其关于此主题的答案):

但是,似乎 an 的生命周期IResourceProvider并不限于单个 http 请求。因此,DBResourceProvider一直挂在一个MyDbContext将在第一次请求后处理的引用上。

如何处理这种生命周期不匹配- 让 StructureMap在将 HttpContext 范围内的实例返回给所有其他服务时返回MyDbContext瞬态?IDbResourceProvider

我需要两种不同的实现吗?标记界面?还是首先使用实体​​框架查找本地化资源(性能等)是个坏主意?

0 投票
1 回答
607 浏览

globalization - 在 IResourceProvider 中未调用 Meta:resourcekey 的 GetObject

我需要将站点的 .resx 文件移动到数据库并使用该IResourceProvider接口实现自定义资源提供程序。我已经按照以下示例进行操作:

http://msdn.microsoft.com/en-us/library/system.web.compilation.iresourceprovider.aspx

当我打电话时:

中的GetObject方法IResourceProvider被正确调用。

但是,整个站点都在使用meta:resourcekey="myResourceKey"所有标签的属性,并且GetObject没有为这些标签调用该方法。我可以看到没有其他方法IResourceProvider可以实现,是否有我遗漏的东西,或者是否有另一种方法可以将 .resx 数据移动到数据库而不对视图进行任何更改,即仍然继续使用meta:resourcekey属性。

非常感谢

0 投票
1 回答
194 浏览

asp.net - 有什么方法可以获取 asp.net 应用程序的默认 ResourceProviderFactory 吗?

我已经成功地为我的 asp.net 应用程序实现了自定义本地化提供程序。我现在正在一个备用方案中工作,由于某种原因,无法创建 CustomResourceProviderFactory,或者如果我不想在特定场景中使用它,我希望能够在 asp.net 中使用默认的 ProviderFactory

有没有办法创建或获取该类的实例?我也无法弄清楚确切的类型是什么,我找到的所有信息都是关于创建一个我已经完成的自定义工厂

0 投票
4 回答
1706 浏览

javascript - Angular.js resourceProvider 返回带有数据的 $promise

给定 angular.js 服务:

mymodulefind查询的控制器中:

它工作正常,但返回 $promise 和 $resolved 与数据集,所以我不能循环通过我的数据。

Angular 文档实例和集合Resource具有这些附加属性。但我不明白如何在我的代码中控制它。

我究竟做错了什么?如何预防?

0 投票
1 回答
402 浏览

c# - 如何控制自定义 IResourceProvider 的生命周期?

我已经采用这种方法在我的 ASP.NET MVC 应用程序中注入自定义资源提供程序,但是我在对象生命周期管理方面遇到了一些问题。

我正在使用 Castle Windsor,所以我有以下工厂实现:

但是,IResourceProvider我在容器中注册的似乎没有正确管理其生命周期。它有自己的一些其他依赖项,其中一些有一些复杂的生活方式(每个 Web 请求或每个事务),所以我将其注册IResourceProvider为瞬态以确保它的依赖项始终有效。但是 MVC 框架踩到了我的脚,保持对IResourceProvider跨 Web 请求的引用,这会导致ObjectDisposedExceptions它的依赖关系在下一个请求时失效。

我想做的是让 MVC 框架在每次需要 my 的实例时都使用工厂IResourceProvider,并且 - 如果可能的话 - 也可以在完成时调用IoC.Release(provider)或类似的东西。

如何IResourceProvider以 MVC 框架尊重的方式对自定义的生活方式进行微观管理?