0

C# を使用してプログラムで IIS (バージョン 7.5) アプリケーション プールをリサイクルする必要があります。「ServerManager」クラスを使用して ApplicationPoolCollection を取得しようとすると、 UnauthorizedAccessException が発生しました。偽装を使用する必要があると思います。しかし、私は偽装を使用することを知りません。とにかく、web.configの代わりに属性で偽装を使用することはありますか?

4

1 に答える 1

0

アプリケーション プールのリサイクル、サイトの開始と停止、Web サイトの作成など、IIS で管理操作を実行するには、管理者として実行する必要があります。

プログラムでユーザーを偽装する場合は、WindowsIdentity.Impersonateメソッドを使用する必要があります。

そこには、作業を開始するための適切なサンプル コードのスニペットがあります。

もちろん、高度な特権を持つユーザーの資格情報をweb.configファイルに保存する (またはハードコードする) 場合は、通常の注意事項がすべて適用されます。

また、マネージ API を使用してプログラムで IIS にアクセスするコードをデバッグしようとしている場合は、ServerManager「管理者として実行」を実行して Visual Studio を起動してください。自分の Windows アカウントが Administrators グループのメンバーであっても、これを行う必要があります。

于 2011-06-23T21:32:17.940 に答える