Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

FileLoadException kod dinamickog ucitava assembly-a

[es] :: .NET :: FileLoadException kod dinamickog ucitava assembly-a

[ Pregleda: 608 | Odgovora: 7 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

bags
Đorđe Torbica
sIT Solutions, Erste Sparkasse
Vienna, Doboj, Zemun

Član broj: 10072
Poruke: 616
*.12.15.tuwien.teleweb.at.

Jabber: bags84@elitesecurity.org
ICQ: 224667189
Sajt: sledecastanica.wordpress...


Profil

icon FileLoadException kod dinamickog ucitava assembly-a15.04.2008. u 11:23

Problem:
Treba da napravil dinamicko ucitavanje assembly-a. I to tako sto program periodicno proverava odredjeni direktorijum,i cim se pojavi novi dll fajl u njemu on ga ucitava,provjeri da li implementira odredjeni interface i pokrece execute metodu.

Moje resenje:
Koristio sam FileSystemWatcher, postavio filtere i sve sto treba.Medjutim posto je isti cesto vracao po nekoliko eventa, ubacio sam dodatni Timer, preko kojeg cekam po sekundu izmedju provjera.
Sve to fino radi osim toga sto kod linije:

Code:

Assembly load = Assembly.LoadFrom(e.FullPath);


dobijam ovaj FileLoadException:
Could not load file or assembly 'file:///d:\plugins\test.dll' or one of its dependencies. The process cannot access the file because it is being used by another process.

Naravno prije ove gornje zaustavim FileSystemWatcher :
Code:

watcher.EnableRaisingEvents = false;                


Da li je imao neko slican problem?


It is easier to change the specification to fit the program than vice versa.
15.04.2008. u 11:23 

deerbeer
nikola džuverović
xemicomputers

Član broj: 174418
Poruke: 318
*.adsl-3.sezampro.yu.

Sajt: www.dynamicinfoscreen.com


Profil

icon Re: FileLoadException kod dinamickog ucitava assembly-a15.04.2008. u 15:50
Probaj da izbegnes FileSystemWatcher jer mozda (nisam siguran 100%) on drzi jos neke handle-ove od fajlova ..
Alternativa je da koristis timer i u njegovom tick eventu da izlistas sve fajlove (System.IO.Directory) koje se nalaze u plugin direktorijumu i onda da ucitas modul ..

jelenko pilenkovac strikes again ...
15.04.2008. u 15:50 

vujkev
Darko Vujičić
Telekom Srbija AD
Beograd

Član broj: 8072
Poruke: 795
*.telekom.yu.

Sajt: www.suvu.co.yu


Profil

icon Re: FileLoadException kod dinamickog ucitava assembly-a15.04.2008. u 15:58
FileSystemWatcher reaguje na upisivanje prvog bajta na disk što će reći da u trenutku kad pokušavaš da učitaš assembly on verovatno nije u potpunosti snimljen u folder
Naučio sam...
Da je važnije biti ljubazan nego biti u pravu
15.04.2008. u 15:58 

bags
Đorđe Torbica
sIT Solutions, Erste Sparkasse
Vienna, Doboj, Zemun

Član broj: 10072
Poruke: 616
*.12.15.tuwien.teleweb.at.

Jabber: bags84@elitesecurity.org
ICQ: 224667189
Sajt: sledecastanica.wordpress...


Profil

icon Re: FileLoadException kod dinamickog ucitava assembly-a15.04.2008. u 16:07
Obojica ste naravno u pravu.

A da li bi bilo dovoljno da stavim Thread.Sleep() na recimo dvije sekunde prije ucitavanja assembly-a ?
U principu nije problem sa ostatkom aplikacije, a najbrze mi je resenje. :)
It is easier to change the specification to fit the program than vice versa.
15.04.2008. u 16:07 

Shadowed
.NET developer

SuperModerator
Član broj: 649
Poruke: 8706
*.static.sbb.rs.

Sajt: www.diskusije.net


Profil

icon Re: FileLoadException kod dinamickog ucitava assembly-a15.04.2008. u 16:29
Osim ako kopiranje tog .dll-a na tu lokaciju ne traje duze od 2sec.
15.04.2008. u 16:29 

bags
Đorđe Torbica
sIT Solutions, Erste Sparkasse
Vienna, Doboj, Zemun

Član broj: 10072
Poruke: 616
*.12.15.tuwien.teleweb.at.

Jabber: bags84@elitesecurity.org
ICQ: 224667189
Sajt: sledecastanica.wordpress...


Profil

icon Re: FileLoadException kod dinamickog ucitava assembly-a15.04.2008. u 18:40
Posto su uglavnom fajlovi koji su velicine par stotina kb i kopiraju se lokalno sa hdd ,mislim da nece biti problem.

Hvala na odgovorima.
It is easier to change the specification to fit the program than vice versa.
15.04.2008. u 18:40 

deerbeer
nikola džuverović
xemicomputers

Član broj: 174418
Poruke: 318
*.adsl-a-1.sezampro.yu.

Sajt: www.dynamicinfoscreen.com


Profil

icon Re: FileLoadException kod dinamickog ucitava assembly-a15.04.2008. u 18:43
Citat:
@bags
U principu nije problem sa ostatkom aplikacije, a najbrze mi je resenje. :)

Nekad "najbrze resenje" ne donosi ni blizu 100% pouzdanosti koda ... :)
jelenko pilenkovac strikes again ...
15.04.2008. u 18:43 

mmix
Miljan Mitrovic
Software Architect
Pancevo, Srbija

Moderator
Član broj: 17944
Poruke: 1621
195.252.78.*



Profil

icon Re: FileLoadException kod dinamickog ucitava assembly-a16.04.2008. u 08:26
Ako ti je vec ok da blokiras thread dok plugin ne bude dostupan, onda ti je mozda bolje resenje da jednostavno udjes u petlju i prvo ti probas da otvoris fajl u exclusive locku, i da pokusavas dok ga ne dobijes sa malim pauzicama izmedju (recimo 100ms). Posle toga zatvori fajl i pozovi Assembly.Load... Tako ces cekati minimalni period vremena.




▪ The word 'politics' is derived from the word 'poly', meaning 'many', and the word 'ticks', meaning 'blood sucking parasites' - Larry Hardiman
▪ If the good guy gets the girl, it's rated PG; if the bad guy gets the girl, it's rated R; and if everybody gets the girl, it's rated X
▪ Illegal aliens have always been a problem in the United States. Ask any Native American
16.04.2008. u 08:26 

[es] :: .NET :: FileLoadException kod dinamickog ucitava assembly-a

[ Pregleda: 608 | Odgovora: 7 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.