Documente Academic
Documente Profesional
Documente Cultură
online.unip.br/imprimir/imprimirconteudo
.NETFrameworkVersion:2.0,3.5
CaminhosdeSiteWebdoASP.NET
QuandosetrabalhacomrecursosdeumsitenaWeb,vocdeveespecificarumcaminhoparaorecurso.Por
exemplo,vocpodeusarumcaminhodeURLparareferenciarumarquivodeimagememumapginaouaURLde
umapginaemoutrapartenosite.Semelhantemente,ocdigoemsuaaplicaoWebpodeusarocaminhofsico
doarquivoemumarquivodoservidorbaseparalerougravaroarquivo.ASP.NETprovfacilidadesparareferenciar
recursoseparadeterminaroscaminhosdaspginasououtrosrecursosnaaplicao.
EspecificandoCaminhosparaRecursos
Emmuitoscasos,elementosoucontrolesnasuapginadevemreferenciarumrecursoexternotalcomoum
arquivo.ASP.NETsuportavriosmtodosparareferenciarrecursosexternos.Omtododerefernciaquevoc
escolheudependesevocesttrabalhandocomumelementodoladodoclienteoucomumcontroledeservidor
Web.
ElementosdoCliente
ElementosquenosocontrolesdeservidorWebnumapginaelementosdeclientesopassados
completamentecomosoparaonavegador.Portanto,quandosereferiraumrecursodoelementodocliente,voc
constricaminhosdeacordocomasregraspadroparaURLsemHTML.VocpodeusarumcaminhodeURL
totalmentequalificado(quetambmconhecidocomoabsoluto)ouvriostiposdecaminhosrelativos.Por
exemplo,sesuapginacontmumelementoimg,vocpodeconfigurarseuatributosrcusandoumdosseguintes
caminhos:
UmcaminhodeURLabsoluto.UmcaminhodeURLabsolutotilsevocestreferenciandorecursosem
outralocalizao,talcomoumsiteWebexterno.
<imgsrc="http://www.contoso.com/MyApplication/Images/SampleImage.jpg"/>
Umcaminhorelativodaraizdosite,quedeterminadoaocontrriodaraizdosite(nodaraizda
aplicao).Caminhosrelativosderaizdesitesoteissevocmantiverrecursoscruzadosdaaplicaotais
comoimagensouarquivosdescriptdocliente,emumapastaqueestlocalizadaabaixodaraizdosite.
EssecaminhodoexemploassumequeapastadeImagensestlocalizadaabaixodaraizdosite.
<imgsrc="/Images/SampleImage.jpg"/>
Seseusitehttp://www.contoso.com,ocaminhodeterminariaparaoseguinte.
http://www.contoso.com/Images/SampleImage.jpg
Umcaminhorelativoquedeterminadoaocontrriodocaminhodapginaatual.
<imgsrc="Images/SampleImage.jpg"/>
Umcaminhorelativoquedeterminadoigualaodocaminhodapginaatual.
<imgsrc="../Images/SampleImage.jpg"/>
Observao:
Porpadro,navegadoresdeterminamcaminhosrelativospelousodaURLdapginaatualcomoa
base.Entretanto,vocpodeincluirumelementobaseHTMLemumapginaparaespecificarumcaminho
basealternativo.
Controlesdeservidor
http://online.unip.br/imprimir/imprimirconteudo
1/4
07/12/2014
online.unip.br/imprimir/imprimirconteudo
EmcontroledeservidorASP.NETquereferenciamrecursos,vocpodeusarcaminhoabsolutosourelativoscomo
vocfazparaelementosdocliente.Sevocusacaminhosrelativos,elessodeterminadosparaocaminhoda
pgina,controledeusurio,outemanoqualocontroleestcontido.Porexemplo,imaginequevoctenhaum
controledeusurionapastaControles.TheControlardeUsuriocontainsanImageControlardoservidorWeb
whosepropriedadeImageUrlissettotheseguintecaminho:Images/SampleImage.jpg.
QuandooControledeUsurioexecutado,ocaminhoserresolverparaoseguinte:
/Controls/Images/SampleImage.jpg.Istoverdade,noimportaalocalizaodapginaque
hospedaocontroledeusurio.
Observao:
Empginasmestras,oscaminhosparaosrecursossodeterminadoscombasenocaminhodapginade
contedo.Paraobtermaisinformaes,consulteVisoGeraldePginasMestrasASP.NET.
Refernciasdecaminhoabsolutoerelativoemumcontroledeservidortemasseguintesdesvantagens:
Caminhosabsolutosnosoportveisentreaplicaes.Sevocmoveraaplicaoqueocaminhoabsoluto
aponta,osvnculosseroquebrados.
Oscaminhosabsolutosnoestilodoselementosdoclientepodemserdifceisdemantersevocmoveros
recursosoupginasparapastasdiferentes.
Parasuperaressasdesvantagens,ASP.NETincluiooperadordaraizdaaplicaoWeb(~),quevocpodeusar
quandoespecificarumcaminhoemcontrolesdeservidor.ASP.NETdeterminaooperador~paraaraizdaaplicao
atual.Vocpodeusaro~operadoremconjunocomaspastasparaespecificarumcaminhoquebaseadonaraiz
atual.
Oexemploseguintemostraooperador~usadoparaespecificarumcaminhorelativodaraizparaumaimagem
quandousaroImagecontroledeservidor.Nesteexemplo,oarquivodeimagemlidodapastaImagensqueest
localizadadiretamenteabaixodaraiznaaplicaoWeb,indiferentementedeondeapginaestejalocalizadanosite.
<asp:imagerunat="server"id="Image1"
ImageUrl="~/Images/SampleImage.jpg"/>
Vocpodeusarooperador~emqualquerpropriedadedecaminhorelacionadaemcontrolesdeservidor.Ooperador
~reconhecidoapenasporcontrolesdeservidorenocdigodoservidor.Vocnopodeusarooperador~para
elementosdocliente.
Observao:
Parapginasmveisapenas,sesuaaplicaoconfiaemsessessemcookiesoupodereceberpedidosde
dispositivosmveisquerequeremsessessemcookies,usarumtil("~")emumcaminhopoderesultar
inadvertidamentenacriaodeumanovasessoe,potencialmente,perdadedadosdasesso.Paraestabelecer
umapropriedadeemumcontrolemvelcomumcaminhoqueincluiumtil(talcomo"~/caminho"),determineo
caminhousandooResolveUrlmtodoantesdeatribuilopropriedade.
DeterminandoCaminhosdeArquivosFsicosparaoSiteAtual
Emsuaaplicao,vocpodeprecisardeterminarocaminhodeumarquivoououtrorecursonoservidor.Por
exemplo,sesuaaplicaolougravaumarquivodetextodemaneiraprogramtica,vocdevefornecerocaminho
fsicocompletodoarquivoparaosmtodosusadosparaleituraegravao.
Noumaboaprticausarcaminhosdearquivosfsicosdecdigosslidos(taiscomoC:\Site\MinhaAplicao)
dentrodasuaaplicao,porqueoscaminhospodemmudarsevocmoverouimplantarsuaaplicao.Entretanto,
ASP.NETprovvoccommeiosdeobterqualquercaminhodearquivofsicodentrodesuaaplicaodemaneira
porgramtica.Vocpodeusarocaminhodearquivobaseparacriarumcaminhocompletodorecursodequevoc
necessita.AsduasferramentasASP.NETmaiscomumenteusadasparadeterminarumcaminhodearquivoso
propriedadedoHttpRequestobjetoqueretornaainformaodocaminho,eoMapPathmtodo.
Observao:
Caminhosdearquivosfsicosnodevemserenviadosaosclientesporqueelespodemserusadosporumusurio
maliciosoparaganharinformaosobresuaaplicao.
DeterminandooCaminhodePropriedadesdeSolicitao
http://online.unip.br/imprimir/imprimirconteudo
2/4
07/12/2014
online.unip.br/imprimir/imprimirconteudo
AtabelaseguintelistaaspropriedadesdoHttpRequestobjetoqueajudamvocadeterminaroscaminhosdos
recursosemsuaaplicao.
Osexemploslistadosnatabelasobaseadosnasseguinteshipteses:
ASolicitarnavegadorwasmadeUsingtheseguinteURL:
http://www.contoso.com/MyApplication/MyPages/Default.aspx.
otermo"caminhovirtual"referesepartedaURLchamadaquesegueoidentificadordoservidorNeste
caso,ocaminhovirtualoseguinte:/MyApplication/MyPages/Default.aspx.
Thefsicocaminhofortheraizofthesiteistheseguinte:
C:\inetpub\wwwroot\MyApplication\.
OcaminhofsicocontmumpastanomeadaMyPages.
Propriedade
ApplicationPath
Descrio
Obtmocaminhodaraizdaaplicaoatual,independentementedeondevocosolicite
naaplicao.Fortheexemplo,thepropriedadereturnstheseguinte:/
Obtmocaminhovirtualdasolicitaoatual.DiferedapropriedadeFilePathemque
CurrentExecutionFilePathestcorretaseasolicitaofoiredirecionadaemcdigodo
servidor.Fortheexemplo,thepropriedadereturnstheseguinte:
CurrentExecutionFilePath
/MyApplication/MyPages/Default.aspx
Sevocobtiverapropriedadenocdigoqueestexecutandocomoumresultadode
umachamadaparaTransferouExecute,ocaminhorefletealocalizaodocdigo.
Obtmocaminhovirtualdasolicitaoatual.Fortheexemplo,thepropriedadereturns
FilePath
theseguinte:/MyApplication/MyPages/Default.aspx
DiferentedaCurrentExecutionFilePathpropriedade,FilePathnorefletetransferncias
doladodoservidor.
Path
Obtmocaminhovirtualdasolicitaoatual.Fortheexemplo,thepropriedadereturns
theseguinte:/MyApplication/MyPages/default.aspx
PhysicalApplicationPath
Obtmocaminhodosistemadearquivofsicodaexecuoatualdaraizdodiretrioda
aplicao.Fortheexemplo,thepropriedadereturnstheseguinte:
PhysicalPath
ObtmocaminhodosistemadearquivofsicoquecorrespondeURLsolicitada.Forthe
exemplo,thepropriedadereturnstheseguinte:
C:\inetpub\wwwroot\
C:\inetpub\wwwroot\MyApplication\MyPages\default.aspx
UsandooMtodoMapCaminho
OMapPathmtodoretornaocaminhofsicocompletoparaumcaminhovirtualquevocpassaparaomtodo.Por
exemplo,oseguintecdigoretornaocaminhodoarquivoparaaraizdoseusiteWeb:
C#
StringrootPath=Server.MapPath("~")
http://online.unip.br/imprimir/imprimirconteudo
3/4
07/12/2014
online.unip.br/imprimir/imprimirconteudo
Exerccio1:
QuandosetrabalhacomrecursosdeumsitenaWeb,vocdeveespecificarumcaminhoparaorecurso.Quaisso
asformasdedirecionarosarquivosparaoservidordepginas?
ASomenteabsoluto
BSomenteDinmico
CAbsolutoeDinmico
DAcessoNativo
ENenhumadasalternativasanteriores
Oalunorespondeueacertou.Alternativa(C)
Comentrios:
Dxxxxxxxxxxxxxxxxxxxxxxxx
Axxxxxxxxxxxxxxxxxxxxxxxx
Bxxxxxxxxxxxxxxxxxxxxxxxx
Cxxxxxxxxxxxxxxxxxxxxxxxx
http://online.unip.br/imprimir/imprimirconteudo
4/4