C# 使用app.config配置卷影副本
让我先解释一下情况 我已经从一个安装群安装了多个服务副本(比如10个)。现在我想更新一个dll。我需要停止所有服务,更新dll并重新启动服务 为了避免这种情况,我在代码中使用了阴影复制。这样就可以在不停止所有服务的情况下更新DLL。具体如下C# 使用app.config配置卷影副本,c#,service,appdomain,appdomainsetup,C#,Service,Appdomain,Appdomainsetup,让我先解释一下情况 我已经从一个安装群安装了多个服务副本(比如10个)。现在我想更新一个dll。我需要停止所有服务,更新dll并重新启动服务 为了避免这种情况,我在代码中使用了阴影复制。这样就可以在不停止所有服务的情况下更新DLL。具体如下 static void Main(string[] args) { AppDomain.CurrentDomain.SetCachePath(@"C:\Cache"); AppDomain.CurrentDomain.SetShadowCop
static void Main(string[] args)
{
AppDomain.CurrentDomain.SetCachePath(@"C:\Cache");
AppDomain.CurrentDomain.SetShadowCopyPath(AppDomain.CurrentDomain.BaseDirectory);
AppDomain.CurrentDomain.SetShadowCopyFiles();
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new SampleService(serviceName)
};
ServiceBase.Run(ServicesToRun);
}
现在,我正试图通过Asp.Net中的app.config文件实现同样的功能,如下所示
<hostingEnvironment
idleTimeout="Infinite"
shutdownTimeout="30"
shadowCopyBinAssemblies="true" />
有什么建议吗?ASP.Net托管环境内置了管理应用程序回收的支持 Windows.Net服务使用不支持此功能的标准CLR主机。你必须实现你自己的
AppDomain
来托管服务代码,并配置卷影复制FileSystemWatcher
的工具来监视原始bin目录AppDomain
,创建一个新的并重新加载ASP.Net主机可以按照这些方式执行某些操作(但也可以管理现有请求,在执行过程中对新请求排队,等等) 你根本没说这个问题。你有什么问题吗?请不要让我们尝试您的代码,让我们讨论这个问题。我正在尝试单独使用配置文件实现卷影复制,就像ASP.net所做的那样。。没有在代码中创建应用程序域。。。我被卡住了。。。