【问题标题】:System.Diagnostics.Process IssueSystem.Diagnostics.Process 问题
【发布时间】:2013-08-28 00:40:00
【问题描述】:

我将基于 ASP C# 的网站从旧服务器迁移到新服务器,网站的所有功能在新服务器上都可以正常工作,但是这一功能

System.Diagnostics.Process proc = System.Diagnostics.Process.Start(@BatchFile)

不启动批处理文件。

我做了:IIS 管理员帐户作为本地帐户并与桌面交互。 ASP 网络帐户 - 我分配了本地管理员帐户 IUSER 帐户 - 使其成为本地管理员

有人可以建议我还缺少什么。

【问题讨论】:

  • 是否有任何错误被返回或记录?批处理文件是否使用了可能未安装在新服务器上的可执行文件?
  • 有一个 llok here 记录您的通话结果
  • 两台服务器的PATH环境变量有区别吗?

标签: c# asp.net


【解决方案1】:

您说有迁移到新服务器。可能您的路径无效、权限错误、身份错误或以上所有情况。

  1. 确定并验证批处理所需的所有内容的路径,包括批处理文件本身。
  2. 设置您需要的任何网络路径并确定应用程序池使用的身份(或者您在启动进程时提供的身份,如果您这样做的话)有权启动批处理并触及所有资源依赖项。
  3. 验证批处理是否有效并确定所需的工作目录。
  4. 找出 C# 代码将什么视为 CurrentDirectory。您可能需要将其写入事件日志,或者您可以在 HTTP 响应中显示此信息。当您使用它时,还要显示实际使用的身份。
  5. 控制您的过程环境。使用ProcessStartInfo.WorkingDirectory 属性来控制工作目录。当UseShellExecute 属性为false 时,获取或设置要启动的进程的工作目录。当UseShellExecute 为真时,获取或设置包含要启动的进程的目录。

【讨论】:

    猜你喜欢
    • 2011-01-15
    • 1970-01-01
    • 1970-01-01
    • 2011-05-02
    • 2015-12-10
    • 2013-06-16
    • 2023-03-18
    • 2016-02-07
    • 2011-02-16
    相关资源
    最近更新 更多