C# - Apresentando os recursos da classe Uri - I
Neste artigo vou apresentar os recursos da classe Uri do namespace System da linguagem C#. |
Qualquer aplicação que usa recursos em rede, sites ou arquivos remotos geralmente faz uso de Uniform Resource Identifiers ou identificadores de recursos uniformes, para localizar esses recursos. Embora estes possam ser mantidos em strings simples, o uso da classe System.Uri oferece muitos benefícios adicionais e por isso vamos apresentar nesta série de artigos os recursos dessa classe.
Um identificador de recurso uniforme (URI) é uma seqüência de caracteres que descreve a localização de um recurso, geralmente um acessado através de uma rede. Eles são mais utilizados pelos sites para identificar páginas individuais e imagens vinculadas. Por exemplo, a URI desta página é "http://www.macoratti.net/17/12/c_uri1.htm".
Você também pode encontrá-las ao localizar um arquivo ou pasta. Por exemplo, você pode ver que a seguinte URI, "file://c:/windows/system32/vfprint.dll", aponta para um arquivo local.
As URIs têm uma estrutura específica, embora as partes do URI sejam opcionais. Elas podem incluir as seguintes seções:
Às vezes, você descobrirá que uma URI é descrita como contendo quatro partes. Estas são : o esquema, a parte hierárquica, a consulta e o fragmento.
A parte hierárquica nesta descrição é a combinação da autoridade, informações do usuário e do caminho.
Recursos Usados neste artigo :
Apresentando a classe Uri
As URIs
são projetadas para serem mantidos em strings simples. No entanto, processar
strings para extrair partes de uma URI ou para modificar ou comparar URIs é um
processo tedioso. Para resolver esse problema, o .NET Framework inclui a classe
Uri como parte do namespace do System Esta classe pode ser usada
para armazenar uma URI e inclui muitas propriedades e métodos que permitem que
ele seja consultado e manipulado.
Podemos criar um objeto Uri que contenha uma URI usando o código abaixo.
Observe que a URI que desejamos armazenar é passada para o construtor usando um
parâmetro string.
using System;
using static System.Console;
namespace CShp_Uri
{
class Program
{
static void Main(string[] args)
{
Uri uri = new Uri("http://www.macoratti.net");
WriteLine(uri);
ReadLine();
}
}
}
|
Quando você cria um objeto Uri dessa forma, você obtém um benefício imediato ao manter a URI em uma string.
Durante a construção, a URI fornecida é validada. Se for inválida, uma UriFormatException será lançada.
No exemplo a seguir incluímos de propósito um erro na URI usando barras invertidas ao invés de barras diretas :
Observe que foi lançada a exceção UriFormatException durante a execução do projeto pois a Uri é inválida.
URI absolutas e relativas
As URIs podem ser categorizadas como absolutas ou relativas :
As URI relativas assumem que essas partes já são conhecidas. Por exemplo, em um site, uma URI relativa pode ser usada para um link para outra página.
Quando o
link for clicado, a URI relativa será combinada com a autoridade e o esquema
da página na qual o link aparece para encontrar o novo recurso.
Se você tentar criar um objeto Uri para um URI relativa usando o
construtor simples usado anteriormente, você descobrirá que será lançada uma
exceção:
Qual o problema ?
O problema é que ao usar o construtor com um único parâmetro ele assume
que a seqüência fornecida possui uma URI absoluta.
Para criar uma Uri relativa, você tem que adicionar um segundo
parâmetro, que é do tipo enumerado UriKind.
Isso especifica o tipo da URI que está sendo usada. Você pode especificar Absolute, Relative ou AbsoluteOrRelative. (A terceira dessas opções informa ao construtor que o tipo é desconhecido.)
Na próxima parte do artigo veremos outros recursos da classe Uri.
Eu sou a videira
verdadeira, e meu Pai é o lavrador.
Toda a vara em mim, que não dá fruto, a tira; e limpa toda aquela que dá fruto,
para que dê mais fruto.
João 15:1,2
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 ? |
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Super DVD C# - Recursos de aprendizagens e vídeo aulas para C#
Curso Fundamentos da Programação Orientada a Objetos com VB .NET
VB .NET - Obtendo informações de uma web page - Macoratti.net
C# - Enviando arquivos para o servidor via FTP - Macoratti.net