2011-06-10 58 views
1

我們正在使用使用以下配置文件的遠程處理設置運行。遠程處理構建後腳本來檢查遠程處理對象是否實際構建

<application> 
    <service> 
     <wellknown mode="Singleton" type="NameSpace.ProjectNameSpace.ProjectPartNameSpace.ObjectA, ProjectPartName" objectUri="iObjectA.rem" /> 
     <wellknown mode="Singleton" type="NameSpace.ProjectNameSpace.AnotherProjectPartNameSpace.ObjectB, AnotherProjectPartName" objectUri="iObjectB.rem" /> 
    <service> 
<application> 

只要項目在客戶端調用Remoting對象時實際包含給定的對象(ObjectA和ObjectB),就可以正常工作。

問題

是否有一個簡單的方法來檢查,如果在服務器的構建/啓動實際存在的遠程對象?

在目前的情況下,我們必須等待客戶撥打電話,然後才能看到對象不存在。

+0

我希望有一個構建時間解決方案,但也歡迎任何其他解決方案(非構建)。我有一套測試腳本,所以一個簡單的測試腳本就沒問題。 – CodingBarfield 2011-06-10 10:00:04

回答

0

我發現了一個'可以接受'的答案,但我並不滿意。

更改配置爲以下內容:

<system.runtime.remoting> 
    <application> 
    <service> 
     <wellknown mode="Singleton" type="NameSpace.ProjectNameSpace.ProjectPartNameSpace.ObjectA, ProjectPartName" objectUri="iObjectA.rem" /> 
     <wellknown mode="Singleton" type="NameSpace.ProjectNameSpace.AnotherProjectPartNameSpace.ObjectB, AnotherProjectPartName" objectUri="iObjectB.rem" /> 
    <service> 
    </application> 
    <debug loadTypes="true"/> 
</system.runtime.remoting> 

會給出一個遠程處理例外不存在爲引用的項目DLL的所有對象。這會給每個不正確的配置行提供一個例外,但是在兩者之間必須重新啓動服務器以獲取不再有效的「下一個」遠程對象。

+0

在我們的情況下,我們遇到了額外的問題,即無論我們是否使用該類,配置文件中的一個小代碼生成工具創建的.rem鏈接。所以我們不能使用'trick' – CodingBarfield 2011-06-10 14:40:52