0

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

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

不踢启动批处理文件。

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

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

4

1 回答 1

0

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

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