在IIS上部署后,Process.Start()不会重定向

时间:2014-03-19 12:45:06

标签: asp.net iis redirect live process.start

我正在使用一个项目,该项目使用Process.start()重定向到实时Web OAuth以获取请求令牌 在本地IIS服务器上部署站点后,它停止工作,并且不执行任何重定向 这是我的代码

authorizeUri.AppendFormat("?client_id={0}&", appId);
    authorizeUri.AppendFormat("scope={0}&", "wl.signin");
    authorizeUri.AppendFormat("response_type={0}&", "token");
    authorizeUri.AppendFormat("redirect_uri={0}", HttpUtility.UrlEncode("http://scarnetdomain.com/Default3.aspx/"));
    ProcessStartInfo startInfo = new ProcessStartInfo();
    startInfo.FileName = authorizeUri.ToString();
    Process.Start(startInfo);

1 个答案:

答案 0 :(得分:11)

网络服务器不是您的桌面

Process.Start将在运行代码的机器上启动进程。因此,在您的代码中,它将在IIS服务器上启动一个进程。作为一个额外的好处,取决于您如何配置IIS及其运行的帐户,因为它可能没有桌面访问权限,因此启动生成浏览器的进程最多会失败,更糟糕的是启动IE并离开在那里,占用记忆。

请使用DotNetOpenAuth之类的现有OAuth库或MVC4MVC5中的内置支持