Como: Recuperar informações do string de consulta em um aplicativo ClickOnce

The seqüência de caracteres de consulta é a parte de uma URL que comece com um ponto de interrogação (?) que contém informações arbitrárias no formulário nome = valor.Suponha que você tenha um ClickOnce aplicativo chamado WindowsApp1 hospedar nome do servidore você quiser passar um valor para a variável nome de usuário quando inicia o aplicativo.O URL pode ter esta aparência:

https://servername/WindowsApp1.aplicativo?username=joeuser

Os dois procedimentos a seguir mostram como usar um ClickOnce aplicativo para obter informações de seqüência de caracteres de consulta.

O primeiro procedimento mostra como configurar o seu ClickOnce aplicativo usando MageUI.exe para que ele pode aceitar parâmetros de cadeia de caracteres de consulta.

Observação:

Consulte a seção "Segurança" neste tópico antes de tomar uma decisão para habilitar esse recurso.

Mostra o seguinte procedimento como a ClickOnce aplicativo pode usar um pequeno trecho de código para ler esses valores na primeira vez em que o aplicativo é iniciado.

Para obter informações sobre como criar um ClickOnce implantação usando o Mage.exe ou MageUI.exe, consulte Demonstra Passo a passo: Implantando um aplicativo ClickOnce manualmente.

Observação:

Não é possível passar argumentos de linha de comando para um ClickOnce aplicativo. Se você quiser fornecer argumentos para o aplicativo, deverá implantá-lo pela Web e fornecer parâmetros de cadeia de caracteres de consulta no URL.

Para ativar a seqüência de caracteres de consulta passagem em um aplicativo ClickOnce com MageUI.exe

  1. Abra o aviso de comando .NET e digite:

    MageUI
    
  2. From a Arquivo menu, selecionar em abertoe abra a implantação de manifesto para o seu ClickOnce aplicativo, que é o arquivo terminando com o .Application extensão.

  3. selecionar o Opções de implantação na janela de navegação do lado esquerdo do painel e marque a caixa de seleção rotulada Permitir que os parâmetros de URL a serem passados ao aplicativo.

  4. From a Arquivo menu, selecionar Salvar.

Para obter informações de seqüência de caracteres de consulta de um aplicativo ClickOnce

  1. Coloque o código a seguir em algum lugar no seu projeto:

    Private Function GetQueryStringParameters() As NameValueCollection
        Dim NameValueTable As New NameValueCollection()
    
        If (ApplicationDeployment.IsNetworkDeployed) Then
            Dim QueryString As String = ApplicationDeployment.CurrentDeployment.ActivationUri.Query
            NameValueTable = HttpUtility.ParseQueryString(QueryString)
        End If
    
        GetQueryStringParameters = NameValueTable
    End Function
    
    private NameValueCollection GetQueryStringParameters()
    {
        NameValueCollection nameValueTable = new NameValueCollection();
    
        if (ApplicationDeployment.IsNetworkDeployed)
        {
            string queryString = ApplicationDeployment.CurrentDeployment.ActivationUri.Query;
            nameValueTable = HttpUtility.ParseQueryString(queryString);
        }
    
        return (nameValueTable);
    }
    
  2. Chamar a função definida anteriormente para recuperar um Dictionary a consulta seqüência parâmetros, indexada pelo nome.

Programação robusta

Quando você usa parâmetros de cadeia de caracteres de consulta, você deve dar atenção como seu aplicativo está instalado e ativado.Se seu aplicativo está configurado para instalar no computador do usuário da Web ou em um compartilhamento de rede, é provável que o usuário poderá ativar o aplicativo apenas uma vez através da URL.Depois disso, o usuário normalmente ativar seu aplicativo usando o atalho no Iniciar menu.sistema autônomo resultado, seu aplicativo é garantido para receber somente uma vez argumentos de seqüência de caracteres de consulta durante sua existência.Se você optar por armazenar esses argumentos na computador do usuário para uso futuro, você é responsável por armazená-las de maneira segura e protegida.

Se seu aplicativo estiver online somente, ele sempre será ativado por meio de uma URL.Mesmo nesse caso, entretanto, seu aplicativo deve ser escrito para funcionar corretamente se os parâmetros da seqüência de caracteres de consulta estão ausentes ou corrompidos.

Segurança

Permitir passando parâmetros de URL para o seu ClickOnce aplicativo somente se você pretende limpar a entrada de caracteres mal intencionados antes de usá-lo. Uma seqüência de caracteres incorporado com aspas, barras ou ponto-e-vírgula, por exemplo, pode executar a operações de dados arbitrários se usado sem filtro em uma consulta SQL em um banco de dados.Para obter mais informações sobre segurança de seqüência de caracteres de consulta, consulte Visão Geral de Scripts Maliciosos.

Consulte também

Conceitos

Implantação ClickOnce e segurança