2011-02-10 112 views
0

我有一個Web站點和Windows服務通過單個調用服務器對象進行通信。我的遠程設置是通過配置文件處理的。RemotingConfiguration.Configure失敗時該怎麼辦?

通常,如果我使用new()實例化對象,我會得到一個「TransparentProxy」。然後當我調用一個方法,如果Windows服務正在運行,它將工作,如果不是,我會得到一個RemotingException。

今天,我注意到我們的生產環境中,當new()被稱爲本地對象正在創建。看起來發生的是我在Global.asax文件的網站「Application Start」事件中調用的「RemotingConfiguration.Configure」。例外情況如下:

「System.Reflection.TargetInvocationException」內部有異常「RemotingException:」無法創建IPC端口:「訪問被拒絕。」。拋出錯誤的方法是「IpcServerChannel.StartListening」。

我在開發過程中從未看到過這個錯誤,並且該應用程序在生產中已運行了大約一個月。爲什麼會發生這種錯誤?我非常有信心真正的原因不是訪問問題。

感謝,

克里斯·麥金農

回答

0

在.NET版本的任何改變,無論是安裝還是在網站的屬性設置? 配置文件中的任何更改?即使是小的? This link顯示小錯誤的影響。

另一個需要研究的方案是服務關閉 ,並在客戶端仍處於活動狀態時再次啓動。該服務嘗試 重新註冊IpcServerChannel使用與上次 相同的端口名稱和名稱。 See this link的細節。