Anda di halaman 1dari 21

SLOBOMIR P UNIVERZITET

Fakultet za informacione tehnolo i!e

SEMIN"RS#I R"$
Pre%met& O'no(i NET) tehnolo i!e
Tema& Instalacija i konfiguracija aplikacija

Mentor& $ra ol!u, Pili3o(i+ $o,o!4 Mart 5165)

Stu%ent& Male*ki+ "rmin ,r)in%e-a& ./012

SADRAJ:

6) In'talaci!a i konfi uraci!a a3likaci!a)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))7 5) #onfi uri'an!e a3likaci!a))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))7 5)6 "3likaci!'ka 3o%e*a(an!a u )NET okru8en!u)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))7 5)5 #ori*ten!e S9'tem):onfi uration imen'ko 3ro'tora))))))))))))))))))))))))))))))))))))))))))))))))))))))). Slika 6) Potre,no !e %o%ati referencu na S9'tem)confi uration)%ll)))))))))))))))))))))))))))))))))))))))); 5)7 $efini'an!e konfi uraci!'kih 3o%e*a(an!a a3likaci!e)))))))))))))))))))))))))))))))))))))))))))))))))))))))); 5). <itan!e konfi uraci!'kih 3o%e*a(an!a a3likaci!e))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))= 5); #ori*ten!e konekcionih 'trin o(a))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))/ 5)= <itan!e 3o%e*a(an!a ma*in'ke konfi uraci!e))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))2 5)/ #reiran!e 3rila o>enih 'ekci!a))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))61 5)2 #reiran!e 'o3't(enih 'ekci!a kori'te+i I:onfi urationSection?an%ler )))))))))))))))))))))))))61 5)@ #reiran!e 3rila o>enih 'ekci!a kori'te+i :onfi urationSection )))))))))))))))))))))))))))))))))))))65 7) #onfi uri'an!e )NET okru8en!a )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))6. 7)6 #onfi uri'an!e )NET 3o%e*a(an!a))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))6. 7)5 #ori*ten!e Micro'oft )NET FrameAork 5)1 :onfi uration alatke ))))))))))))))))))))))))))))))))6= 7)7 Ure>i(an!e 'klo3o(no ke*a)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))6= 7). #onfi uri'an!e "''em,l9 Ver'ion Bin%in i :o%e,a'e' )))))))))))))))))))))))))))))))))))))))))))))))6/ 7); #onfi uri'an!e Remotin 'er(i'a))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))6/ .) In'taliran!e a3likaci!a )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))62 .)5 #reiran!e 3rila o>enih in'talera )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))62 ;) Zakl!uBak)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))56 =)Literatura )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))56

1. Instalacija i konfiguracija aplikacija

Ve+ina !e%no'ta(nih )NET a3likaci!a ra%i ,ez 3otre,e in'taliran!a ili konfi uri'an!a zato *to 'u %iza!nirane %a 3oka8u '3ecfiBne 3o!e%ino'ti )NET okru8en!a)U 3rak'i4 (e+ina a3likaci!a mora ,iti in'talirana na kli!ent'kom raBunaru i on%a konfi uri'ana o% 'trane ili 'i'tem'ko a%mini'tratora ili kori'nika)O(a! 'eminar'ki ra% o3i'u!e kako in'talirati a3likaci!e4o'i urati 3erzi'tentnu konfi uraci!u za a3likaci!u i kako konfi uri'ati razliBite a3'ekte )NET okru8en!a)

2. Konfigurisanje aplikacija

Iako 3rim!eri a3likaci!a u (e+ini kn!i a Be'to 'e o'lan!a!u na konfi uri'an!e unutar 3ro ram'ko ko%a z,o !e%no'ta(no'ti4tre,alo ,i u(i!ek 'aBu(ati (ri!e%no'ti kao *to 'u kori'niBke 3reference i konekci!'ki 'trin o(i ka ,azama 3o%ataka u (an!'kim fa!lo(ima ko!e 'i'tem'ki a%mini'tratori mo u ure>i(ati)O(o 3o la(l!e o3i'u!e kla'e u )NET okru8en!u ko!e 3o!e%no'ta(l!u!u Bu(an!e i Bitan!e to ti3a konfi uraci!'kih 3o%e*a(an!a) Po'li!e o(o 3o la(l!a (i +ete mo+i %a & <itati i 3i'ati a3likaci!'ka konfi uraci!'ka 3o%e*a(an!a i konekcione 'trin o(e <itati raBunaro(a konfi uraci!'ka 3o%e*a(an!a #reirati 3rila o>ene kla'e ko!e +e (am omo u+iti 3ri'tu3 konfi uraci!'kim 3o%e*a(an!ima kori'te+i 'tro e ti3o(e)

2.1 Aplikacijska podeavanja u .NET okruenju

)NET a3likaci!e 'u konfi uri'ane 3utem mno ih CML konfi uraci!'kih fa!lo(a)CML format omo u+a(a 'i'tem'kim a%mini'tratorima %a ure>u!u 3o%e*a(an!a 'a tek'tualnim e%itorom %ok tako>e %o3u*ta uBinko(it 3ro ram'ki 3ri'tu3) "3likaci!a ti3iBno (uBe 3o%e*a(an!a iz %(a fa!la& centralizo(ano Machine)confi fa!la4ko!i !e %o'tu3an '(im )NET a3likaci!ama i a3likaci!'kiD'3ecifiBno )confi fa!la 'm!e*teno u ra%nom fol%eru 'klo3a)Za )NET (erzi!e 7)1 i 7); Machine)confi !e 'm!e*ten u EFin%ir EGMicro'oft)NETG FrameAorkG(5)1);1/5/G:onfi GMachine)confi ) Machine)confi fa!l 'a%r8i 3o%e*a(an!a za '(e )NET a3likaci!e ukl!uBu!u+i Fin%oA' Pre'entation Foun%ation HFPFI a3likaci!e4Fin%oA' konzolne a3likaci!e i Fe, a3likaci!e)O(a 3o%e*a(an!a o%no'e 'e na ci!eli raBunar)

Neka o% 3o%e*a(an!a u Machine)confi fa!lu mo u ,iti na%!aBana 3o%e*a(an!ima u a3likaci!'kom konfi uraci!'kom fa!lu4ko!i !e o,iBno 'm!e*ten u i'tom fol%eru %!e !e i a3likaci!a 3o% imenom <Application_Name>.confi )Po%e*a(an!a u a3likaci!'kom konfi uracionom fa!lu mo u na%!aBati Machine)confi 3o%e*a(an!a ili mo u ,iti '3ecifiBna Hn3r)4 3ohran!i(an!e konekci!'kih 'trin o(a za ,azu 3o%atakaI)

Machine)confi fa!l o%re>u!e ko!a 3o%e*a(an!a ne mo u ,iti na%!aBana)Po%e*a(an!a 'a allowDefinition '(o!'t(om 3o'ta(l!enima na MachineOnly mo u ,iti %efini'ana 'amo u Machine)confi fa!lu)Po%e*a(an!a 'a allowDefinition '(o!'t(om 3o'ta(l!ennima na MachineToApplication mo u ,iti re%efini'ana u '(ako! a3likaci!i) N3r) 3o 3oBetno! 3o'ta(ci (i mo8ete %a kontroli*ete autentifikaci!u o% a3likaci!e %o a3likaci!e zato *to 3o%razumi!e(ana 3o'ta(ka Machine)confi fa!la 'ta(l!a allowDefinition '(o!'t(o na MachineToAplication4kao *to !e 3rikazano i'3o%&

<section name="authentication" type="System.We .!onfi"u#ation.Authentication!onfi"$an%le#& System.We & 'e#sion=(.).).)& !ultu#e=neut#al& *u lic+eyTo,en= )-f.f/f00%.)a-a" allowDefinition="MachineToApplication" 1>

Sl!e%e+e 3o la(l!e o,!a*n!a(a kako kori'titi System.!onfi"u#ation imen'ki 3ro'tor za 3i'an!e i Bitan!e konfi uraci!'kih 3o%e*a(an!a a3likaci!e i konekcionih 'trin o(a)

2.2 Koritenje System.Con i!uration imensko! prostora

<e'to a3likaci!e tre,a!u 3rila o>ene konfi uraci!'ke 3o'ta(ke ko!e 'u 'aBu(ane izme>u 'e'i!a)Iako (i mo8ete na3i'ati 3rila o>eni ko% za Bitan!e i 3i'an!e 3o fa!lu ko!i 'a%r8i 3o'ta(ke konfi uraci!e 3otre,ne za (a*u a3likaci!u4System.!onfi"u#ation imen'ki 3ro'tor 'a%r8i kla'e za Bitan!e i 3i'an!e konfi uraci!'kih 3o'ta(ki)O(o Bini !e%no'ta(nim 3ohran!i(an!e i (ra+an!e 3o'ta(ki) Pri!e ne o !e iza*ao )NET (erzi!e 5)14 )NET okru8en!e !e 'a%r8a(ao System.!onfi"u#ation imen'ki 3ro'tor 4ali ta (erzi!a imen'ko 3ro'tora !e 'a% za'tarila)"ko !e%no'ta(no %o%ate System.!onfi"u#ation imen'ki 3ro'tor u '(o! 3ro!ekat (a*a a3likaci!a +e ukazi(ati na za'tar!eli imen'ki 3ro'tor) Um!e'to to a 3ratite o(e korake ko!i 3okazu!u kako %o%ati i'3ra(an $9namic Link Li,rar9 H$LLI &

6) U Vi'ual Stu%io4ot(orite 3ro!ekat ko!i zahti!e(a System.!onfi"u#ation imen'ki 3ro'tor) 5) #liknete na Pro!ect meni i on%a kliknete "%% Reference) 7) Na )NET kartici iza,erite System.!onfi"u#ation kao *to !e 3rikazano na 'lici 6) i'3o% i kliknite O#) .) Sa%a mo8ete %o%ati System.!onfi"u#ation imen'ki 3ro'tor (a*em 3ro!ektu normalno4kori'te+i usin" Hu :JI4 i (a*a a3likaci!a +e ukazi(ati na i'3ra(nu (erzi!u imen'ko 3ro'tora)

Slika 1. "otre#no je dodati re erencu na System.con i!uration.dll

2.$ %e inisanje kon i!uracijski& podeavanja aplikacije

Vi mo8ete %efini'ati konfi uraci!'ka 3o%e*a(an!a u a3likaci!'kom K"33licationLNameM)config fa!lu4'm!e*tenom u iz(r*nom fol%eru)Za %efini'an!e konfi uraci!'kih 3o%e*a(an!a ili ruBno kreirati CML fa!l ili kori'titi in'tance !onfi"u#ation kla'e) Za %efini'an!e konfi uraci!'kih 3o%e*a(an!a a3likaci!e 3ro ram'ki kreirate in'tancu !onfi"u#ation kla'e 3o% nazi(om !onfi"u#ationMana"e#.Open23e!onfi"u#ation)On%a43ozo(ete !onfi"u#ation.A%% %a ,i'te %o%ali 3ar ime0(ri!e%no't konfi uraci!'kim 3o'ta(kama a3likaci!e)#onaBno43ozo(ite !onfi"u#ation.Sa4e %a ,i 3ohranili a8urirane (ri!e%no'ti konfi uraci!'ko fa!la) Nare%ni 3rim!er ko!i morate 3okrenuti ruBno iz(an Vi'ual Stu%io Inte rate% $e(elo3ment En(ironment HI$EI nakon *to a na3ra(ite 4 3okazu!e kako %o%ati (ri!e%no't)

11 !5 !onfi"u#ation confi" = !onfi"u#ationMana"e#.Open23e!onfi"u#ation6!onfi"u#ation7se#8e4el.None9: confi".AppSettin"s.Settin"s.A%%6"My+ey"& "My'alue"9: 11 Sa4e the confi"u#ation file. confi".Sa4e6!onfi"u#ationSa4eMo%e.Mo%ifie%9:

Vi ne mo8ete !e%no'ta(no 3okrenuti o(u a3likaci!u iz Vi'ual Stu%ioN(e+ morate na3ra(iti iz(r*ni fa!l i on%a a 3okrenuti %irektno)Pokretan!em iz Vi'ual Stu%io 4 a3likaci!e ra%e u (irtualnom ho'tu i ne kori'te 'tan%ar%ni )confi fa!l)Nakon 3okretan!a a3likaci!e 4ona eneri*e 'l!e%e+i fa!l4ko!i 'a%r8i 3ar ime0(ri!e%no't&
<;3ml 4e#sion="0.)" enco%in"="utf<=";> <confi"u#ation> <appSettin"s> <a%% ,ey="My+ey" 4alue="My'alue" 1> <1appSettin"s> <1confi"u#ation>

O(a! fa!l tako>e 3okazu!e kako ,i kreirali a3likaci!'ki konfi uracioni fa!l ruBno)#ori*ten!em CML formata 't(orite 3oBetne i zat(ara!u+e oznake za <confi"u#ation> 'ekci!u)Unutar <confi"u#ation> 'ekci!e 4't(orite 3oBetne i zat(ara!u+e oznake za <appSettin"s> 'ekci!u)On%a4na3ra(ite <a%%> elemente ko!i %efini*u kl!uB i (ri!e%no't '(o!'t(a)

2.' (itanje kon i!uracijski& podeavanja aplikacije

#onfi uraci!'ka 3o%e*a(an!a a3likaci!e mo8ete Bitati kori'te+i 'tatiBnu !onfi"u#ationMana"e#.AppSettin"s ime0(ri!e%no't kolekci!u)N3r4 'l!e%e+i 3rim!er 3rikazu!e '(a konfi uraci!'ka 3o%e*a(an!a a3likaci!e na konzoli&
11 !5 fo# 6int i = ): i < !onfi"u#ationMana"e#.AppSettin"s.!ount: i>>9 ? !onsole.W#ite8ine6"?)@A ?0@"& !onfi"u#ationMana"e#.AppSettin"s.All+eysBiC& !onfi"u#ationMana"e#.AppSettin"sBiC9: @

Tako>e mo8ete 3ri'tu3iti o%re>enim 3o%e*a(an!ima kori'te+i ime kl!uBa)N3r)4 3ret3o'ta(ite %a imate 'l!e%e+i )confi fa!l &
<;3ml 4e#sion="0.)" enco%in"="utf<=";>

<confi"u#ation> <appSettin"s> <a%% ,ey="My+ey" 4alue="My'alue" 1> <a%% ,ey="D#eetin"" 4alue="$ello& wo#l%E" 1> <1appSettin"s> <1confi"u#ation>

Sl!e%e+a 3ro ram'ka lini!a ,i 3rikazala (ri!e%no't (ezanu za D#eetin" kl!uB HO?ello Forl%PI &
11!5 !onsole.W#ite8ine6!onfi"u#ationMana"e#.AppSettin"sB"D#eetin""C9:

2.) Koritenje konekcioni& strin!ova

Qe%an o% na!uBe'tali!ih o,lika kori*ten!a a3likacionih 3o%e*a(an!a !e %efini'an!e konekcionih 'trin o(a za ,aze 3o%ataka)#onekcioni 'trin o(i %efini*u kako 'e kli!ent'ka a3likaci!a konektu!e 'a 3oza%in'kom ,azom 3o%ataka)Pohran!i(an!em konekcionih 'trin o(a u konfi uraci!'ki fa!l 'e %oz(ol!a(a 'i'tem'ki a%mini'tratori %a %efini*u konekcioni 'trin ure>i(a!u+i konfi uraci!'ki fa!l)Va8no !e za 'i'tem'ke a%mini'tratore %a 'u u mo u+no'ti %a o(o ra%e zato *to 'er(er za ,aze 3o%ataka mo8e mi!en!ati imena4lokaci!e ili akre%iti(e)

Za 3ri'tu3an!e konekcionim 'trin o(ima kori'tite !onfi"u#ationMana"e#.!onnectionSt#in"s 'tatiBke meto%e na 'liBan naBin ko!im 'te 3ri'tu3ali 'a !onfi"u#ationMana"e#.AppSettin"s) Iako AppSettin"s !e 'tan%ar%an Name'alue!ollection4 !onnectionSt#in"s !e ti3a !onnectionSt#in"Settin"s!ollection)Tri na!kori'ni!a '(o!'t(a !onnectionSt#in"Settin"s kla'e 'u Name6ko!e %efini*e ime konekci!e9 4 *#o4i%e#Name 6ko!i %efini*e ti3 konekci!e ka ,azi 3o%atakaI& i !onnectionSt#in" Hko!i %efini*e kako 'e kli!ent konektu!e 'a 'er(eromI)

Na 3rim!er4 3o le%a!mo 'l!e%e+i konekcioni 'trin 4ko!i ,i mo ao ,iti %efini'an ili u a3likaci!'kom )confi fa!lu ili u Machine)confi fa!lu )HO(a! konekcioni 'trin !e formatiran %a 'e ukla3a na *tam3anu 'tranicu4ali u u fa!lu mora ,iti u !e%nom re%u)I
<connectionSt#in"s> <a%% name="8ocalSFlSe#4e#" connectionSt#in"="%ata sou#ce=.GSH82I*J2SS: Knte"#ate% Secu#ity=SS*K: AttachDLMilename=NDataDi#ecto#yNaspnet% .m%f: 7se# Knstance=t#ue" p#o4i%e#Name="System.Data.SFl!lient" 1> <1connectionSt#in"s>

Sl!e%e+i 3rim!er 3ri'tu3a konekcionom 'trin u na o'no(u imenaH na!Be*+i o,lik u3otre,e u 3rak'iI i on%a 3rikazu!e '(e konekcione 'trin o(e &
11 !5 11 Display a specific connection st#in" !onsole.W#ite8ine6!onfi"u#ationMana"e#.!onnectionSt#in"sB"8ocalSFlSe#4e#"C.!onnectionSt#in"9: 11 Display all connection st#in"s !onnectionSt#in"Settin"s!ollection connections = !onfi"u#ationMana"e#.!onnectionSt#in"s: fo#each 6!onnectionSt#in"Settin"s connection in connections9 ? !onsole.W#ite8ine6"NameA ?)@"& connection.Name9: !onsole.W#ite8ine6"!onnection st#in"A ?)@"& connection.!onnectionSt#in"9: !onsole.W#ite8ine6"*#o4i%e#A ?)@"& connection.*#o4i%e#Name9: !onsole.W#ite8ine6"Sou#ceA ?)@"& connection.2lementKnfo#mation.Sou#ce9: @

Qe%nom ka%a kreirate !onnectionSt#in"Settin"s o,!ekat mo8ete i'3itati *#o4i%eName 3arametar %a ,i'te o%luBili ko!i ti3 konekci!e ka ,azi 3o%ataka +ete kreirati)Sl!e%e+i 3rim!er 3rikazu!e kako 'e kori'ti *#o4i%e#Name %a kreirate 3latform'ki za(i'an D !onnection o,!ekat kori'te+i !onnectionSt#in"Settin"s o,!ekat naz(an connection &
11 !5 D !onnection % = null: switch 6connection.*#o4i%e#Name9 ? case "System.Data.SFl!lient"A % = new SFl!onnection6connection.!onnectionSt#in"9: #ea,: case "System.Data.OleD "A % = new OleD !onnection6connection.!onnectionSt#in"9: #ea,: case "System.Data.O% c"A % = new O% c!onnection6connection.!onnectionSt#in" 9: #ea,: case "System.Data.O#acle!lient"A % = new O#acle!onnection6connection.!onnectionSt#in"9: #ea,: @

2.* (itanje podeavanja mainske kon i!uracije

O,iBno ne morate Bitati ma*in'ka konfi uraciona 3o%e*a(an!a %irektno)I3ak4ka%a (am !e to 3otre,no4mo8ete 3oz(ati !onfi"u#ationMana"e#.OpenMachine!onfi"u#ation meto% %a kreirate !onfi"u#ation o,!ekat ko!i 3re%'ta(l!a Machine)confi fa!l) Na 3rim!er4 Machine)confi fa!l 'a%r8i <confi"*#otecte%Data> 'ekci!u ko!a o3i'u!e kri3to raf'ke tehnolo i!e %o'tu3ne za za*titu konfi uracionih 3o%ataka)Sl!e%e+i 3rim!er 3rikazu!e ti3iBnu <confi"*#otecte%Data> 'ekci!u u Machine)confi fa!lu&

<confi"*#otecte%Data %efault*#o4i%e#="Jsa*#otecte%!onfi"u#ation*#o4i%e#"> <p#o4i%e#s> <a%% name="Jsa*#otecte%!onfi"u#ation*#o4i%e#" type="System.!onfi"u#ation.Jsa*#otecte%!onfi"u#ation*#o4i%e#& System.!onfi"u#ation& 'e#sion=(.).).)& !ultu#e=neut#al& *u lic+eyTo,en= )-f.f/f00%.)a-a" %esc#iption="7sesJsa!#yptoSe#4ice*#o4i%e# to enc#ypt an% %ec#ypt" ,ey!ontaine#Name="NetM#amewo#,!onfi"u#ation+ey" csp*#o4i%e#Name=" " useMachine!ontaine#="t#ue" useOA2*="false" 1> <a%% name="Data*#otection!onfi"u#ation*#o4i%e#" type="System.!onfi"u#ation.Dpapi*#otecte%!onfi"u#ation*#o4i%e#& System.!onfi"u#ation& 'e#sion=(.).).)& !ultu#e=neut#al& *u lic+eyTo,en= )-f.f/f00%.)a-a" %esc#iption="7ses !#ypt*#otectData an% !#ypt7n*#otectData Win%ows A*Ks to enc#ypt an% %ec#ypt" useMachine*#otection="t#ue" ,ey2nt#opy="" 1> <1p#o4i%e#s> <1confi"*#otecte%Data>

#ao *to mo8ete (i%!eti4o(a 'ekci!a %efini*e %(a 3ro(a!%era HJsa*#otecte%!onfi"u#ation*#o4i%e# i Data*#otection!onfi"u#ation*#o4i%e#I 43a %efini*e Jsa*#otecte%!onfi"u#ation*#o4i%e# kao 3o%razum!e(ani 3ro(a!%er)Mo8ete 3ri'tu3iti 3o%razum!e(anom 3ro(a!%eru 4ili ,ilo ko!em a'3ektu konfi uri'anih 3ro(a!%era4'li!e%e+i o(e korake& 6) $o,a(l!ate ma*in'ku konfi uraci!u) 5) Pozo(ite !onfi"u#ation.DetSection %a ,i'te %o,ili <confi"*#otecte%Data> 'ekci!u) 7) #on(ertu!teHen l) ca'tI !onfi"u#ationtSection o,!ekat (ra+en o% !onfi"u#ation.DetSection u kla'u 3o%o,nu konfi uraci!'ko! 'ekci!i ko!o! 3ri'tu3ate)U 'luBa!u <confi"*#otecte%Data> tre,a %a kori'tite *#otecte%!onfi"u#ationSection kla'u) .) Pri'tu3ite '(o!'t(ima *#otecte%!onfi"u#ationSection kla'e ili onom !onfi"u#ationSection ti3u ko!i kori'tite) Sl!e%e+i 3rim!er 3rikazu!e una3ri!e% za%ani za*titni konfi uracioni 3ro(a!%er i on%a 3rikazu!e %etal!e Data*#otection!onfi"u#ation*#o4i%e#A

11 !5 11 Open the Machine.confi" file !onfi"u#ation machineSettin"s = !onfi"u#ationMana"e#.OpenMachine!onfi"u#ation69: 11 Jet#ie4e the confi"*#otecte%Data section

*#otecte%!onfi"u#ationSection pcs = 6*#otecte%!onfi"u#ationSection9machineSettin"s.DetSection6 "confi"*#otecte%Data"9: 11 Display the %efault p#o4i%e# !onsole.W#ite8ine6pcs.Default*#o4i%e#9: 11 Display the %esc#iption fo# the Data*#otection!onfi"u#ation*#o4i%e# !onsole.W#ite8ine6pcs.*#o4i%e#sB "Data*#otection!onfi"u#ation*#o4i%e#"C.*a#amete#sB"%esc#iption"C9:

S(aka konfi uraci!'ka 'ekci!a ima 'o3't(enu kla'u)$a o%re%ite ko!u kla'u neka konfi uraci!'ka 'ekci!a kori'ti4 3ozo(ite !onfi"u#ationMana"e#.OpenMachine!onfi"u#ation69.DetSection6 "<sectionName>"9.2leme ntKnfo#mation.Type.ToSt#in")

2.+ Kreiranje prila!o,eni& sekcija

Za 3ri'tu3 3rila o>enim 3o'ta(ka a3likaci!e kori'te+i 'tro e ti3o(e morate kreirati 3rila o>ene kla'e)Po'to!e %(a naBina za to & im3lementaci!om K!onfi"u#ationSection$an%le# interfe!'a i iz(o>en!em kla'e iz !onfi"u#ationSection.

2.- Kreiranje sopstveni& sekcija koriste.i /Con i!urationSection0andler

#ao *to 3o'to!e 3o'e,ne kla'e za razliBite 'ekci!e u Machine)confi fa!lu (i mo8ete kreirati 3o'e,ne kla'e za 'o3't(ene 'ekci!e u (a*em a3likaci!'kom )confi fa!lu i to kreira!u+i kla'u ko!a na'l!e>u!e Kconfi"u#ationSection$an%le# interfe!') #a%a im3lementirate !onfi"u#ationSection$an%le# interfe!' 'amo tre,ate kreirati kon'truktor i im3lementirati !#eate meto%)O% tri 3arametra ko!a zahti!e(a !#eate meto% (i o,iBno tre,ate 3ri'tu3 'amo tre+em 3arametru4o,!ektu ti3a System.Iml.ImlNo%e.Mo8ete 3oz(ati ImlNo%e.Knne#Te3t %a 3ri'tu3ite 3o%acima 3ohran!enim unutar CML elementom) Prim!er4 3o le%a!te 'l!e%e+u !e%no'ta(nu konzolnu a3likaci!u4ko!a Bita %(a 3arametra iz 3rila o>ene 'ekci!e u a3likaci!'kom )confi fa!lu i *al!e ih %o konzole)Primi!etit +ete %a u Main meto%u 3rila o>enim 3o'ta(kama 'e 3ri'tu3a kori'te+i 'tro e ti3o(e4ko!i 'u ele antni!i o% ra'Blan!i(an!a Hen l) 3ar'in I tek'ta iz a3likaci!'kih 3o%e*a(an!a) !ustom!onfi"$an%le# kla'a im3lementira K!onfi"u#ationSection$an%le# interfe!' 4!ustom!onfi"$an%le#.!#eate

meto% Bita 3o'ta(ke iz o% o(ara!u+e 'ekci!e )confi 3rila o>ene MySettin"s kla'e&

fa!la i 3ohran!u!e u no(o! in'tanci

11 !5 namespace !onfi"App ? pu lic class MySettin"s ? pu lic st#in" last7se#: pu lic int lastNum e#: pu lic MySettin"s69 ? @ @ pu lic class !ustom!onfi"$an%le# A K!onfi"u#ationSection$an%le# ? pu lic !ustom!onfi"$an%le#69 ? @ pu lic o Oect !#eate6o Oect pa#ent& o Oect confi"!onte3t& System.Iml.ImlNo%e section9 ? MySettin"s settin"s = new MySettin"s69: settin"s.last7se# = section.SelectSin"leNo%e6"last7se#"9.Knne#Te3t:

settin"s.lastNum e#= int.*a#se6section.SelectSin"leNo%e6 "lastNum e#"9.Knne#Te3t9:


#etu#n settin"s: @ @ class *#o"#am ? static 4oi% Main6st#in"BC a#"s9 ? MySettin"s settin"s = 6MySettin"s9!onfi"u#ationMana"e#.DetSection6 "customSettin"s"9: !onsole.W#ite8ine6settin"s.last7se#9: !onsole.W#ite8ine6settin"s.lastNum e#9: @ @ @

Sl!e%e+i )confi fa!l 3okazu!e kako %a 'truktuirate 3rila o>enu konfi uraci!'ku 'ekci!u)Primi!etit +ete <confi"Sections> 'ekci!u 4ko!a %eklari*e ime 'ekci!e H u name '(o!'t(uI i meto% ko!i im3lementira K!onfi"u#ationSection$an%le# kao i ime 'klo3a Hu type '(o!'t(uI )On%a 3rimi!etit +ete 3rila o>enu konfi uraci!'ku 'ekci!u 'a elementima za '(aku 3rila o>enu (ri!e%no't)Po le%a!te o(a! konfi uraci!'ki fa!l i kako !ustom!onfi"$an%le#.!#eate meto% Bita (ri!e%no'ti)HSekci!a <appSettin"s> !e ukl!uBena !e%ino %a ,i 3rikazala %a )confi fa!l mo8e 'a%r8a(ati i 3rila o>ene 3o'ta(ke i 'tan%ar%ne a3likaci!'ke 3o'ta(keI)

<confi"u#ation> <confi"Sections> <section name="customSettin"s" type="!onfi"App.!ustom!onfi"$an%le#& !onfi"App"1> <1confi"Sections> <appSettin"s> <a%% ,ey="D#eetin"" 4alue="$ello& wo#l%E" 1> <a%% ,ey="Anothe# +ey" 4alue="Anothe# 4alue" 1> <1appSettin"s> <customSettin"s> <last7se#>Tony<1last7se#> <lastNum e#>-(<1lastNum e#> <1customSettin"s> <1confi"u#ation>

2.1 Kreiranje prila!o,eni& sekcija koriste.i Con i!urationSection

Iz(o>en!em 3rila o>ene kla'e iz !onfi"u#atioSection !e omil!eni naBin za im3lementiran!e 3rila o>enih konfi uraci!'kih 'ekci!a u )NET okru8en!e (erzi!e 5)1 i (i*e) !onfi"u#atioSection %o3u*ta %a %eklari*ete '(o!'t(a ko!e :ommon Lan ua e Runtime H:RLI automat'ki 3o3un!a(a na o'no(u 3o%ataka iz )confi fa!la4'3a*a(a!u+i (a' o% 3ro,lema ruBno ra'Blan!i(an!a CML elemenata)Tako>e mo8ete kori'titi atri,ute %a konfi uri*ete una3ri!e% za%ane (ri!e%no'ti4(ali%atore i %ru e zaht!e(e za '(o!'t(a)Sl!e%e+i 3rim!er omo u+a(a 'liBnu funkcionalno't kao K!onfi"u#ationSection$an%le# 3rim!er&
11 !5 namespace !onfi"App ? pu lic class My$an%le#A!onfi"u#ationSection ? pu lic My$an%le#69 ? @ B!onfi"u#ation*#ope#ty6"last7se#"& Default'alue = "7se#"& KsJeFui#e% = t#ue9C BSt#in"'ali%ato#6Kn4ali%!ha#acte#s = PEQ5RSTUV69BC?@1:WG"NGG"& Min8en"th = 0& Ma38en"th = X)9C pu lic st#in" 8ast7se# ? "et ? #etu#n 6st#in"9thisB"last7se#"C: @ set ? thisB"last7se#"C = 4alue: @ @ B!onfi"u#ation*#ope#ty6"lastNum e#"9C pu lic int 8astNum e# ? "et

? #etu#n 6int9thisB"lastNum e#"C: @ set ? thisB"lastNum e#"C = 4alue: @ @ @ class *#o"#am ? static 4oi% Main6st#in"BC a#"s9 ? My$an%le# settin"s = HMy$an%le#9!onfi"u#ationMana"e#.DetSection6 "customSettin"s"9: !onsole.W#ite8ine6settin"s.8ast7se#9: !onsole.W#ite8ine6settin"s.8astNum e#9: @ @ @

O(a! 3rim!er zahti!e(a ,la o mo%ifiko(ani )confi fa!l4 ko!i %eklari*e 3rila o>ene (ri!e%no'ti kao atri,ute &

<;3ml 4e#sion="0.)" enco%in"="utf<=";> <confi"u#ation> <confi"Sections> <section name="customSettin"s" type="!onfi"App(.My$an%le#& !onfi"App("1> <1confi"Sections> <customSettin"s last7se#="Tony" lastNum e#="-(" 1> <1confi"u#ation>

3. Konfigurisanje .NET okruenja

U mno im 'luBa!e(ima ne morate mo%ifiko(ati konfi uraci!u )NET okru8en!a)Tako )NET okru8en!e 3o'!e%u!e 'totine konfi uraci!'kih o3ci!a i mo8%a +ete tre,ati 3romi!eniti neka 3o%e*a(an!a %a ,i omo u+ili %a a3likaci!a funkcioni*e i'3ra(no)O'im to a4 3o'ta(l!an!e za!e%niBke ,i,lioteke na raBunaru zahti!e(a %o%a(an!e 'klo3a u 'klo3o(ni ke*)O(o 3o la(l!e o3i'u!e kako kori'titi konfi uraci!'ke fa!lo(e i Micro'oft )NET FrameAork 5)1 :onfi uration alatku za konfi uri'an!e )NET okru8en!e)

$.1 Kon i!urisanje .NET podeavanja

Pore% konekci!'kih 'trin o(a i a3likaci!'kih 3o%e*a(an!a mo8ete konfi uri'ati 3o%e*a(an!a )NET okru8en!a kori'te+i a3likacioni )confi fa!l)Na 3rim!er4 3o una3ri!e% za%anom4 )NET a3likaci!e ra%e kori'te+i (erzi!u )NET okru8en!a 'a ko!om 'u na3ra(l!ene)$a ,i %o3u'tili a3likaci!i %a ra%i kori'te+i %ru u (erzi!u )NET okru8en!a %o%a!ete 'ekci!u (a*em )confi fa!lu kao *to !e 'l!e%e+a&
<confi"u#ation> <sta#tup> <suppo#te%Juntime 4e#sion="40.0.Y-((" 1> <1sta#tup> <1confi"u#ation>

Mo8ete kori'iti <assem lyLin%in"> element <#untime> 'ekci!e Machine)confi fa!la %a ,i'te o%re%ili %!e iz(r*no okru8en!e mo8e 3rona+i 'klo3)O(o !e za!e%niBka 3otre,a ka%a (i*e a3likaci!a mora 3ri'tu3iti %i!el!enom 'klo3u)Sl!e%e+i 3rim!er 3okazu!e kako 3reu'm!eriti zaht!e( za 'klo3 naz(an myAssem ly Hkao *to !e %efini'ano u <assem lyK%entity> elementuI na izmi*l!enu lokaci!u na htt3&00AAA)conto'o)com0 Fe, 'tranici H*to !e %efini'ano u <co%e ase> elementu I &
<confi"u#ation> <#untime> <assem lyLin%in" 3mlns="u#nAschemas<mic#osoft<comAasm.40"> <%epen%entAssem ly> <assem lyK%entity name="myAssem ly" pu lic+eyTo,en="-(a Y aY.e)aXZa0" cultu#e="neut#al" 1> <co%eLase 4e#sion="(.).).)" h#ef="httpA11www.contoso.com1myAssem ly.%ll"1> <1%epen%entAssem ly> <1assem lyLin%in"> <1#untime> <1confi"u#ation>

$ru i naBin %a konfi uri*ete iz(r*no okru8en!e %a na>e %i!el!ene 'klo3o(e !e kori'te+i $EVP"T? 'i'tem'ku 3rom!enl!i(u)Iz(r*no okru8en!e automat'ki 3retra8u!e '(e fol%ere 'm!e*tene u $EVP"T? 'i'tem'ko! 3rom!enl!i(o! za ,ilo ko!i referencirani 'klo3)$EVP"T? !e 'tan%ar%na 'i'tem'ka 3rom!enl!i(a4,a* kao P"T?4i mo8e ,iti 3o%e*ena ako 3ratite o(e korake u Fin%oA' /& 6) #liknite Start4%e'ni klik na :om3uter4 i 3otom kliknite Pro3ertie' ) 5) #liknite "%(ance% S9'tem Settin ')O% o(orite na U": 3itan!e 3oziti(no) 7) Na "%(ance% kartici u S9'tem Pro3ertie' 3rozoru kliknite En(ironment Varia,le') .) U En(ironmnet Varia,le' kliknite NeA) ;) U NeA U'er Varia,le na(e%ite $EVP"T? za Varia,le Name) U Varia,le Value4 ukuca!te 3unu 3utan!u %o %i!el!eno 'klo3aH u raz(o!nom okru8en!u4o(o !e ti3iBno 3utan!a za iz ra%n!u %efini'ana u Vi'ual Stu%io I)Mo8ete na(e'ti (i*e 3utan!a o%(a!u+i ih taBka zarezima) =) #liknite O# tri 3uta) Tako>e mo8ete %efini'ati 'i'tem'ku 3rom!enl!i(u kori'te+i Set koman%u u koman%no! lini!i ili u B"T 'kri3ti) Nakon %efini'an!a 'i'tem'ke 3rom!enl!i(e4 3o'ta(ite %e4elope#Knstallation (ri!e%no't na T#ue u <#untime> 'ekci!i Machine)confi fa!la4kao *to !e 3okazano o(%!e&
<confi"u#ation> <#untime> <%e4elopmentMo%e %e4elope#Knstallation="t#ue"1> <1#untime> <1confi"u#ation>

Tako>e mo8ete konfi uri'ati ili Machine)confi fa!l ili (a* a3likacioni )confi fa!l %a ,i'te o%re%ili lokaci!u u%al!eno Hen l) remoteI o,!ekta u '(rhu remotin Da)Remotin *al!e zaht!e( o%(o!enom 'klo3uH(!ero(atno 'm!e*tenom na %ru om raBunaru I i %o,i!a rezultate)Sl!e%e+i konfi uracioni fa!l %eklari*e 'er(er'kiDakti(irani u%al!eni ti3 '3reman za kori*+en!e i o%re>u!e %a kli!ento(a a3likaci!a tre,a %a kori'ti $ttp!hannel H ko!i omo u+a(a u%al!ene zaht!e(e 3utem Fe, 'er(era I ali u!e%no %o3u*ta )NET remotin 'i'temu %a 3rona>e o% o(ora!u+i 3ort na kli!ent'ko! 'trani&
<confi"u#ation> <system.#untime.#emotin"> <application> <client> <well,nown type="JemoteType& JemoteAssem ly" u#l="httpA11compute#nameA=)=)1JemoteType.#em"1> <1client> <channels> <channel #ef= "http" po#t=")"1>

<1channels> <1application> <1system.#untime.#emotin"> <1confi"u#ation>

$.2 Koritenje 2icroso t .NET 3rame4ork 2.5 Con i!uration alatke

Mo8ete 3okrenuti Micro'oft )NET FrameAork 5)1 :onfi uration alatku HM'corcf )m'cI iz "%mini'trati(e Tool' fol%era u Start meni!u ili ot(ara!u+i EFin$irEG Micro'oft)NETGFrameAork G(5)1);1/5/GM'corcf )m'c MM: konzolu)O(a alatka !e kori*tena za (erzi!e 5)1 %o 7); )NET okru8en!a) Sl!e%e+e 3o%3o la(l!e o3i'u!e kako iz(r*iti uo,iBa!ene konfi uraci!'ke 3o'lo(e 'a Micro'oft )NET FrameAork 5)1 :onfi uration alatkom)

$.$ 6re,ivanje sklopovno! kea

Sklo3o(ni ke* Hen l) a''em,l9 cacheI!e centralna lokaci!a ko!a 'a%r8i %i!el!ene 'klo3o(e ko!i mo u ,iti referencirani o% 'trane %ru ih 'klo3o(a)Na 3rim!er 4ako imate kla'u ko!a !e kori*tena u (i*e a3likaci!a 4 mo8ete 'm!e'titi kla'u u 'klo3 i %o%ati 'klo3 u 'klo3o(ni ke*)On%a neo(i'no o% to a %!e !e 'klo3 'm!e*ten na raBunaru %ru i 'klo3o(i a mo u to referencirati) $a %o%ate 'klo3 'klo3o(no ke*a 3ratite o(e korake & 6) Na3ra(ite 'klo3 i 3ot3i*ite a !akim imenom)Za (i*e informaci!a 3o'!etite htt3&00m'%n)micro'oft)com0li,rar90-c76ft.6)a'3-) 5) U Micro'oft )NET FrameAork 5)1 :onfi uration alatci 43ro*irite M9 :om3uter 4%e'ni klik na 'klo3o(ni ke*4i on%a kliknite "%%) 7) U "%% "n "''em,l9 3rozoru o%a,erite 'klo3 ko!i 8elite %o%ati i on%a kliknite O3en) Tako>e mo8ete kori'ti Rlo,al "''em,l9 :ache alatku HRacutil)e-eI) Za (i*e informaci!a 3o'!etite htt3&00m'%n)micro'oft)com0li,rar90e-1''65c)a'3-)

$.' Kon i!urisanje Assem#ly 7ersion 8indin! i Code#ases

Mo8ete konfi uri'ti 'klo3 'a assem ly 4e#sion in%in" policy ili 'a co%e ase kao *to 'li!e%i& Assem ly 4e#sion in%in" policy %o3u*ta %a o%re%ite no(u (erzi!u 'klo3a ka%a a3likaci!a zahti!e(a %ru u (erzi!u) !o%e ase %o3u*ta %a o%re%ite lokaci!u 'klo3a za o%re>enu (erzi!u):o%e,a'e' 'u 3o'e,no kori'ne ako raBunar ne 3o'!e%u!e (erzi!u 'klo3a 3otre,nu %a ,i neka a3likaci!a ra%ila)

$a ,i konfi uri'ali ,ilo *ta o% o(o 43ratite 'l!e%e+e korake &

6) U )NET FrameAork 5)1 :onfi uration alatci ra*irite M9 :om3uter4%e'ni klik na :onfi ure% "''em,lie'4i on%a kliknite "%%) 5) U :onfi ure "n "''em,l9 Baro,n!aku ili iza,erite 'klo3 ko!i !e (e+ %o%an u "''em,l9 :ache i kliknite na :hoo'e "''em,l9 ili ruBno une'ite informaci!e 'klo3a)#liknite na Fini'h) 7) U Pro3ertie' 3rozoru ko!i 'e 3o!a(i 4 iza,erite Bin%in Polic9 karticu %a ,i'te o%re%ili 3reu'm!era(an!e (ezi(an!a iz zahti!e(ane (erzi!e u no(u (erzi!u)Iza,erite :o%eBa'e' karticu %a ,i'te o%re%ili :o%eBa'e' za 3o'e,nu (erzi!u 'klo3a i on%a kliknite O#)

$.) Kon i!urisanje 9emotin! servisa

Remotin u'lu e %oz(ol!a(a!u 'klo3o(ima %a zahti!e(a!u meto%e u %ru im 'klo3o(ima iako 'u 'm!e*tene na %ru om raBunaru u mre8i)"ko kori'tite Remotin mo8%a +ete tre,ati konfi uri'ati 3o%e*a(an!a za 3o'e,ni Remotin kanal)$a konfi uri*ete Remotin 3o%e*a(an!a4 3ratite o(e korake&

6) U )NET FrameAork 5)1 :onfi uration alatci ra*irite M9 :om3uter4%e'ni klik na Remotin Ser(ice' 4i on%a kliknite Pro3ertie') 5) Iza,erite kanal H 3ret3o'ta(l!a!u+i %a o% o(ara!u+i kanal 3o'to!iI i on%a %o%a!te ili ure%ite ,ilo ko!i atri,ut i (ri!e%no't)#liknite O#)

$a konfi uri*te a3likaci!u 'li!e%ite o(e korake& 6) U )NET FrameAork 5)1 :onfi uration alatci ra*irite M9 :om3uter4 %e'ni klik na "33lication' 4 i on%a kliknite "%%) 5) Na li'ti4 kliknite na (a* 'klo3 i on%a kliknite na O#)U %ru om 'luBa!u4 mo8ete %a kliknete na Other i on%a iza,erete (a* 'klo3) 7) U M9 :om3uterG"33lication' %e'ni klik na (a* 'klo3 i on%a kliknite Pro3ertie') .) #onfi uri*te Rar,a e :ollection Mo%e Hko!i !e%ino tre,a %a ,u%e izmi!en!en za 'er(er'ke a3likaci!eI i tra8ite 3utan!u %o o%a,ranih 'klo3o(a)#liknite O#) $a ,i'te (i%!eli ko!i (an!'ki 'klo3 !e 3otre,an4 iza,erite "''em,l9 $e3en%encie' 3o%B(or)Mo8ete kori'titi :onfi ure% "''em,lie' ili Remotin Ser(ice' 3o%B(or %a ,i'te konfi uri'ali o%re>ena a3likaciona 3o%e*a(an!a4taBno kao *to !e to o,!a*n!eno rani!e)

4. Instaliranje aplikacija

Uo,iBa!eno Be te kreirati a3likaci!'ki in'taler %o%a!u+i Setu3 3ro!ekt (a*em kom3letnom r!e*en!u)#ako o%4 )NET okru8en!e tako>e (am %o3u*ta %a im3lementirate 3rila o>eni in'taler)

'.2 Kreiranje prila!o,eni& instalera

Vi'ual Stu%io3o'!e%u!e Setu3 3ro!ekte ko!i Bine kreiran!e in'talera za (e+inu a3likaci!a !ako !e%no'ta(nim)

Poneka% mo8%a +e (am tre,ati 3ot3uni!a kontrola na% in'talaci!om a3likaci!e)U o(om 'luBa!u4 mo8ete kreirati 'o3't(enu in'tancu Knstalle# kla'e H %io System.!onfi"u#ation.Knstall imen'ko 3ro'toraI)Knstalle# o,ez,!e>u!e Betiri meto%a ko!a mo8ete 3reure%iti za razliBite faze in'talaci!e i %ein'talaci!e&

Knstall meto% u 3r(om re%u !e o% o(oran za 3ro(!eru 3re%u'lo(a Hukl!uBu!u+i %a li kori'nik ima %o(ol!no 3ri(ile i!eI4 ko3iran!e fa!lo(a i konfi uri'an!e %ru ih re'ur'a zahti!e(anih o% a3likaci!e) !ommit !ommit meto%a !e 3oz(ana nakon 'to !e Knstall meto%a u'3!e*no za(r*ena)U !ommit fazi (i ,i tre,ali za(r*iti in'talaci!u)

Jool ac, o(a faza 'e 3ozi(a !e%ino ako in'talaci!a !e neu'3!e*na ili otkazana) JollLac, faza ,i tre,ala o%'traniti ,ilo ko!i fa!l i 3o%e*a(an!a konfi uri'ana tokom Knstall faze tako %a iako Knstall !e kom3letno u'3!e*na ili nema tra o(a 3ro3alo 3oku*a!a) 7ninstall 7ninstall faza 'e 3o!a(l!u!e !e%ino 3o'li!e u'3!e*ne in'talaci!e4 ka%a kori'nik zahti!e(a %a a3likaci!a ,u%e uklon!ena)O(a faza ,i tre,ala ukloniti '(e tra o(e a3likaci!e)

U '(akom o% o(a Betiri meto%a4 3ozo(ete o'no(ni meto% %a ,i 'te o,a(ili 'tan%ar%ne in'talacione zaht!e(e)On%a4 3ri!e i 3o'li!e 3ozi(an!a o'no(no meto%a4 mo8ete %a iz(o%ite %o%atna 3o%e*a(an!a 3ro ram'kih zaht!e(a)Sl!e%e+i 3rim!er 3okazu!e na!o'no(ni!u im3lementaci!u 3rila o>ene in'talaci!e4 ko!a ,i u(i!ek tre,ala ukl!uBi(ati JunKnstalle# atri,ut&

11 !5 BJunKnstalle#6t#ue9C pu lic class !ustomKnstalle# A Knstalle# ? pu lic !ustomKnstalle#69 A ase69 ? @ pu lic o4e##i%e 4oi% !ommit6KDictiona#y mySa4e%State9 ? ase.!ommit6mySa4e%State9: @ pu lic o4e##i%e 4oi% Knstall6KDictiona#y stateSa4e#9 ? ase.Knstall6stateSa4e#9: @ pu lic o4e##i%e 4oi% 7ninstall6KDictiona#y sa4e%State9 ? ase.7ninstall6sa4e%State9: @ pu lic o4e##i%e 4oi% Joll ac,6KDictiona#y sa4e%State9 ? ase.Joll ac,6sa4e%State9: @ @

$a ,i'te in'talirali 3ro ram'ki4 3ozo(ite (a* 3rila o>eni Knstalle#.Knstall meto%)"ko !e in'talaci!a u'3!e*na 3ozo(ite Knstalle#.!ommit."ko !e in'talaci!a ne u'3i!e 3ozo(ite Knstalle#.JollLac,)"ko kori'nik tre,a %a in'talira a3likaci!u4 3ozo(ite Knstale#.7ninstall )S(i meto%i zahti!e(a!u 3o!e%inaBnu in'tancu o% KDictiona#y4 ko!a 'e kori'ti za 3ra+en!e 3rom!ena na3ra(l!enih tokom in'talaci!e)Sl!e%e+i 3rim!er 3okazu!e kako 3oz(ati Knstall i !ommit meto%e kori'te+i %io kla'e 3rikazane u 3retho%nom 3rim!eru)U 't(arnom '(i!etu inaBe (am !e 3otre,an ko% ko!i ,i 3ot(r%io %a !e Knstall faza u'3!e*no za(r*ena 3ri!e 3ozi(an!a !ommit faze &

11 !5 !ustomKnstalle# ci = new !ustomKnstalle#69: KDictiona#y actions = new $ashta le69: ci.Knstall6actions9: ci.!ommit6actions9:

Tako>e mo8ete 3oz(ati in'taler iz koman%ne lini!e ili 'kri3te kori'te+i In'tallUtil)e-e alatku %o'tu3nu u EFin%irEGMicro'oft)NETGFrameAorkG(5)1);1/5/G fol%eru)Na 3rim!er4uzima!u+i u o,zir %a 'te (e+ %o%ali Knstalle# kla'u 'a JunKnstalle# atri,utom 'klo3u naz(anom MyAssem ly4mo li ,i'te in'talirati 3okretan!em 'l!e%e+e koman%e& In'tallUtil m9"''em,l9)e-e) SliBno tome mo li ,i'te %ein'talirati 3okretan!em o(e koman%e& In'tallUtil 0u m9"''em,l9)e-e)

In'tallUtil)e-e kori'iti reflek'i!u %a i'tra8i o%re>eni 'klo3 i %a na>e '(e Knstalle# ti3o(e ko!i ima!u JunKnstalle# atri,ut 3o%e*en na T#ue)"latka on%a iz(r*a(a Knstall ili 7ninstall meto% u '(ako! tak(o! in'tanci Knstalle# ti3a) In'tallUtil)e-e iz(o%i in'talaci!u tran'akcionalnoN ako !e%an o% 'ku3o(a ne u'3i!e %a 'e in'talira4 In'tallUtil)e-e (ra+a naza% in'talaci!u o% '(ih %ru ih 'ku3o(a)7ninstall ni!e tran'akcionalan)

5. Zakljuak
Mo8ete 'aBu(ati konfi uraciona 3o%e*a(an!a u CML fa!l4ko!a 3o'li!e mo u ,iti na%o ra>ena o% 'i'tem'ko a%mini'tratora)Po za%anom4a3likaci!a kori'ti konfi uraci!'ki fa!l naz(an <Application_Name>.confi )$o%atno4 '(e a3likaci!e mo u Bitati 3o%e*a(an!a 3ohran!ena u centralnom Machine)confi fa!lu)mo8ete kori'titi !onfi"u#ationMana"e# kla'u %a Bitate i 3i*ete o(a 3o%e*a(an!a4ukl!uBu!u+i i ,azu 3o%ataka konekcionih 'trin o(a)$a ,i'te kreirali 3rila o>enu konfi uraci!'ku 'ekci!u !ako ti3a4iz(e%ete kla'u iz !onfi"u#ationSection kla'e& Vi konfi uri*ete )NET okru8en!e na %(a razliBita naBina& Na%o ra>i(an!em Machine)confi fa!la ili kori'te+i )NET FrameAork 5)1 :onfi uration alatku)Na!uBe'tali!i konfi uracioni za%atak !e %o%a(an!e %i!el!eno 'ku3a u 'klo3o(ni ke* i konfi uri'an!e a''em,l9 (er'ion ,in%in i co%e,a'e') "ko (a*a a3likaci!a ima 'lo8ene in'talcione zaht!e(e4 (i mo8ete kreirati 3rila o>eni in'taler iz(o>en!em iz Knstalle# kla'e)Knstalle# kla'e ima Betiri meto%a ko!a mo8ete zao,i+i& Knstall&!ommit&JollLac,&i 7ninstall kori'tite In'tallUtil)e-e alatku %a ,i 3oz(ali 3rila o>eni in'taler)

.!iteratura
S6T Micro'oft Pre''& Micro'oft )NET FrameAorkU "33lication $e(elo3ment Foun%ation4 Re%mon%4 MS Pre'' S5T htt3&00en)Aiki3e%ia)or 0Aiki0)NETLFrameAork S7T htt3&00en)Aiki3e%ia)or 0Aiki0Fin%oA'LMana ementLIn'trumentation

Anda mungkin juga menyukai