0

リモートサーバー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 サーバーでホストし、ビルド サーバーから呼び出すのはどうでしょうか。歓迎以上に考慮すべきその他のアイデアや事柄。

4

2 に答える 2

1

SQL サーバーに対して無害な操作を実行する Web サーバー上にテスト ページを作成してみませんか。

たとえば、ページは単純なクエリを実行する場合があります (person から top(1) name を選択)。

あなたの質問にタグ付けされた Web サービスを確認できます。Web サービスをホストしているサーバーへの接続、または Web サービスをホストしているサーバーと基盤となるバックエンド サーバー (データベースなど) との間の接続を確認する場合、(私の意見では) 確認する最善の方法は、無害なサービスを呼び出すことです。それは簡単な読み取りを行います。WSDL を取得するだけでは不十分です。

于 2013-01-14T13:04:38.383 に答える
0

管理オブジェクトを使用して、ドメイン上のコンピューターとサーバーを照会および制御できます。 http://msdn.microsoft.com/en-us/library/system.management.aspx

SQL サーバーには、SQL サーバーの管理に固有の追加オブジェクトがいくつか含まれています。 http://msdn.microsoft.com/en-us/library/ms220749.aspx

Linqpad をお持ちの場合:

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

それ以外の場合は、コンソール アプリを作成し、ManagedComputer のインスタンスを作成し、デバッガーを使用してコンピューターの SQL サーバーにクエリを実行し、利用可能な情報の種類を確認します。

ご覧のとおり、大きなテーマです...

于 2013-01-14T13:38:56.597 に答える