DICAS .NET

 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.

URL do WebService Dinâmica

por Mauricio Junior em 1/1/2011 0


    Olá Internautas, hoje gostaria de falar sobre um código importante para quem usa URL dinâmica no WebService. Para quem trabalha com vários ambientes de software, essa solução pode valer muito a pena.

Requisitos:
Ferramenta de desenvolvimento: Visual Studio.NET (qualquer versão)
Linguagem: C#.NET
Framework 3.5 pra cima

    Para quem tem os ambientes devidamente separados, é necessário utilizar alguns dados dinâmicos para evitar re-trabalho no momento da compilação. Isto é, alterar só no arquivo de configuração de acordo com o ambiente de desenvolvimento, homologação e produção.
   
Imagina que exista um webservice dentro da ferramenta referenciada, naquela pasta Web References. A URL desse webservice aponta diretamente para o ambiente de desenvolvimento, porém, é necessário publicar a aplicação no ambiente de homologação.
   
    Lógico que o webservice já está no ambiente de homologação e a idéia não é referenciar uma nova url dentro da ferramenta. (Figura 1)


alt
Figura 1
   
    Eu preciso que esse apontamento de url seja dinâmico e de acordo com o ambiente que o aplicativo for publicado, isto é, para homologação pegar a url de “hom”, para “produção” e assim por diante.

    Se não for colocado dinamicamente, para cada ambiente é necessário alterar a url na ferramenta, compilar novamente e publicar no ambiente. Veja a url (Figura 2) Esse ambiente é de desenvolvimento.


alt
Figura 2

    No terceiro campo (Web Reference URL) é o que preciso mudar.
    A primeira coisa é declarar a variável no início do código. (Tabela 1)

--------------------------------------------------------------------
private WSRetaguarda.Retaguarda wsRetaguarda; //variavel do webservice
--------------------------------------------------------------------
Tabela 1

    O próximo passo é gerar um método para verificar a variável e atribuir o valor. (Code 1)

---------------------------------------------------------------------
private void InicialzarWebService()
{
    if (wsRetaguarda == null)
    {
       wsRetaguarda = new WSRetaguarda.Retaguarda();
       wsRetaguarda.Url = pathWebService;
    }
     else
       wsRetaguarda.Url = pathWebService;
    }
---------------------------------------------------------------------
Code 1

    Esse code 1 verifica primeiramente se a variável é null, se for ele gera uma nova instância e atribui a variável URL passando o path do webservice dinâmico. Esse path dinâmico pode estar dentro do arquivo web.config.
    Para quem usa a ferramenta Visual Studio .NET 2010, fica bem simples porque o arquivo de configuração é dinâmico para cada ambiente. Veja o vídeo abaixo e se informe mais.

Vídeo:
link do vídeo

    Depois de criar o método e colocar a variável pegando do web.config, basta chamar sempre este método (inicializarWebService()) antes de chamar qualquer outro método do webservice. Veja o exemplo, Code 2.

-----------------------------------------------------------------------
private void carregarDados()
        {
            try
            {
                InicialzarWebService();

                DataTable dtResultado = wsRetaguarda.buscaModeloHardware();
                cmbScanner.DataSource = dtResultado;
                cmbScanner.ValueMember = "mhaId";
                cmbScanner.DisplayMember = "mhaNome";

                if (dtResultado.Rows.Count > 0)
                {
                    foreach (DataRow dtRow in dtResultado.Rows)
                    {
this._listaMhaUrlInstalacao.Add(Convert.ToInt32(dtRow["mhaId"]), Convert.ToString(dtRow["mhaUrlInstalacao"]));
                    } 
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
-----------------------------------------------------------------------
Code 2

    É bem simples e fácil, pois agora não precisarei compilar os dados para atribuir a URL de acordo com o ambiente. Caso você use um new chamando o webservice, essa url se perde e volta a apontar para desenvolvimento. Isso porque é a primeira da ferramenta do Visual Studio.NET.

    Bom, ficou por aqui qualquer coisa 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

Servidor Integrado - Visual Studio.NET
Trabalhando com o componente TabContainer
Comunicação .NET e VB 6.0 – Parte I
Nem tudo é o que parece!
Podcast publicado no site
MSDN Code Gallery
Artigo Criando RSS Xml para o Seu Próprio Site
Vídeo sobre banco de dados
Criando Teclas de Atalho no Windows Form
Vídeo: Windows Phone com Windows Mobile 7
Microsoft com XBox no Windows Phone 7
Visual SourceSafe - Série 5
Public Interface
Microsoft Preview Windows Phone 7 in NYC
Resource e Internacionalização – Parte V Usando Visual Studio.NET 2005
Flickr para Windows 7 e Windows Phone 7
OpenWave SDK 6.2.2
NDOC para versão framework 2.0
2 Eventos, 1 dia: Mix On UniEURO
Treinamento VSTS
Sort no GridView sem ir ao banco de dados novamente
Sistema de Login em ASP – Parte X
Novo Firefox 3.0 - o chamado Minefield
Gerando Relatório e Exportando para o Excel
Promo Code do Livro CSharp .NET para Web
Resources e Internacionalização usando Visual Studio.NET 2005 (Parte IV)
Skyfire - browser mobile
ASP.NET 2.0 - FileUpload
Vídeo do Visual SourceSafe - Parte I
Entrevista com Bruno PorKaria
Comunicação .NET e VB 6.0 – Parte II - usando Visual Studio.NET 2005
Criando Alias no Pacote
Agrupar Email no Mail - MacBook
Contagem Regressiva com C# e JavaScript
Máscara valor que funciona




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 *

Notebook 3D ou 4K?

Notebook vem com tudo...

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...




NETITC