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

Sca*_*net 0 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);
Run Code Online (Sandbox Code Playgroud)

blo*_*art 11

Web服务器不是您的桌面.

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

请使用现有的OAuth库之一,如DotNetOpenAuthMVC4MVC5中的内置支持