Image Image Image Image Image
Scroll to Top

Topo

Visual Studio .NET 2010

23

nov
2011

Sem Comentários

Em Blog

Por Allison

URL do WebService dinâmico

Em 23, nov 2011 | Sem Comentários | Em Blog | Por Allison

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

Usado:

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

Imagine que exista um webservice dentro da ferramenta referenciada, na 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.

O webservice já está no ambiente de homologação e a ideia não é referenciar uma nova URL dentro da ferramenta. (Figura 1)

É preciso que esse apontamento de URL seja dinâmico e esteja 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.

No terceiro campo (Web Reference URL) está 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;

}

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;

}

}

É bem simples e fácil, pois agora não é preciso 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.

Fonte: Mauricio Junior/IMaster

Tags | , , , ,

23

nov
2011

Sem Comentários

Em Blog
C#
Código

Por Allison

Token e Sessão Corrente com C#.NET

Em 23, nov 2011 | Sem Comentários | Em Blog, C#, Código | Por Allison

Hoje vou falar um pouco e mostrar via código como pegar o número do token ou sessão corrente do usuário que está navegando em seu sistema ou site. Lembro que esse código serve para qualquer tipo de aplicativo.

Usado: Visual Studio .NET 2010, Linguagem C#.NET, Plataforma ASP.NET.

O que vou falar é simples de fazer, porém, quase ninguém sabe que existe esse tipo de informação disponível no framework .NET.

Geralmente, esse tipo de informação é utilizada em sistema de comércio eletrônico que guarda as informações do usuário relacionando a um número qualquer, que pode ser um token ou sessão corrente.

O primeiro passo é importar uma classe dentro da classe principal do sistema.

using System.Security.Principal;

Para pegar o token corrente, coloque o código:

WindowsIdentity.GetCurrent().Token.ToString();

O código acima busca um número do token que pode ser gerado a cada acesso. Para manter o mesmo código é bom pegar o valor e gerar em uma sessão ou token.

Para pegar a sessão corrente, coloque o código:

Session.SessionID.ToString();

Para testar, você pode mandar escrever os valores na tela com o Response.Write.

protected void Page_Load(object sender, EventArgs e)
{
Response.Write(WindowsIdentity.GetCurrent().Token.ToString());
Response.Write("<Br><br>"+Session.SessionID.ToString());
}

No meu teste, foi impresso na tela os seguintes dados.

1316 - Token
ts3iammnrqpdrvxcjgjwrss2 - Sessao

Note que o token é um número com 4 dígitos e a sessão é composta de números e letras. Dependendo do que está precisando um ou outro pode ser de grande valia.

É isso. Espero que tenha gostado e qualquer dúvida pode entrar em contato pelo site.

Fonte: Maurício Junior/IMasters

Tags | , , ,

06

nov
2011

Sem Comentários

Em Blog

Por Allison

Token e Sessão Corrente com C#.NET

Em 06, nov 2011 | Sem Comentários | Em Blog | Por Allison

Hoje vou falar um pouco e mostrar via código como pegar o número do token ou sessão corrente do usuário que está navegando em seu sistema ou site. Lembro que esse código serve para qualquer tipo de aplicativo.

Usado: Visual Studio .NET 2010, Linguagem C#.NET, Plataforma ASP.NET.

O que vou falar é simples de fazer, porém, quase ninguém sabe que existe esse tipo de informação disponível no framework .NET.

Geralmente, esse tipo de informação é utilizada em sistema de comércio eletrônico que guarda as informações do usuário relacionando a um número qualquer, que pode ser um token ou sessão corrente.

O primeiro passo é importar uma classe dentro da classe principal do sistema.

using System.Security.Principal;

Para pegar o token corrente, coloque o código:

WindowsIdentity.GetCurrent().Token.ToString();

O código acima busca um número do token que pode ser gerado a cada acesso. Para manter o mesmo código é bom pegar o valor e gerar em uma sessão ou token.

Para pegar a sessão corrente, coloque o código:

Session.SessionID.ToString();

Para testar, você pode mandar escrever os valores na tela com o Response.Write.

protected void Page_Load(object sender, EventArgs e)
        {
            Response.Write(WindowsIdentity.GetCurrent().Token.ToString());
            Response.Write("<Br><br>"+Session.SessionID.ToString());
        }

No meu teste, foi impresso na tela os seguintes dados.

1316 - Token
ts3iammnrqpdrvxcjgjwrss2 - Sessao

Note que o token é um número com 4 dígitos e a sessão é composta de números e letras. Dependendo do que está precisando um ou outro pode ser de grande valia.

É isso. Espero que tenha gostado e qualquer dúvida pode entrar em contato pelo site.

Fonte: Mauricio Junior/IMaster

Tags | , , ,