2014-04-04 116 views
0

我有2個應用程序:共享的app.config

  • Windows服務(與配置網站HTTP監聽& API)
  • 控制工具(WPF應用程序)

控制工具的要求非常簡單:

  • 啓動/停止服務
  • 啓動指向網站的瀏覽器(例如, http://local:5555

尋找稱爲「MyService」的Windows服務,檢索其狀態並在需要時啓動它非常簡單。但是,如何使用正確的鏈接啓動瀏覽器? HTTP偵聽器偵聽的端口可以在我的Windows服務應用程序的app.config中配置,並且不可能發現偵聽器。 app.config可以在2個應用程序之間共享嗎?

我知道ConfigurationManagerOpenExeConfiguration(),但這會導致其他問題:

  • 我需要知道去哪裏Windows服務安裝
  • 讀取配置可能會導致路徑讀取鎖
  • 如果配置文件是加密的,我必須知道的關鍵

還有沒有其他的解決方案,以實現這一目標?

回答

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"); 
} 
+0

奇怪的是,註冊表激起我內心的同樣的情緒,當我回想起我童年時第一次碰到熱板時的那一刻。噢,讓我們這樣做..我猜... – Acrotygma