2013-01-14 26 views
0

我們有一個要求(我相信作爲一個後生成/部署驗證測試(BVT)的一部分)來測試遠程服務器可以「連接」到遠程服務器B.檢查遠程服務器和遠程服務器B之間的「連接」程序

我想開發使用C#在我的本地開發商VM控制檯應用程序。然後,它應該「連接」到遠程服務器A.然後需要檢查遠程服務器A是否可以「連接」到遠程服務器B(通過從LOCAL到遠程服務器A的原始連接)。

目前我已經產生一個簡單的「輔助者」 EXE,它連接到遠程服務器B(用以往公知的連接字符串指向遠程服務器B和SqlConnection的類)。該exe被複制到遠程服務器A作爲構建過程的一部分(在最後)。生成服務器上的PSEXEC.exe然後遠程啓動遠程服務器A上的「助手」exe並檢查%errorcode%。然後確定BVT是否應該通過或失敗(然後從遠程服務器A刪除「助手」exe文件)。

FYI所有計算機上運行的Windows Server 2008 R2 x64的企業,並在同一個地域。我是所有3臺機器的管理員。

遠程服務器A是Web服務器,遠程服務器B是SQL數據庫服務器。 LOCAL機器將代表構建服務器。這個測試很簡單,因爲「Web服務器可以連接到數據庫服務器」。難點是如何遠程做到這一點。我知道我可以做系統/集成/端到端測試(使用編碼UI等),我們正在這樣做,但也想考慮這個需求/測試(因爲服務器和網絡配置等與外部方「共同承擔責任」,並且我們不能保證在我們不知情的情況下任何事情會發生變化(除了通過服務檯流程做出反應外))

我採用的過程似乎是OTT,但似乎工作正常我關閉端口等)。有沒有完全.NET的方式使用TCPCLient classess或類似的東西?怎麼做web服務並將其託管在Web服務器上並從構建服務器調用它們?其他想法和事情要考慮更多的是歡迎。

+0

我只寫一個BAT來ping兩個服務器... – Alex

+0

並調用它通過PSEXEC遠程服務器的遠程從構建服務器(本地VM)上。可執行程序?我將如何更改協議/端口以確保SQL(端口1433,80 HTTP,443 HTTPS通過PING打開)?我相信我將不得不使用類似的工具PING,但不知道是什麼? – Kyle

回答

1

爲什麼不創建執行對SQL服務器的無害操作的Web服務器上的測試頁。

頁可能執行例如一個簡單的查詢(從一個人選擇頂(1)名稱)。

我可以在您的問題中看到標記爲web服務的網頁服務。如果您想要驗證與託管Web服務的服務器的連接,或者託管Web服務的服務器與底層後端服務器(例如數據庫)之間的連接,最好的方式(在我看來)應該是調用無害的服務這是一個簡單的閱讀。檢索WSDL是不夠的。

0

您可以使用Management對象來查詢和控制域中的計算機和服務器。 http://msdn.microsoft.com/en-us/library/system.management.aspx

SQL Server包含一些特定於管理SQL Server的額外對象。 http://msdn.microsoft.com/en-us/library/ms220749.aspx

如果你有Linqpad:

ManagedComputer mc = new ManagedComputer("yourserver"); 
mc.Dump(); 

否則創建一個控制檯應用程序,並創建ManagedComputer的實例,並使用調試器來查詢計算機的SQL服務器,看到的那種可用信息。

正如你可以看到它的一個大課題......