Compartilhar via


How to: Recuperar informações de seqüência de caracteres de consulta em um aplicativo on-line ClickOnce

O 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ê tem um ClickOnce aplicativo denominado WindowsApp1 hospedados em servername, e você deseja passar um valor para a variável username quando o aplicativo é iniciado. O URL pode parecer com o seguinte:

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

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

ObservaçãoObservação

Você só poderá passar as informações em uma seqüência de consulta quando seu aplicativo está sendo iniciado usando HTTP, em vez de usar um compartilhamento de arquivo ou sistema de arquivos local.

A primeiro procedimento mostra como o ClickOnce aplicativo pode usar um pequeno trecho de código para ler esses valores quando inicia o aplicativo.

O procedimento a seguir mostra como configurar seu ClickOnce aplicativo usando o MageUI.exe para que ele pode aceitar parâmetros de seqüência de caracteres de consulta. Você precisará fazer isso, sempre que você publicar seu aplicativo.

ObservaçãoObservação

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

Para obter informações sobre como criar um ClickOnce implantação usando o Mage ou MageUI.exe, consulte Walkthrough: Manualmente, implantando um aplicativo de ClickOnce.

ObservaçãoObservação

Iniciando no.NET Framework 3.5 SP1, é possível passar argumentos de linha de comando para um off-line ClickOnce aplicativo. Se você desejar fornecer argumentos para o aplicativo, você pode passar parâmetros para o arquivo de atalho com o.Extensão de MS-APPREF.

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

  1. Coloque o código a seguir em seu projeto. Em ordem para esse código de função, você precisará ter uma referência a System. Web e adicionar using ou Imports instruções para System. Web, System.Collections.Specialized e System.Deployment.Application.

    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 os parâmetros de seqüência de consulta, indexada por nome.

Para habilitar a cadeia de caracteres de consulta passagem em um aplicativo de ClickOnce com MageUI.exe

  1. Abrir o.NET Prompt de comando e digite:

    MageUI
    
  2. Do arquivo menu, selecione Abrire abra o manifesto de implantação para seu ClickOnce aplicativo, que é o arquivo terminando na . Application extensão.

  3. Selecione o Opções de implantação na janela de navegação do lado esquerdo do painel e selecione o parâmetros de URL de permitir que sejam passadas para o aplicativo caixa de seleção.

  4. Do arquivo menu, selecione Salvar.

ObservaçãoObservação

Como alternativa, você pode habilitar a cadeia de caracteres de consulta passando Visual Studio. Selecione o parâmetros de URL de permitir que sejam passadas para o aplicativo caixa de seleção, o que pode ser encontrada abrindo o Propriedades do projeto, selecionando o Publicar guia, clicando no Opções botão e, em seguida, selecionando manifestos.

Programação robusta

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

Se seu aplicativo só está on-line, ele sempre será ativado através de um URL. Mesmo nesse caso, entretanto, seu aplicativo deve ser escrito para funcionar corretamente se os parâmetros de seqüência de caracteres de consulta estão ausentes ou corrompidos.

Segurança

Permitir a passagem de parâmetros de URL para seu ClickOnce aplicativo somente se você pretende limpar a entrada de caracteres mal intencionados antes de usar o proprietário. Uma seqüência de caracteres incorporadas com cotações, barras ou ponto e vírgula, por exemplo, pode realizar a operações de dados arbitrários se usado sem um filtro em uma consulta SQL contra 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

Protegendo aplicativos de ClickOnce