4

ASP.Net ベースの Web アプリケーションを使用して、IIS 6.0 以降のバージョンの構成、操作、および制御に取り組んでいます。オプションとして、WMI、ADSI、マネージ API を検討しています。

対象の Windows システム WIN2k3 以降のバージョンがあります。選択した言語は C# で、アプリケーションは ASP.Net を使用して構築する必要があります。

この記事では、それぞれの方法について説明しますが、さまざまなことについて少し確信が持てません。 http://learn.iis.net/page.aspx/283/provisioning-options-in-iis7/rev/1

これらのオプションに関して、次の質問があります。

  1. 述べられた目標に対して、どちらが優れているか、またはより強力ですか? ADSI (System.DirectoryServices) または WMI (Microsoft.Web.Management) またはマネージ API (Microsoft.Web.Administratoion)? ここで何か間違ったことをしている場合は修正してください。

  2. それ以降のバージョンの IIS でサポートされる可能性が高いオプションまたはテクノロジはどれですか?

  3. 柔軟性とスケーラビリティが最も高いオプションはどれですか?
  4. 提案/選択されたテクノロジーのリソースはどこから入手できますか?

II5.1 以下で作業する可能性は低いです。したがって、互換性ゾーンは IIS 6.0 以降から始まります。アプリケーションは ASP.Net を使用して構築する必要があり、やむを得ない場合はアンマネージ コードを使用できます。

ありがとう

よろしく

スティーブ

4

2 に答える 2

4

IIS 7 以降では、おそらくIIS Management APIが必要です。MSDN の管理テクノロジの比較を既にお読みになっていると思います。1 つのプロジェクトだけを考えれば、あなたが最もよく知っているツールを使用できます。IIS メタベースの直接操作を伴うものはすべて、学習に専念する必要があります。

学習曲線を考慮して、WMI を使用することにしました。IIS を超えて広く使用されており、習得することは良い投資のように感じます。C# はそれをうまくサポートします。少し PowerShell を知っている場合は、"gwmi" オブジェクトを使用して簡単に調べることができます。.NET から WMI を使用する場合は、マネージ コード ジェネレーターから始めます。

于 2010-02-09T05:16:52.977 に答える
4

IIS6 ではSystem.DirectoryServices、ADSI のマネージド ラッパーである名前空間を使用します。これは、IIS WMI プロバイダーを使用するよりも簡単に使用できます。

IIS7 の場合、Precipitous が提案したように、新しい IIS 7 Managed Code Administration API (Microsoft.Web.Administrationその他) を使用します。コンシューマ向けの古いスタイルの ADSI API を維持する IIS6 互換コンポーネントを IIS7 で使用できます (ただし、新しい IIS7 コンポーネントのラッパーです)。これらはほとんど動作します。

ただし、ADSI ラッパーで問題が発生します。preConditionsたとえば、同じサイトまたはアプリケーションに複数のバージョンの ASP.NET のハンドラー マッピング定義を共存させるなどのハンドラー マッピング (IIS6 スクリプト マップに類似) のプロパティを認識していません。ADSI 互換性レイヤーはAboMapperCustom、構成が最適ではなく、これらの新機能を認識しないオブジェクトと呼ばれるオブジェクトを作成します。

2 つのコード ベース (IIS6 用と IIS7 用) を持つのは大変な作業のように思えるかもしれませんが、正直なところ、それほど悪くはありません。私はホスティング事業者で働いており、この道を歩んできました。私たちはやり直し、古い IIS6 コードを維持し、IIS7 で新たに始めることにしました。

于 2010-02-09T06:54:40.500 に答える