簡體   English   中英

如何從Asp.NET Web應用程序授予對C#控制台應用程序的權限?

[英]How to give permission to a C# Console application from Asp.NET web application?

當我嘗試從本地計算機上的Web應用程序啟動控制台應用程序時,它運行正常,但是在發布后嘗試在托管服務器上進行操作時,出現"Access is denied"錯誤。

如果需要,這是我調用控制台應用程序的代碼。

      try
            {
                ProcessStartInfo startinfo = new ProcessStartInfo();
                startinfo.FileName = Server.MapPath("~/ConsoleApplications/WebConsol.exe");
                startinfo.CreateNoWindow = true;
                startinfo.UseShellExecute = true;
                Process myProcess = Process.Start(startinfo);
            }
            catch (Exception ex)
            {
                Response.Write(ex.Message);
                if (ex.InnerException != null)
                {
                    Response.Write(ex.InnerException);
                }
            }

如何為控制台應用程序授予權限以避免"Access is denied"錯誤? 我需要在項目中使用它還是關於Web托管服務器?

注意:我要啟動控制台應用程序以用作TCP服務器來實現tcp偵聽器。

編輯:我的托管服務提供商是Arvixe。

如另一個答案中所述,您應該添加以下代碼行:

startinfo.UserName = username;
startinfo.Password = MakeSecureString(password);

加:

startinfo.UserShellExecute = false;

您可以在此處獲取更多信息:

  1. 鏈接1
  2. 鏈接2

您在托管環境中是否具有足夠的特權來運行此類應用程序?

如果這樣做,請嘗試設置具有執行權限的帳戶的用戶名和密碼:

startinfo.UserName = username;
startinfo.Password = MakeSecureString(password);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM