あなたは、IIS 7.0構成システムへのアクセスを読み書き提供ServerManager(Microsoft.Web.Administration)を探しています。
Microsoft.Web.Administration.SiteCollectionを繰り返し、サイトオブジェクトを使用してWebサイトへの参照を取得し、Nameプロパティの値を読み取ります。
// Snippet
using (ServerManager serverManager = new ServerManager()) {
var sites = serverManager.Sites;
foreach (Site site in sites) {
Console.WriteLine(site.Name); // This will return the WebSite name
}
ます。またServerManager.Sitesコレクションを照会するLINQを使用することができます
// Start all stopped WebSites using the power of Linq :)
var sites = (from site in serverManager.Sites
where site.State == ObjectState.Stopped
orderby site.Name
select site);
foreach (Site site in sites) {
site.Start();
}
注意(以下の例を参照):Microsoft.Web.AdministrationはのみとIIS7に動作します。
IIS6の場合は、ADSIとWMIの両方を使用できますが、ADSIよりも高速なWMIを使用することをお勧めします。 WMIを使用している場合は、WMI Code Creator 1.0(Microsoftによって無料/開発)をご覧ください。それはあなたのためのコードを生成します。
HTH
の下に使用することができますか? –
私は書いたWebアプリケーションのライセンスを取得しています。ライセンスキーが同じサーバー上であってもWebアプリケーションごとに1回だけ使用されるようにする必要があります。 Webアプリケーションは、IISサイトに割り当てられた複数のドメイン名で動作するため、サイトのドメイン名にキーをバインドすることはできません。 同じマシン上に複数のクライアントがインストールされているため、同じ名前のバインドではマシン名のキーはどちらの方法も実行しません。 要するに、私は、特定のマシン上のIIS Webサイトを一意に識別する何かが必要です。 IISは同じ名前の複数のサイトを許可していないので、私はその方法を理解しています。 –
私は耳を傾けることをやめることを意味しなかった、私は誰かがそれをしたいと思う理由が不思議です。 –