【问题标题】:Exe working if executing from VS2012 but not working when hosted on IIS如果从 VS2012 执行,则 Exe 工作,但在 IIS 上托管时不工作
【发布时间】:2015-03-16 14:37:39
【问题描述】:

我正在从 MVC 网站执行此代码。如果我从 VS 2012 IIS express 运行此代码,它可以工作,但如果我将网站托管在 IIS 服务器上,它就不起作用。我尝试调试,但出现了一些错误代码。如果我也冒充我的身份并传递我的身份但一切都是徒劳的。

代码:

    System.Diagnostics.Process proc = new System.Diagnostics.Process();

    Char[] chr = Password.ToCharArray();

    System.Security.SecureString pwd = new System.Security.SecureString();

    foreach (char c in chr)
    {
        pwd.AppendChar(c);
    }

    proc.StartInfo.FileName = path to WZZip.exe

    //proc.StartInfo.Arguments = -ys20480 pathtosplit landingZone;  
    proc.StartInfo.UserName = UserName;  //Comes from config file
    proc.StartInfo.Password = pwd;        //Comes from config file
    proc.StartInfo.Domain = Domain;      //Comes from config file
    proc.StartInfo.RedirectStandardError = true;
    proc.StartInfo.RedirectStandardOutput = true;
    proc.StartInfo.UseShellExecute = false;
    bool result = proc.Start();

【问题讨论】:

  • “出现一些错误代码”。分享您拥有的任何错误信息是一个非常好的主意,这样我们就不必要求它...
  • 错误码是-10732860
  • 错误信息是只读或只写进程部分完成
  • drax 我已经完成的部分,但同样的错误即将到来

标签: c# asp.net asp.net-mvc iis iis-express


【解决方案1】:

通过 iis 运行 exe 时你应该从几个问题开始:

A) 我应该绕过保护 IIS 服务器和 Windows 系统的内置安全性吗?

B) 如果您允许可执行文件使用进入操作系统或 IIS 服务器的路径运行,还有谁可以使用它,即“HAcker”?

C) 对 Windows 和 IIS 服务器进行了更改,以保护系统免受“攻击”并限制漏洞利用的表面区域。 正在对系统和 IIS 服务器进行哪些安全监控? 您将为您的可执行文件实施什么安全保护?

如果您可以证明 A - C 的风险是合理的,您可以“解决”这些限制。

如果您了解风险 Technet 有一些工具可以帮助您解决一些问题 http://blogs.technet.com/b/elevationpowertoys/

对于 Windows Vista Windows 7 Windows 2008,您拥有标准用户以及权限和权利限制

一个线程http://forums.iis.net/p/1178151/1981859.aspx#1981859谁可以做什么。

您可以搜索(Goole 或 Bing)“对 Windows 桌面安全性的更改”“会话 (0) 更改和对系统和服务的影响”

您还可以从 Microsoft 下载中心获取“Vista 开发者故事”的副本。

您应该查看 MSDN 库以了解应用程序兼容性以及如何使用用户访问控制 (UAC) 进行设计。

许多安全更改已添加到 Windows 2003 和 IIS 6.0 服务器。

你终于可以在 IIS 中添加 MIME 类型了

  • 打开 IIS 管理器。

  • 浏览到 ThinApp EXE 所在的 IIS 站点或子文件夹。

  • 右键单击该站点或子文件夹并选择属性。

  • 选择 HTTP 标头选项卡。

  • 单击 MIME 类型按钮。

  • 在扩展名框中,键入“.exe”。

  • 在 MIME TYPE 框中,输入“application/octet-stream”。

  • 点击确定。

【讨论】:

  • 我也检查了这个...但仍然无法执行该代码。我已经在冒充我的 id
  • 你可以添加“.exe”MIME类型试试
  • 我不明白的地方
  • 在 IIS 中添加 MIME 类型 打开 IIS 管理器。浏览到 ThinApp EXE 所在的 IIS 站点或子文件夹。右键单击该站点或子文件夹并选择属性。选择 HTTP 标头选项卡。单击 MIME 类型按钮。在扩展名框中,键入“.exe”。在 MIME 类型框中,键入“application/octet-stream”。点击确定。
  • 这个exe是winzip exe并安装在服务器上。用户尝试单击按钮,此 exe 应运行。我没有把这个exe放在网站的某个子文件夹中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-07-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-01
  • 2012-11-07
  • 2020-03-21
相关资源
最近更新 更多