2012-08-24 267 views
0

我已經開發了一個使用C#的WCF Web服務,它使用與我的後端數據交談的COBOL VM爲我的移動客戶端提供所需的數據。它有效,但它非常不可靠。我認爲這與Web服務的生命週期有關,我不明白它是如何崩潰的。我認爲問題是單身人士的COOBL VM,以及每次關閉它的過程。我已經嘗試過來自wcf web服務的C#調用服務器服務

lock(myobject) 
{ 
... run my code here 
} 

我想將COBOL VM移動到服務器服務,我可以堅持我的COBOL VM,只是讓調用它。我不知道如何在所有WCF Web服務調用中保持COBOL VM。我正在尋找示例,展示一個與服務器服務通信的wcf Web服務,以便我可以將業務層代碼移出該服務,並讓它調用服務器服務以獲取所需的數據。通過這種方式,我可以保持COBOL VM始終運行,而不像我在Web服務中那樣執行加載,執行和關閉過程。

有沒有人有WCF Web服務與WCF服務器服務通信的任何良好的例子?

+0

「服務器服務」是什麼意思? WCF Web服務已經在服務器上。目前還不清楚你想要建立的架構。另外,COBOL VM究竟是什麼?它是像JVM一樣的語言解釋器嗎?或者像VMWare這樣的虛擬化計算機? – millimoose

+0

VM是通過對象實例化的執行環境。它可能與Java VM類似,但我沒有看過Java的執行體系結構。我試圖設置一個架構,允許我對一個只能實例化一次的虛擬機(Singleton)執行COBOL程序。我想阻止對VM對象的多個請求,因爲它看起來不是線程安全的(因此鎖定的嘗試)和請求正在彼此之間。我的想法是到服務器服務,以便虛擬機可以保持運行。希望網絡srv的例子srv服務。 – Martin

回答

1

保持COBOL虛擬機一直運行,而不像我在Web服務中那樣經歷裝載,執行和關閉過程。

然後創建一個託管此VM客戶端的Windows服務,因此您只需連接一次即可保持其運行。然後,您可以讓該服務託管一個WCF服務,然後該服務將查詢VM客戶端。

+0

我不確定我在答案中缺少的是什麼。我原來的問題已經詳細說明了這是我正在考慮的方向,但我無法弄清楚如何讓Web服務與服務器服務進行通信。那部分可能是我很不好解釋的。無論哪種方式,它最後都沒有回答這個問題:有沒有人有WCF Web服務與WCF服務器服務進行通信的任何良好示例? – Martin

+0

@Martin [如何:託管Windows服務中託管WCF服務](http://msdn.microsoft.com/en-us/library/ms733069(v = vs.100).aspx)。然後讓WCF ServiceHost對象與Windows服務的代碼進行通信。 – CodeCaster

0

您可能更願意查看CORBA解決方案 - CORBA是唯一可以讓您訪問正在運行的進程的遠程技術。