2016-10-28 3 views
0

Другое приложение asp.net/c# откройте мое приложение WPF по ссылке с строкой запроса. Когда мое приложение WPF открывается или запускается в браузере, как мне захватить или получить URL-адрес?Как получить URL-адрес моего открытого приложения?

+2

Пожалуйста, немного более ясно, когда задают вопрос. С чем вы столкнулись? –

+0

WPF? Вы делаете это с помощью ClickOnce? –

+0

Да, у меня есть C# WPF, использующий VS 2015 и Framwork 4.5. Я также использую ClickOnce. Мое приложение WPF, http: //localhost/xpab_test/WPFHost.xbap, открывается в браузере отлично, без каких-либо проблем. Я новичок в WPF и не знаю, как получить URL-адрес, включая строку запроса в URL-адресе из браузера. например http: //localhost/xpab_test/WPFHost.xbap? id = 1 –

ответ

0

https://msdn.microsoft.com/en-us/library/ms172242.aspx

private NameValueCollection GetQueryStringParameters() 
{ 
    NameValueCollection nameValueTable = new NameValueCollection(); 

    if (ApplicationDeployment.IsNetworkDeployed) 
    { 
     string queryString = ApplicationDeployment.CurrentDeployment.ActivationUri.Query; 
     nameValueTable = HttpUtility.ParseQueryString(queryString); 
    } 

    return (nameValueTable); 
} 
+0

Попробуем, спасибо большое за помощь –

0

С Джонатан Аллен внушения, мой рабочий код, ниже которого избегает использования ссылки system.web для HttpUtility

private NameValueCollection GetQueryStringParameters() 
    { 
     NameValueCollection nameValueTable = new NameValueCollection(); 

     if (ApplicationDeployment.IsNetworkDeployed) 
     { 
      string queryString = ApplicationDeployment.CurrentDeployment.ActivationUri.Query; 
      string[] querySegments = queryString.Split('&'); 
      foreach (string segment in querySegments) 
      { 
       string[] parts = segment.Split('='); 
       if (parts.Length > 0) 
       { 
        string key = parts[0].Trim(new char[] { '?', ' ' }); 
        string val = parts[1].Trim(); 
        //MessageBox.Show("key=" + key + " val=" + val); 
        nameValueTable.Add(key, val); 
       } 
      } 

     } 

     return (nameValueTable); 
    } 

 Смежные вопросы

  • Нет связанных вопросов^_^