1

複数の統合テスト プロジェクトと 1 つの Web アプリケーション プロジェクトを含むソリューションがあります。各統合プロジェクトは、テストの実行時に Web アプリケーションに接続します。各テスト プロジェクトが独自のデータベース接続で Web サイトにアクセスできるようにしたいと考えています。Visual Studio に組み込まれている Web デプロイ機能を使用しようとしています。ただし、作成された展開パッケージやテスト プロジェクトのビルド後のイベントに、展開時に Web サイトのバインド ポートを宣言するために何を追加する必要があるかを理解できませんでした。たとえば、統合プロジェクト A がhttp://localhost:83にある Web サイトを作成してアクセスし、統合プロジェクト B がhttp://localhost:82にある Web サイトを作成してアクセスするようにします。. 誰か説明してください:

  1. 展開パッケージを実行するために必要なことはありますか?
  2. プロジェクトのビルド時に Web サイトが正しいポートで作成されるように、パッケージをデプロイするときに統合プロジェクトのビルド後のイベントに何を追加する必要がありますか?

更新: 両方の統合テスト セットを同時に実行できるように、同じサイトをマシン上の 2 つの異なる場所にデプロイしたいと考えています。

更新 2: Web デプロイ ツールを調査したところ、コマンド ラインから呼び出したときにデプロイされるものを変更するパラメーターを指定できます。ただし、ドキュメントが非常にわかりにくいことがわかりました。http://technet.microsoft.com/en-us/library/dd568968(WS.10).aspx

更新 3: これらは 2 つの異なる Web サイトであり、それぞれが独自のデータベースを指していると思います。可能であれば、msdeploy を使用して展開できる単一のパッケージが欲しいです。これは、各統合テスト プロジェクトからビルド後のイベントで呼び出されます。統合プロジェクトのビルド後のスクリプトから、接続文字列と配置場所を指定したいと考えています。

4

3 に答える 3

0

まず、あなたはこれに間違った方法でアプローチしています。

> テスト プロジェクトごとに、独自のデータベース接続を使用して Web サイトにアクセスできるようにしたいと考えています。

DB 接続を作成しているのは誰ですか? あなたの Web サイトですか、それともテスト プロジェクトですか? あなたの質問の残りの部分を理解するために、私はそれが Web サイトであると推測します (そうでなければ、プロジェクト A とプロジェクト B はそのままでは接続を共有できません)。

ウェブサイトが接続を確立している場合、キャッシュまたは静的接続を使用していない限り、各リクエストが新しいスレッドでサイトを実行するときに新しい接続が確立されます。もう 1 つの簡単な方法は、クエリ パラメータを取得し、それに基づいて新しい接続を開始することです。呼び出し元からシードすると、より詳細なログにも使用できます。

http://localhost...Web 配置プロジェクトは、統合サーバーへの配置を目的としているため、サーバーの完全な FQDN 以外ではアクセスできません。

最も重要なのは、http://localhost:82/myApphttp://localhost:83/myAppが同じコードベースを実行している 2 つの異なるサイトであることです (いずれかのサイトから別のサイトにリダイレクトすると、それ自体が追加の問題を引き起こす可能性がある場合を除きます)。

そうは言っても、Web サイトを 2 回デプロイする必要があります。必要なのは、プロジェクト A と B の config/settings エントリを変更して、これらが異なるサイトを指すようにすることだけです。

これが理にかなっていることを願っています。

于 2011-07-27T14:29:33.723 に答える
0

Visual Studio に含まれている webdev.server で試すことができます。VisualStudio は、デバッグ時に Web サーバーを起動するためにこれを使用します。これにより、目的のポートで Web サーバーを開始できます (ポートが現在使用されていない場合)。一部のオプションを変更するためのbatファイルを作成しました。チェックしてください。

::batファイルの始まり

cd C:\Program Files\Common Files\microsoft shared\DevServer\10.0\ WebDev.WebServer40.exe /port:80 /path:"C:\PATHTOYOURWEBPROJECT" /vpath:"/NAMEOFYOURWEBPROJECT"

::バットファイルの終わり

アクセスできます: http://localhost:80

私は webserver40 を使用していますが、net.4 または vs2010 がない場合は、webserver[ xx バージョン].exe を検索してみてください。

これが役に立てば幸いです。私の壊れた英語で申し訳ありません。

于 2011-07-25T18:28:08.223 に答える
-1

仮想ホスト構成を定義できます。
詳細については、このガイドを参照してください。

http://docs.jboss.org/jbossas/guides/webguide/r2/en/html/ch07.html

于 2011-06-26T10:16:29.880 に答える