2016-06-30 44 views
0

我們有來自外部系統。的請求接收請求的內部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服務器中失敗。

是否可以在最終用戶系統中啓動瀏覽器?如果是,那麼請讓我知道這些步驟。

+1

我猜「內部」位很重要。如果垃圾郵件發送者有能力在任何人的機器上打開瀏覽器...... – Will

+0

只需要清楚,「最終用戶系統」是什麼意思? – derpirscher

+0

@derpirscher其基於網絡的應用程序,所以我們必須在用戶系統中啓動瀏覽器。 – Yass

回答

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

您可以用卡斯特取代http://google.com OM網址

+0

這個在用戶系統中不起作用。它僅適用於本地系統 – Yass

0

我不知道是否有可能與您的解決方案,但我認爲這將是更明智打開客戶端作爲反應上的瀏覽器從服務一個答案,即以下工作流程

  1. 客戶端向您的服務器發送請求
  2. 您的服務器處理請求並構建並回答。這個答案包含URL和所需的瀏覽器
  3. 服務器發送的答案返回給客戶端
  4. 客戶端接收的URL和所需的瀏覽器
  5. 客戶端的答案並會與URL啓動所需的瀏覽器

根據客戶端系統(是某種自定義應用程序/服務?)打開新瀏覽器可能非常簡單(Process.Start()或類似)。如果整個事件在瀏覽器中運行,它也可能只是打開一個新標籤(如果它是相同的瀏覽器)。打開一個替代瀏覽器可能會很棘手,但可能例如在Chrome中使用本地消息傳遞(https://developer.chrome.com/extensions/nativeMessaging