在最终用户计算机中启动浏览器

时间:2016-06-30 20:36:04

标签: c# asp.net-mvc

我们有一个内部ASp.NET MVC应用程序,它接收来自外部系统的请求。请求看起来像这样:

http://test.com/abc/showinfo/12345678990

控制器操作

[Route]
public ActionResult Showinfo(string somenumber)
{
if (somenumber.Contains("1234"))
    // Launch Chrome Browser
else
// Launch IE Browser
}

我尝试使用Process.Start(url),它在我的localbox中正常工作但在Dev服务器中失败。

是否可以在最终用户系统中启动浏览器?如果是,请告诉我相应的步骤。

3 个答案:

答案 0 :(得分:0)

  

是否可以在最终用户系统中启动浏览器?

您可以使用PsExec来执行此操作。但请注意,如果您模拟凭据,它将以纯文本形式通过网络发送密码。

psexec \\marklap c:\thebrowserpath\thebrowser.exe

参考文献:

答案 1 :(得分:0)

System.Diagnostics.Process.Start("iexplore.exe", "http://google.com");

您可以将http://google.com替换为自定义网址

答案 2 :(得分:0)

我不知道您的解决方案是否可行,但我认为在客户端打开浏览器作为对您服务的答案的反应更为明智,即以下工作流程

  1. 客户端向您的服务器发送请求
  2. 您的服务器处理请求并构造和回答。此答案包含URL和所需的浏览器
  3. 服务器将答案发送回客户端
  4. 客户端收到答案并检查URL和所需的浏览器
  5. 客户端使用URL
  6. 启动所需的浏览器

    根据客户端系统(是某种自定义应用程序/服务吗?)打开新浏览器可能非常简单(Process.Start()或类似)。如果整个事情在浏览器中运行,它也可能只是打开一个新选项卡(如果它是相同的浏览器)。打开备用浏览器可能会很棘手,但可以在Chrome中使用Native Messaging(https://developer.chrome.com/extensions/nativeMessaging

相关问题