问题标签 [single-instance]
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.
c# - 在 SingleInstanceApplication 中更新 Splash 标签:WindowsFormsApplicationBase
在应用程序启动时更新启动画面标签以告知用户发生了什么的最佳方法是什么?问题是闪屏是在覆盖方法中创建的,而更新必须在静态主方法中完成,它无法访问“this.SplashScreen”。
c# - 2个应用程序实例之间的简单通信
我有一个 WPF 应用程序,它可以采用一些可选的命令行参数。
这个应用程序也是一个单实例应用程序(如果一个实例已经打开,则使用互斥锁关闭任何实例)。
不过,我想要它做的是,如果某些东西试图用一些 cmd 行参数打开应用程序,那么应用程序将执行它应该对那些执行的操作(在我的应用程序中,它会根据 cmd 行打开不同的对话框)。
实现这一目标的最简单方法是什么?
在psedo代码中,这是我正在寻找的
drupal - 带有子目录的 Drupal 多站点设置
我有一个带有单个代码库的多站点设置。是否可以像这样使用子文件夹设置我的站点目录:mysite.com in /home/drupal/sites/mysite.com
/home/drupal/sites/cluster1/othersite1.com 中的 othersite1.com
/home/drupal/sites/cluster1/othersite2.com 中的 othersite2.com
/home/drupal/sites/cluster2/othersite3.com 中的 othersite3.com
/home/drupal/sites/cluster2/othersite4.com 中的 othersite4.com
我正在尝试找到一种方法来组织我的所有网站。
谢谢
vb6 - VB6:跨所有用户会话的单实例应用程序
我有一个应用程序需要是跨 Windows PC 上所有用户会话的单实例应用程序。到目前为止,我的研究主要集中在使用互斥锁来实现这一点,但我遇到了一个我不确定是否真的是问题的问题,我相信这确实是一个最佳实践问题。
首先是代码:
现在,根据这篇文章,我相信我明白,通过将 NULL 指针传递给上面的 CreateMutex 函数,我基本上是在分配与当前登录用户关联的任何安全描述符。
如果这意味着我认为它的作用(我可能需要更多指导)告诉我其他登录用户将无法“看到”在原始用户会话下创建的互斥锁,他们也无法创建同名的互斥锁。
现在,经验证据似乎支持这一点。我使用消息框弹出我收到的“LastDLLError”,当另一个用户尝试启动应用程序时(当它已经在另一个用户帐户下运行时)我会收到一个 ERROR_ACCESS_DENIED 代码。我可以与 ERROR_ALREADY_EXISTS 代码一起对此进行测试,并且只是退出或退出。但是,这感觉有点骇人听闻,我想知道是否有人可以提出替代方案。要做的“正确”事情似乎是将正确的指针传递给 CreateMutex 函数,以便任何用户都具有查看任何现有互斥体(互斥体?)的适当权限,但我不太确定如果没有当前的登录用户是管理员(这是不可接受的)。非常感谢任何帮助/指导。
sharepoint - 确保在前一个实例仍在运行时无法启动长时间运行的 SharePoint 计时器作业
确保 SharePoint 计时器作业只运行一次的最佳做法是什么?
使用 SPJobLockType.Job 可确保它仅在一台机器上启动。但是如何防止在前一个实例仍在运行时启动新实例?如何确定先前的实例是否仍在运行以阻止手动启动计时器作业?
我看到两种可能的解决方案:
1) 通过某些 API 功能测试以前的实例是否仍在运行。我不知道这样的 API 功能。
2)使用信号量。但是在电源故障的情况下如何可靠地重置信号量......?
visual-studio-2010 - 将 ATL exe 服务器仅限于一个进程(实例)
我有一个用 C++ 编写的 ATL exe 服务器(Visual Studio 2010,合并了 proxy-stud dll)。该可执行文件针对 Windows 7 x86 和 x64 编译。两种架构都会发生以下情况:
ATL exe 服务器应该充当“服务器进程”,也就是说 - 每台机器应该存在一个进程(MyATLServer.exe,只有一个!),并且许多客户端(让我们保持简单:在同一台机器上)正在使用来自的 COM 对象它。服务器保存应用程序状态(在内存中),所有客户端都应该通过使用服务器公开的 COM 对象来“共享”这个状态。
exe 服务器通常在系统启动时启动,因为它是由 COM 调用调用以创建它的托管对象之一。该调用源自 spoolsv.exe 进程(打印后台处理程序服务)。这会导致服务器进程在“SYSTEM”用户下运行(我猜是因为 spoolsv.exe 使用“SYSTEM”运行)。
当其中一个客户端从 ATL 服务器创建 COM 对象时,另一个进程(又是 MyATLServer.exe)被实例化(在登录到 Windows 的用户下运行),因此,它不能与“原始”进程共享应用程序状态(它在'SYSTEM'下运行)。第二个客户端将连接到由登录用户实例化的那个(“第二个”)。
在网上搜索了无数论坛后,我设法得出以下结论:
1) 我的 ATL 服务器使用默认的(由 VS2010 自动生成的)ATL-Module,它继承自 ATL::CAtlExeModuleT<>。深入研究 ATL 标头,我确信该模块调用 AtlComModuleRegisterClassObjects 时使用了正确的标志(dwClsContext = CLSCTX_LOCAL_SERVER,标志 = REGCLS_MULTIPLEUSE | REGCLS_SUSPENDED)。所以它排除了这个。
2) 使用 start -> run -> dcomcnfg -> DCOM Config -> MyATLServer -> Properties 我在“身份”选项卡下设置了“此用户”选项(使用本地管理员用户)。在“位置”选项卡中,未选中“在此计算机上运行应用程序”选项并显示为灰色。这让我再次搜索,我到了这里:http ://social.technet.microsoft.com/Forums/en-US/w7itprosecurity/thread/4f63ee11-e472-40f9-85db-a6b235d7579c 。该链接说明 dcomcnfg 实用程序的 x64 版本存在错误,应该在 x64 Windows 上使用它的 32 位版本(开始->运行->'mmc comexp.msc /32')。在两个系统(每个系统一个)上检查后,我发现“在这台计算机上运行应用程序”选项显示为灰色,并且在两个系统上都没有选中。
从这一点开始,我完全迷失了(并试图抑制挫败感...... :-))。我在正确的道路上吗?以前有人这样做过吗?
或最初的意图 - 如何使我的 ATL exe 服务器“单处理”?
谢谢!
暗里
android - 如果活动的启动模式为 singleInstance,则不会触发 onActivityResult
我有一个活动,它基本上是我的主要活动,它的启动模式是单实例。但是由于 singleInstance,onActivityResult()
回调不会触发。如果我将清单文件中的启动模式更改为任何其他模式,它就可以正常工作。
你能解释为什么这个回调不起作用吗?
c++ - 如何在 C 或 C++ 中创建单实例应用程序
为了创建一个单实例应用程序,您有什么建议,以便一次只允许运行一个进程?文件锁,互斥锁还是什么?
autofac - Autofac:具有多租户依赖关系的单实例对象
给定两个类 A 和 B,其中 B 依赖于 A(构造函数注入);B 在基础容器中注册为 SingleInstance,并构建。A 在 MultiTenantContainer 中注册为 SingleInstance,在tenantId 上有所不同。
问题一:会
认识到 B 也必须在tenantId 上有所不同?
问题 2:相同,但 A 在多租户容器中注册为生命周期范围,而 B 依赖于
更新:关闭!
这是一个“我真正想要的是……”的案例,因为我的初学者对语义缺乏了解;具体来说,我需要在租户生命周期范围内的所有解决方案中构建/共享的实例,而这些实例并不存在。得到了一些指导,提交了关于 issue #318 的补丁,它被拉进了变更集 752 的主干,我们很高兴!现在上面的问题将变为:
给定两个类 A 和 B,其中 B 依赖于 A(构造函数注入);B 在基础容器中注册为InstancePerTenant,然后构建。A 在 MultiTenantContainer 中注册为InstancePerTenant,在tenantId 上有所不同...
现在这两个问题的答案都是“是”。
感谢 Travis 和 Nick 的帮助和维护这个伟大的工具。
wix - 是否可以同时只运行一个 WiX msi 实例?
我有使用 WiX 实现的带有 msi 安装程序的 .Net 产品。现在可以同时运行我的安装程序的多个实例。我想知道是否可以限制同时运行多个安装程序实例?
谢谢。