C# - Usando classes para a programação com a web (.NET Core) - II
Hoje vamos continar a apresentar algumas classes que facilitam a programação para web na linguagem C#. |
Continuando a primeira parte do artigo vamos tratar da classe
UriBuilder da
linguagem C# na .NET Core.
A classe UriBuilder fornece um construtor personalizado para URIs (Uniform Resource Identifiers) e modifica URIs para a classe Uri.
Esta classe fornece uma maneira conveniente de modificar o conteúdo de uma instância Uri sem criar uma nova instância de Uri para cada modificação, sendo que suas propriedades fornecem acesso de leitura/gravação para as propriedades somente leitura de forma que elas podem ser modificadas.
No exemplo a seguir vamos construir um simples endereço HTTP com scheme , host e path, e, a seguir vamos estender o endereço para uma URi mais complexa com número da porta, query string, username e password:
using System;
using static System.Console;
namespace CShp_UriBuilder
{
class Program
{
static void Main(string[] args)
{
UriBuilder uriBuilder = new UriBuilder();
uriBuilder.Scheme = "http";
uriBuilder.Host = "macoratti.net";
uriBuilder.Path = "sistema";
Uri uri = uriBuilder.Uri;
WriteLine($"A Uri é {uri}");
uriBuilder.Port = 8089;
uriBuilder.UserName = "macoratti";
uriBuilder.Password = "numsey";
uriBuilder.Query = "search=br";
Uri uri2 = uriBuilder.Uri;
WriteLine($"A Uri é {uri2}");
ReadLine();
}
}
}
|
Executando o projeto teremos o resultado abaixo:
Dessa forma construir um URI via código pode ser um desafio em montar
corretamente todas as instâncias. Usar a classe UriBuilder pode ajudar a
simplificar o trabalho.
Por exemplo, vamos supor que você precisa montar a seguinte URI:
http://user:password@localhost:8080/www.abc.com/homepagehtm?item=1233;html=<h1>Heading</h1>#stuf
A primeira coisa a fazer é compreender o layout da Uri HTTP que para o exemplo é:
[scheme]://[user]:[password]@[host/authority]:[port]/[path];[params]?[query string]#[fragment]
É bem possível que a informação que você precisa não contenha todas as partes da Uri.
A classe UriBuilder permite que o código defina
propriedades para cada um dos componentes da URI.
static void Main(string[] args)
{
UriBuilder ubf = new UriBuilder();
ubf.Scheme = "http";
ubf.UserName = "user";
ubf.Password = "password";
ubf.Host = "localhost";
ubf.Port = 8080;
ubf.Path = "www.abc.com/home page.htm";
ubf.Query = "item=1233";
ubf.Query += ";html=<h1>heading</h1>";
ubf.Fragment = "stuff";
WriteLine($"Uri absoluta Composta: {ubf.Uri.AbsoluteUri}\n");
WriteLine($"Uri composta : {ubf.ToString()}\n");
ReadLine();
}
|
O resultado obtido pode ser visto na figura a seguir:
Na próxima parte do artigo vamos tratar da
classe IPAddress.
"A luz semeia-se para o justo, e a alegria para os
retos de coração."
Salmos 97:11
Veja os
Destaques e novidades do SUPER DVD Visual Basic
(sempre atualizado) : clique e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ? |
Gostou ? Compartilhe no Facebook Compartilhe no Twitter
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
NET Core ou .NET Framework - Macoratti
NET Core - Padrão Repositório - Macoratti
NET Core - Sua primeira aplicação Console Application - Macoratti
NET Core 3.0 e Visual Studio 2019 - Macoratti