当前位置:  开发笔记 > 编程语言 > 正文

流程开始和模拟

如何解决《流程开始和模拟》经验,为你挑选了0个好方法。

我在ASP.NET 2.0中模拟上下文中启动进程时遇到问题.

我在我的Web服务代码中启动了新的Process.IIS 5.1,.NET 2.0

[WebMethod]
public string HelloWorld()
{
    string path = @"C:\KB\GetWindowUser.exe";
    ProcessStartInfo startInfo = new ProcessStartInfo();
    startInfo.WorkingDirectory = Path.GetDirectoryName(path);
    startInfo.FileName = path;
    startInfo.UseShellExecute = false;
    startInfo.CreateNoWindow = true;
    startInfo.ErrorDialog = false;
    startInfo.RedirectStandardOutput = true;
    startInfo.RedirectStandardError = true;
    Process docCreateProcess = Process.Start(startInfo);

    string errors = docCreateProcess.StandardError.ReadToEnd();
    string output = docCreateProcess.StandardOutput.ReadToEnd();
}

"C:\ KB\GetWindowUser.exe"是包含以下代码的控制台应用程序:

static void Main(string[] args)
{
    Console.WriteLine("Windows: " + WindowsIdentity.GetCurrent().Name);
}

当我在没有模仿的情况下调用Web服务时,一切正常.

当我打开模拟时,跟随错误写入Web服务代码中的"errors"变量:

未处理的异常:System.Security.SecurityException:访问被拒绝.\ r \n\r \n在System.Security.Principal.WindowsIdentity的System.Security.Principal.WindowsIdentity.GetCurrentInternal(TokenAccessLevels desiredAccess,Boolean threadOnly)\ r \n中.GetCurrent()\ r \n在ObfuscatedMdc.Program.Main(String [] args)\ r \n失败的程序集区域是:\ r \nMyComputer

模拟用户是本地管理员,可以访问C:\ KB\GetWindowUser.exe可执行文件.

当我在ProcesStartInfo属性Domain,User和Password中明确指定窗口用户时,我收到以下消息:http: //img201.imageshack.us/img201/5870/pstartah8.jpg

是否可以从asp.net(IIS 5.1)开始使用不同于ASPNET的凭据进程?

推荐阅读
路人甲
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有