在单个 AppDomain 上运行多个应用程序实例时如何防止属性覆盖?
Posted
技术标签:
【中文标题】在单个 AppDomain 上运行多个应用程序实例时如何防止属性覆盖?【英文标题】:How to prevent property overriding when running multiple app instances on single AppDomain? 【发布时间】:2017-01-14 12:17:11 【问题描述】:我有一个应用程序在单个 AppDomain 上运行自身的多个实例,它就是这样设计的。
我有几个 静态属性,它们在开始时被初始化,每个对于运行它的实例都是唯一的。
现在当我运行第一个实例时,一切都很好,但是当我运行第二个实例时,它会覆盖第一个实例的属性。
我怎样才能防止这种情况发生?
在这种情况下我不能使用单例模式。
【问题讨论】:
***.com/questions/9806372/… 相关吗? 【参考方案1】:在c#
中,static
属性旨在在同一类的所有实例之间共享,无论有多少实例。
以DateTime.Now
为例
如果属性在类的实例之间是唯一的,则不应使用static
修饰符。
【讨论】:
以上是关于在单个 AppDomain 上运行多个应用程序实例时如何防止属性覆盖?的主要内容,如果未能解决你的问题,请参考以下文章
最佳实践:单个 Amazon EC2 实例上的多个 django 应用程序
从另一个 WPF 应用程序加载 WPF 应用程序程序集,出现错误:无法在同一个 AppDomain 中创建多个 System.Windows.Application 实例