asp.net – 当.resx文件更改时,App域重新启动.有什么办法可以避免这个吗

我有一个ASP.NET应用程序,其中包含许多用于本地化用户控件和页面的.resx(资源)文件.

我们希望这些文件可以即时编辑.

但是,我们注意到在Web服务器上编辑这些文件会导致应用程序域重新加载,这会导致服务器在应用程序域重新启动时减速大约一分钟.

有没有办法允许编辑这些文件而不会导致应用程序域重新启动?

解决方法

Stackoverflow上有几个这个问题的风格;重复答案,是的,这绝对是可能的.

像.NET一样,资源提供者是可扩展的.

我认为内置的资源提供程序(编译.resx到.resources)是以Web为中心的部署的不幸错配.

如果您的设置主要是字符串,则可以插入一个简单的UpdatableResXResourceProvider,它使用内置的ResXResourceReader从现有的* .resx文件中读取.

结果缓存在应用程序缓存中.

不生成任何程序集 – 立即读取更新,就像使用任何其他基于文件的CacheDependency一样 – 可以在运行时应用任意数量的更新.

唯一需要注意的是,如果您不想禁用内置FCN,则必须将* .resx文件移动到屏蔽的App_Data文件夹(通过后构建步骤完成).

您可以在此处下载UpdatableResXResourceProvider:
http://www.onpreinit.com/2009/06/updatable-aspnet-resx-resource-provider.html

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....