共享app.config

时间:2014-04-04 11:22:46

标签: c# .net windows-services app-config

我有2个申请:

  • Windows服务(使用配置网站&api的HTTP侦听器)
  • 控制实用程序(WPF应用程序)

控制实用程序的要求非常简单:

  • 启动/停止服务
  • 启动指向网站的浏览器(例如http://local:5555

寻找名为“MyService”的Windows服务,检索其状态并在需要时启动它非常简单。但是,如何使用正确的链接启动浏览器? HTTP侦听器正在侦听的端口可以在我的Windows服务应用程序的app.config中进行配置,并且不可能发现侦听器。可以在2个应用程序之间共享app.config吗?

我知道ConfigurationManagerOpenExeConfiguration(),但这会导致其他问题:

  • 我必须知道安装Windows服务的路径
  • 读取配置可能会导致读锁定
  • 如果配置文件已加密,我必须知道密钥

有没有其他解决方案来实现这一目标?

1 个答案:

答案 0 :(得分:1)

您可以使用注册表来交换数据。

// Create a Subkey
RegistryKey newKey = Registry.CurrentUser.CreateSubKey("SOFTWARE\\SuperSoft\\App");

// Write Values to the Subkey
newKey.SetValue("Value1", "Content1");
newKey.SetValue("Value2", "Content2");

// read Values from the Subkey
if (SubKeyExist("SOFTWARE\\SuperSoft\\App"))
{
  RegistryKey myKey = Registry.CurrentUser.OpenSubKey("SOFTWARE\\SuperSoft\\App");
  string firstApp = (string)myKey.GetValue("Value1");
  string secondApp = (string)myKey.GetValue("Value2");
}