リモートサーバーAがリモートサーバーBに「接続」できることをテストする必要があります(ビルド/展開後の検証テスト(BVT)の一部と思われます)。
LOCAL 開発者 VM で C# を使用してコンソール アプリケーションを開発したいと考えています。次に、これはリモートサーバーAに「接続」する必要があります。次に、リモートサーバーAがリモートサーバーBに「接続」できることを確認する必要があります(LOCALからリモートサーバーAへの元の接続を介して)。
現在、リモートサーバーBに接続する単純な「ヘルパー」exeを生成しました(リモートサーバーBおよびSqlConnectionクラスへの以前の既知の接続文字列ポイントを使用)。exe は、ビルド プロセスの一部として (最後に) リモート サーバー A にコピーされます。ビルド サーバー上の PSEXEC.exe は、リモート サーバー A 上の "ヘルパー" exe をリモートで開始し、%errorcode% をチェックします。これにより、BVT が成功するか失敗するかが決まります (その後、「ヘルパー」exe がリモート サーバー A から削除されます)。
参考までに、すべてのマシンは Windows Server 2008 R2 x64 Enterprise を実行しており、同じローカル ドメインにあります。私は 3 台のマシンすべての管理者です。
リモート サーバー A は Web サーバーであり、リモート サーバー B は SQL データベース サーバーです。LOCAL マシンはビルド サーバーを表します。このテストは、「Web サーバーがデータベース サーバーに接続できるか」という単純なものです。難しいのは、それをリモートで行う方法です。
システム/統合/エンド ツー エンドのテスト (コード化された UI などを使用) を実行できることはわかっていますが、これを行っていますが、この要件/テストも検討したいと考えています (サーバーやネットワーク構成などは「共有責任」であるため)。 "外部の関係者とのやり取りであり、私たちの知らないうちに何かが変更された/変更されることを保証することはできません (サービスデスクプロセスを介して対応する場合を除く))
私が採用したプロセスはOTTのようですが、機能しているように見えます(ポートを閉じた場合など)。TCPCLient クラスなどを使用して完全に .NET で行う方法はありますか? Web サービスを実行して Web サーバーでホストし、ビルド サーバーから呼び出すのはどうでしょうか。歓迎以上に考慮すべきその他のアイデアや事柄。