.net ベースの Web サービスを公開するために使用される asp.net システムを構築しています。
ロジックは単純です。App_Data フォルダーの下に、さまざまな種類の Web サービス テンプレートがあります。
たとえば、アプリケーションの URL は次のとおりです。http://localhost/serviceManager
そして、これは私たちのアプリケーションのフォルダです:
App_Data
ws1.zip
ws2.zip
Bin
modules
service
web.config
注: このシステムに最初にアクセスした場合、「サービス」ディレクトリが iis の「アプリケーション」であるかどうかを確認します。そうでない場合は、作成します。
私たちのシステムを通じて、ユーザーはいくつかの必要な情報 (特に「test」などのサービス名) を段階的に入力することができ、後で使用するためにそれらを収集します。
test
次に、ディレクトリの下に名前の付いたフォルダーを作成しservice
、それに応じて Web サービス テンプレート (ws1.zip など) を見つけ、test
フォルダーのコンテンツを抽出し、取得した情報に応じて web.config ファイルを変更します。
最後に、IIS でtest
を として設定します。application
これで、アプリケーションのフォルダーは次のように変更されます。
App_Data
ws1.zip
ws2.zip
Bin
modules
service
test
App_Data
service.asmx
web.config(filled with gathered information)
web.config
そして、新しい Web サービスがデプロイされ、これを使用してアクセスできます。
http://localhost/serviceManager/service/test/service.asmx (note,the service.asmx exist in every template)
これが私たちにできることです。
ただし、クライアントには現在、さらに要件があります。
1. 作成したサービスから管理者システムを分離します。
クライアントは、作成したサービスをインターネットにマッピングし、管理システムをイントラネットのみに保持したいので、これはセキュリティのためです。
ご覧のとおり、作成されたサービスはマネージャー アプリケーションの下に配置されます。それらを別のポートにデプロイする必要があります (iis では、別のポートは別の Web サイトを意味しますよね?)。
たとえば、アプリケーションの URL は変更されません。http://localhost/serviceManager
ただし、作成されたサービスは次のように変更されます。http://localhost:8888/service/test/service.asmx
2. クラスターを実装する (特に作成したサービスの場合)
作成するサービスはマス指向なので、パフォーマンスを考慮すると、クライアントにはクラスターが必要です。
ただし、IIS クラスターのようなものは見つかりませんでしweblogic
た。そのため、サービスが作成されたらそのコピーを作成し、同じポートと仮想コンテキスト名を持つ別のサーバー (クラスター ノード) に配置する唯一の方法だと考えています。
もしそうなら、投稿トピックとして別のマシンのiisで「アプリケーション」を作成する必要があります。
今はわからないのですが、誰か提案してもらえますか?
ところで、iis6 - iis7.5 をサポートする必要があります。