1

IIS Web サイトを停止/開始する ac# .Net アプリケーション (Web またはデスクトップ) を探しています。

これについてインターネットで検索していましたが、うまくいく例や説明が見つかりません。

このdllを見つけましたhttp://msdn.microsoft.com/en-us/library/microsoft.web.administration.servermanager%28v=VS.90%29.aspx

これは、IIS Web サイトを停止/開始しようとしている例です。

「Microsoft.Web.Administration の使用」リファレンス..

var server = new ServerManager();
var site = server.Sites.FirstOrDefault(s => s.Name == "SITENAME");  
if (site != null)
        {
            //stop the site...
            site.Stop();
            if (site.State == ObjectState.Stopped)
            {
                //do deployment tasks...
            }
            else
            {
                throw new InvalidOperationException("Could not stop website!");
            }
            //restart the site...
            site.Start();
        }
        else
        {
            throw new InvalidOperationException("Could not find website!");
        }

site.Stop 例外をスローします。

"Access denied. (Excepción de HRESULT: 0x80070005 (E_ACCESSDENIED))"

ExceptionType "UnauthorizedAccessException"

これどうやってするの?私は何を間違っていますか?

4

2 に答える 2

2

私のコメントを拡張します: エラーはかなり明らかなようです。アプリケーションが実行されているセキュリティ コンテキストにはアクセス許可がありません。プログラム自体が IIS で実行されている場合は、プログラムが使用しているアプリ プールに特権ユーザー アカウントがあることを確認してください。

IIS では、Web サイトはアプリケーション プールの下で実行されます。アプリケーション プールが、適切なアクセス許可を持つ ID を使用していることを確認してください。既定の ApplicationPoolIdentity アカウントには、正当な理由により昇格されたアクセス許可がありません。

管理者権限があることを示したので、テスト目的で、これに独自のログインを使用できます。

ここに画像の説明を入力

于 2012-07-02T13:23:32.683 に答える
1

プログラムを管理者として実行する必要があります。

于 2012-07-02T00:36:07.840 に答える