2012-11-16 98 views
2

我在Delphi 2010中開發了一個應用程序,用於從事務性隊列中讀取XML數據。如果隊列是本地或遠程的,並且我不必在兩種情況下都設置權限,則它工作正常。在消息隊列中拒絕訪問

現在我必須將該應用程序轉換爲Windows服務。我將相同的應用程序複製並粘貼到服務代碼中,但是當我嘗試讀取隊列時,出現「拒絕訪問」錯誤。我正在我的本地機器上進行測試。

有人說這是權限問題。我在Stack Overflow的一些帖子中發現了同樣的問題,但我沒有找到解決方案。

任何想法?我也使用Windows 7。

+0

請顯示您的實際失敗代碼。 –

+0

謝謝雷米。我的問題解決了。我必須使用我的帳戶名稱和密碼登錄服務。 – Nelson

回答

1

如果您在本地運行應用程序,那麼您正在使用Windows登錄憑據運行該應用程序。默認情況下,服務將在不同的用戶帳戶下啓動,這可能與您的帳戶沒有相同的權限。

調出服務管理器(start-> services.msc),在列表中找到您的服務,右鍵單擊它並選擇屬性。然後選擇「登錄」選項卡並將其更改爲特定的帳戶名稱/密碼。 (使用您的帳戶名稱/密碼。)然後,您將使用相同的憑據執行代碼,以便拒絕訪問錯誤應該消失。

+0

它的工作!我用我的帳戶名稱和密碼,我沒有得到「訪問被拒絕」的錯誤了。非常感謝Darian,我很感激。 – Nelson

+0

@Nelson,別忘了接受答案! –