Você está na página 1de 4

07/12/2014

online.unip.br/imprimir/imprimirconteudo

.NETFrameworkVersion:2.0,3.5
PastasdecdigocompartilhadoemsitesdaWebASP.NET
SeoseuaplicativodaWebincluicdigoquevocdesejacompartilharentrepginas,vocpodermanter
ocdigoemumadasduaspastasespeciaissobaraizdoseuaplicativodaWeb,apastaBineapasta
App_Code.Quandovoccriaessaspastasearmazenatiposespecficosdearquivosnelas,oASP.NETtrata
osarquivosdemaneirasespeciais.
PastaBin
VocpodearmazenarmduloscompiladosnapastaBin,demaneiraqueoutroscdigosemqualquer
lugarnoaplicativodaWeb(taiscomocdigosparapginas)fazemrefernciaaessapasta
automaticamente.Umexemplotpicoquevoctenhaocdigocompiladoparaumaclasse
personalizada.VocpodecopiaroassemblycompiladoparaapastaBindoseuaplicativodaWebeaclasse
estardisponvelparatodasaspginas.
Mdulos(assemblies)napastaBinnoprecisamserregistrados.Apresenadeumarquivo.DLLnapasta
BinsuficienteparaqueoASP.NEToreconhea.Sevocalteraroarquivo.dlleescreverumanova
versodeleparaapastaBin,oASP.NETdetectaraatualizaoeusaranovaversodoarquivo.dllnas
novassolicitaesdepginaemdiante.

SeguranacomapastaBin
ColocarmduloscompiladosnaapastaBinpoderepresentarumriscodesegurana.Sevocescreveuo
cdigoeocompilouemseguida,vocsaberoqueocdigofaz.Entretanto,vocdevetratarcdigo
compiladonapastaBincomovoctrataqualquercdigoexecutvel.Desconfiedocdigocompiladoat
queotenhatestadoetenhacertezadequevoccompreendeoqueelefaz.
ObserveessesaspectosdeseguranaaocolocarcdigocompiladoparaapastaBin:
Mdulos(assemblies)napastaBinestocomoescopoparaoaplicativoatual.Portanto,elesno
poderoacessarrecursosouchamarcdigodeforadoaplicativodaWebatual.
Emtempodeexecuo,osnveisdeacessodeumassemblysoestabelecidospelonvelde
confiabilidadeespecificadonocomputadorlocal.Paraobtermaisinformaes,consulteNveisde
confianaASP.NETearquivosdediretiva.
SevocestivertrabalhandoemumdesignercomooVisualStudio,ocdigonapastaBinexecutar
emumcontextodiferentedoqueemtempodeexecuo.Ocdigoporexemplo,podeser
executadocomconfianatotal.
PastaApp_Code
VocpodearmazenarcdigofontenapastaApp_Code,eelasersercompiladaautomaticamenteem
tempodeexecuo.OassemblyresultanteestacessvelatodososoutroscdigosnoaplicativodaWeb.A
pastaApp_CodeportantofuncionacomoapastaBin,excetoquevocpodearmazenarcdigofontenela
emvezdecdigocompilado.ApastaApp_CodeeseustatusespecialemumaplicativoASP.NETtorna
possvelcriarclassespersonalizadaseoutrosarquivosquecontmsomentecdigofonteeuslosemseu
aplicativodaWebsemterquecompilalosindependentemente.
ApastaApp_Codepodeconterarquivosdecdigofontegravadoscomoarquivosdeclassetradicionais
ouseja,arquivoscomumaextenso.vb,extenso.cs,eassimpordiante.Entretanto,eletambmpode
incluirarquivosquenoestiveremexplicitamenteemumalinguagemdeprogramaoespecfica.Os
exemplosincluemarquivos.WSDL(linguagemdedescriodeserviodaWeb)earquivosdeesquema
XML(.xsd).OASP.NETpodecompilaressesarquivosemmdulos(assemblies).
ApastaApp_Codepodeconterquantosarquivosesubpastasquantovocprecisar.Vocpodeorganizar
seucdigofontedequalquerformaquevocacharconveniente,eaindaassimoASP.NETcompilartodo
ocdigoemumnicoassemblyqueacessvelaoutroscdigosemqualquerlugarnoaplicativodaWeb.
Observao:

http://online.unip.br/imprimir/imprimirconteudo

1/4

07/12/2014

online.unip.br/imprimir/imprimirconteudo

ControlesdeusurionosopermitidosnapastaApp_Code.Issoincluicontrolesdeusuriodearquivo
nicoecontrolesdeusurioqueusamomodelocodebehind.Colocarumcontroledeusurionodiretrio
App_Codefazcomqueocdigodocontroledeusuriosejacompiladoforadesuaseqncianecessria
e,portanto,nopermitido.ObservequecontrolesdeusurionoprecisamestarnapastaApp_Code
elesjestodisponveisparapginasemalgumlugarnoaplicativo.

InfernciadalinguagemdeprogramaodapastaApp_Code
ApastaApp_Codenoestexplicitamentemarcadaparaconterarquivosescritosemumadada
linguagemdeprogramao.Emvezdisso,oASP.NETinfereocompiladoraserchamadoparaapasta
App_Codebaseandosenosarquivosdapasta.SeapastaApp_Codecontiverarquivos.vb,oASP.NETusa
ocompiladorVisualBasicseelecontiverarquivos.cs,oASP.NETusaocompiladorC#,eassimpor
diante.
SeapastaApp_Codecontiverapenasarquivosondealinguagemdeprogramaoambgua,comoum
arquivo.WSDL,oASP.NETusaocompiladorpadroparaaplicativosdaWeb,comoestabelecidano
elementocompilationdoaplicativodaWebouarquivodeconfiguraodamquina.

LinguagensdeprogramaomltiplasnapastaApp_Code
ComoocdigofontenapastaApp_Codecompiladoemumnicoassembly,todososarquivosnapasta
App_Codedevemestarnamesmalinguagemdeprogramao.Porexemplo,apastaApp_Codenopode
incluircdigofontedeVisualBasiceC#.
Entretanto,vocpodeconfiguraroseuaplicativodaWebparatratarsubpastasdapastaApp_Codecomo
unidadescompilveisseparadas.Cadapastapodeentocontercdigofonteemumalinguagemde
programaodiferente.Aconfiguraoespecificada,criandoumelementocodeSubDirectoriesno
elementocompilationdoarquivoWeb.configeadicionandoumarefernciasubpasta.Oexemploaseguir
ilustracomovocconfigurariasubpastasdenominadosVBCodeeCSCodeparacompilaremmdulos
(assemblies)separados:
<compilationdebug="false">
<codeSubDirectories>
<adddirectoryName="VBCode"/>
<adddirectoryName="CSCode"/>
</codeSubDirectories>
</compilation>
AsrefernciasssubpastasVBCodeeCSCodenoprecisamincluirqualquerinformaosobrea
linguagemdeprogramaoqueestcontidanasubpasta.ComocomapastaApp_Codepropriamentedita,
oASP.NETinferequalcompiladorusarbaseadonosarquivosdasubpasta.

SeguranacomapastaApp_Code
QuestesdeseguranacomcdigonapastaApp_Codesoessencialmenteosmesmosquecomoscdigo
napastaBinocdigocompiladoemumassemblyemtempodeexecuo.Umfatoratenuanteque
vocpodelerocdigofontedosarquivosnapastaApp_Code.Entretanto,sevocnocompreender
totalmenteocdigo,issoaindapoderepresentarumriscodesegurana.Portanto,trateocdigofontena
pastaApp_Codecomovoctratariaocdigocompiladodamesmafonte.

Exerccio1:
Quandovoccriaessaspastasearmazenatiposespecficosdearquivosnelas,oASP.NETtrataos
arquivosdemaneirasespeciais.Dequaispastasaperguntaestfalando?
ARaizebin
BBrowseeApp_Thems
CApp_ThemeseApp_Code
http://online.unip.br/imprimir/imprimirconteudo

2/4

07/12/2014

online.unip.br/imprimir/imprimirconteudo

DBineApp_Code
ENenhumadasQuestesAnteriores

Oalunorespondeueacertou.Alternativa(D)
Comentrios:
Axxxxxxxxxxxx
Bxxxxxxxxxxxx
Cxxxxxxxxxxxx
Dxxxxxxxxxxxx
Exerccio2:
SeumassembliefoidesenvolvidoearmazenadonapastabindoseuaplicativoASP.NET,omesmono
poderexecutarouinvocarmtodoseprocedimentosexternosaoaplicativo.Contudo,duranteotempo
deexecuo,comooarquivointerpretadoperanteosrecursosdesegurana?
AUmaplicativoexternoquenotemdireitoalgumdeexecuo
BQueseusnveisdeacessodeumassemblysoestabelecidospelonveldeconfiabilidadeespecificado
nocomputadorlocal.
CQuepoderoexecutartoexatamentefoidesenvolvido,devidoaseguranacriptogrficado.NET
FrameworkestartrabalhandodiretamentecomoGarbageCollector
DSomenteasQuestesBeC
ENenhumadasalternativasanteriores

Oalunorespondeueacertou.Alternativa(B)
Comentrios:
Axxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Bxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Exerccio3:
ApastaApp_Codepodearmazenarqualquertipodearquivodesdeosarquivos.cse.vbatmesmo
arquivos.xml.Contudoquantassubpastasapastaapp_Codesuporta?
A15
B150
C10
D7
EIlimitadaspastas

Oalunorespondeueacertou.Alternativa(E)
Comentrios:
Exxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Exerccio4:
ApastaApp_Codesuportatantoarquivos.vbquanto.cs,edevidoextensodosarquivosaserem
compiladoso.NETFrameworkutilizaocompiladorreferenteaqueletipodearquivo,sendoaextenso
doarquivo.csutilizadoocopiladordoC#eo.vbserutilizadoocompiladordoVisualBasic.Pormno
possvelcolocararquivosdelinguagensdiferentesdentrodamesmapastaApp_Code.Destaformao
.NETFrameworkpossuiumaformaderealizartalcompilaoadicionandoquaislinhasdecdigoao
arquivoWeb.Config?
A<codeSubDirectories><adddirectoryName="VBCode"language="VisualBasic"/><add
http://online.unip.br/imprimir/imprimirconteudo

3/4

07/12/2014

online.unip.br/imprimir/imprimirconteudo

directoryName="CSCode"language"C#"/></codeSubDirectories>
B<codeSubDirectories><adddirectoryName="VBCode"language="VisualBasic"/><add
directoryName="CSCode"language="CSharp"/></codeSubDirectories>
C<codeSubDirectories><adddirectoryName="VBCode"language="Basic"/><add
directoryName="CSCode"language="C#"/></codeSubDirectories>
D<codeSubDirectories><adddirectoryName="VBCode"language="Basic"/><add
directoryName="CSCode"language="CSharp"/></codeSubDirectories>
E<codeSubDirectories><adddirectoryName="VBCode"/><add
directoryName="CSCode"/></codeSubDirectories>

Oalunorespondeueacertou.Alternativa(E)
Comentrios:
Bxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Axxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Exxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

http://online.unip.br/imprimir/imprimirconteudo

4/4