LAYERDEV

 Busca Online:

 
Seja bem vindo(a) Visitante, você não está logado deseja logar
no portal para participar de serviços e promoções ? clique aqui.


No caso de perder a senha, acesse aqui e receba por e-mail.
Deseja entrar em contato conosco, acesse aqui e mande-nos um e-mail.

User Control Windows executando no Internet Explorer (parte 2 de 2)

por Mauricio Junior em 1/1/2011 0

        Olá Internautas, hoje gostaria de dar continuidade ao artigo com controle feito usando User Control Windows executando no Internet Explorer.
   
    De acordo com o artigo passado, ou seja, o parte 1 (http://aspneti.com/User+Control+Windows+executando+no+Internet+Explorer+parte+1+861,0.aspx), ficou faltando a parte final onde executo de fato o controle dentro da página web.
   
    Peço que leia atentamente a primeira parte, antes de começar a segunda. Criei um projeto do tipo Web chamado "ProjetoWeb" e dentro tem uma pasta chamada "Controles". Depois de compilar, enviei tudo para dentro da pasta, todas as dlls, arquivos de configuração e tudo mais.
   
    É necessário marcar todas as referências como "Copy Local" igual a "True". Tive que fazer isso para funcionar de fato o controle. Imagem 1
   
Imagem 1
alt
clique para ampliar

    Depois de compilado, o software jogou tudo para a pasta "Controles" automaticamente. Imagem 2

Imagem 2
alt
clique para ampliar

    O próximo passo foi criar uma página web específica que usa o controle compilado. Pra isso, uso um "object" e com ele posso passar parâmetros necessários para acesso. Na parte HTML (aspx) utilizo o "<asp:literal>". Code 1.

    <table border="0">
        <tr>
            <td align="center" valign="top">
                <br />
                <asp:Literal ID="objeto" runat="server" />
            </td>
        </tr>
    </table>
    ..........................................................
    Code 1

    Na parte C#, fica bem simples e fácil. Criei uma "StringBuilder" e depois atribuir ao meu objeto "literal" chamado objeto. Code 2
   
    StringBuilder stControle = new StringBuilder();
       
        stControle.Append("<object id='ControlConfigurarScanner'
        classid='Controles/DigitalizadoraRetaguarda.dll#ImagonFormDigitalizadora.ControlConfigurarScanner'
        height='161' width='445'>");
        stControle.Append("<PARAM NAME='Parametro1' VALUE='0' />");
        stControle.Append("<PARAM NAME='Parametro2' VALUE='1' />");
        stControle.Append("<PARAM NAME='Parametro3' VALUE='2' />");
        stControle.Append("<PARAM NAME='Parametro4' VALUE='3' />");
        stControle.Append("<PARAM NAME='Parametro5' value='4' />");
        stControle.Append("</object>");

        objeto.Text = stControle.ToString();
    ......................................................................
    Code 2
   
    É necessário prestar atenção para alguns fatos importantes utilizando o "object". O id, coloquei o mesmo nome da tela .cs, ou seja, "ControlConfigurarScanner". Na parte de classid, comecei do endereço da pasta de onde foi colocado a dll, isto é, classid='Controles/...".
   
    Continuando com o "classid", depois de colocar o início indicando a pasta "Controles" continuei com outras informações específicas: "Controles/DigitalizadoraRetaguarda.dll#ImagonFormDigitalizadora.ControlConfigurarScanner". A primeira é o nome da pasta, seguido por barra e o nome da dll gerada do projeto user control. O próximo passo é colocar o sharp (#) seguido do namespace completo do projeto. Continuando na primeira linha, coloquei os atributos height=161 e width=445 referentes ao tamanho da tela desenvolvida. Na sua tela, coloque o tamanho que desejar. Coloquei apenas o tamanho da tela.
   
    Criei outra linha relacionada a parâmetros com nome e valor. São 5 parâmetros e valores necessários para a tela. O nome pode ser qualquer um e o valor também de acordo com a sua necessidade.
    No final da linha, fechei com o "</object>" e atribuí ao objeto da tela. "objeto.Text = stControle.ToString();"
   
    Para pegar os parâmetros enviados e seus respectivos valores, basta usar uma declaração simples. Code 3.
   
    public Int32 Parametro1 { get; set; }
    public string Parametro2 { get; set; }
    public string Parametro3 { get; set; }
    public string Parametro4 { get; set; }
    public Int32 Parametro5 { get; set; }
    .............................................................
    Code 3
   
    De acordo com o Code 3, para pegar o valor só declarei as variáveis como "public" e com "get" e "set". Assim o valor pego automaticamente.
    Antes de testar localmente, certifique que as dlls do outro projeto estão na pasta controles e publique no IIS, isso porque o funcionamento necessariamente precisa do servidor de internet chamado IIS. A imagem 3 mostra o mesmo publicado e sem qualquer problema.

Imagem 3
alt
clique para ampliar

    Com o "User Control" consegui acessar toda a máquina do usuário sem qualquer problema. Pegar dados, números de hardware, acessar pastas e tudo mais. Porém, como falei no início do artigo (parte 1), só funciona no Internet Explorer e com uma certa permissão que precisa ser gerada.
   
    Para a permissão, acesssei: Menu iniciar -> Painel de Controle -> Ferramentas Administrativas -> Microsoft .NET Framework 2.0 Configuration -> Acessar a pasta RunTime Security Policy -> Machine.
    Dentro da pasta Machine existem duas sub-pastas principais para criação (Code Groups e Permissions Sets).  Primeiro precisei colocar as permissões na pasta permissions set e depois adicionar um code groups. (Imagem 4)
   
Imagem 4
alt
clique para ampliar

    Isso é para exportar um arquivo .msi e executar antes do início da tela. Depois disso, o acesso será rápido e simples. A única coisa que o .msi faz é colocar as permissões na máquina de quem está acessando. A imagem 5 mostra como exportar o pacote para instalação.
   
Imagem 5
alt
clique para ampliar    

    Bom, espero que tenha ajudado até aqui. Não é tão complicado, só precisa prestar atenção nos detalhes informados para o perfeito funcionamento.
   
    Qualquer dúvida, pode entrar em contato pelo site.
voltar   comente  subir

Download Copy





 
Mauricio Junior Formado pela Faculdade Anhanguera, Especialista pela FGV (Fundação Getúlio Vargas), Pós-Graduação em Docência Superior e cursando Mestrado na UNB Engenharia Elétrica; .
Tenho 29 anos e possuo sete livros publicados pela editora Ciência Moderna. Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.COM, ECODE10.COM, onde publico artigos, vídeos, ebooks e livros Publico artigos, vídeos e podcast em outras comunidades. Trabalho como Analista de Sistemas / Desenvolvedor na empresa ATP S/A. Blog: blog.mauriciojunior.org, Site pessoal www.mauriciojunior.org



Comentários:


Comente (dê sua opinião):

Comentário:
Código Imagem:  (digite o código da imagem respeitando maiúsculo e minúsculo)

Favor digitar o código da imagem para cadastramento.

 

Outros Artigos do Autor

Desenvolvendo com Atributos (Javascript) e StringBuilder
Web abrindo aplicações locais
Label Server Control AccessKey
Deixando o componente ASP:MENU compatível com qualquer browser
Vídeo sobre banco de dados
Exemplo usando try e catch
Nova geração HTML
Vídeo: Série Atlas.NET - Parte III
Apresentação do Windows
Vídeo: Imagem Efeito
Resources e Internacionalização usando Visual Studio.NET 2005 (Parte IV)
Cache no .NET
Innovation Days
Criando a Tag Cloud em C#
Copiando Script
Gerando Relatório e Exportando para o Excel Com Visual Studio.Net 2005
Vídeos SQL Server 2005 Express Gratuitamente
Vídeo: postura, saúde e posicionamento na frente do computador
O futuro da tecnologia com a Microsoft
Certificação - Segunda Chance
Microsoft Research Laptop Multi-Touch
Convertendo e salvando imagens via código
Windows Phone no Brasil
Windows Phone 7 Multi Touch
Criptografando Senha
DateDiff com intervalos escolhidos por você
Usando Dll Nativa e Using
Themas - Muito Simples
Ext JS
Criando Help com Visual Studio.NET
Resource e Internacionalização – Parte V Usando Visual Studio.NET 2005
Método SHA1
Método SHA 256
SQL Server 2005 SP2 já está disponível :)
IsAlphaNumeric




eCode10 Magazine 4 Edição

Baixe a sua sem pagar nada, basta apenas ter um cadastro na comunidade aspneti.com ou ser usuário do ecode10.com.



Edições anteriores
LAYERDEV

Notícias *

Visão do Futuro - Day of Glass 2

Futuro próximo pode chegar cedo?...

Lenovo de 14 polegadas IdeaPad

Veja o novo notebook Lenovo IdeaPad...

Windows 8 Store

Channel9 publica um vídeo da Windows Store...

Sony Vaio série Z

Novo Vaio Ultrabook? ou não Ultrabook?...

Samsung quer comprar RIM

Imagine se juntar as duas companhias...

Surface 2.0 mostrado

Novo Surface é mostrado de forma incrível...

Skype Tablet

Será que esse skype tablet pega mesmo?...

Lenovo e o seu novo Ultrabook

Ultrabook chega também pela Lenovo...

Promoções de livros móveis .NET

Baixa agora o seu e aprenda a programar....




NETITC