0

IP アドレスを使用して PC (その他および自分の) がサーバーとして追加され、ステータスが「実行中」に設定されているアプリケーションがあります。DB にエントリが作成されます。

2 つのサーバー 10.51.1.159 と 10.51.1.136 を追加したとします。更新すると、10.51.1.159 のステータスは「実行中」(ローカルであるため) であり、10.51.1.136 のステータスは「エラー」(リモートであるため) です。デバッグしようとすると、10.51.1.136 に対して次の例外がスローされます。

リモート サーバーが例外 InvalidOperationException をスローします System.InvalidOperationException: Cannot open notifyservice service on computer '10.51.1.136'. ---> System.ComponentModel.Win32Exception: Access is denied

これを行うコードは次のとおりです。

static public void GetServerStatus(DataTable dt, string service)
{
    GetServerStatusColumns(dt);

    // get the service status for each server in the datatable
    ServiceController control = new ServiceController();
    foreach (DataRow row in dt.Rows)
    {
        try 
        {
            control.ServiceName = service;
            control.MachineName = row["SERVER_ADDRESS"].ToString();
            string status = control.Status.ToString(); // This is not set for 10.51.1.136, jumped to catch block after this.
            row["SERVICE_STATUS_ID"] = Convert.ToInt32(Enum.Format(control.Status.GetType(), control.Status, "d")) - 1;
            row["SERVICE_STATUS"] = status;

            if (status == "Running")
            {
                row["SERVICE_CANSTART"] = false;
                row["SERVICE_CANSTOP"] = true;
            } 
            else 
            {
                row["SERVICE_CANSTART"] = true;
                row["SERVICE_CANSTOP"] = false;
            }
        }
        catch (InvalidOperationException exp)
        {
            row["SERVICE_STATUS_ID"] =  5; // stopped
            row["SERVICE_STATUS"] = "Error";
            string excep = Convert.ToString(exp);
            row["SERVICE_CANSTART"] = false;
            row["SERVICE_CANSTOP"] = false;
        }
    }
}

ファイアウォールがブロックされているかどうかを確認しましたが、ファイアウォールが問題ではないようです。親切に私を助けてください。前もって感謝します。

4

1 に答える 1

1

「アクセスが拒否されました」とは、アプリケーションを実行しているアカウントに、他のコンピューターでサービスを管理する権限がないことを意味しますか?

ローカル アカウントで実行していますか? 次に、ドメイン アカウントに変更します (他のサーバーで権限を取得したもの)。

于 2013-10-09T09:23:15.223 に答える