Toon posts:

[.NET] WindowsService libraries

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb enkele libraries welke ik wil gebruiken in een windows service. Deze kunnen normaliter vanuit de applicatie geconfigureerd worden, en de class library heeft een configurationhandler welke de configuratie voor de betreffende library uitleest.

Dit gaat echter mis als ik van mijn applicatie een windows service maakt. Hij kan de handlers niet vinden. Is het zo dat assemblies in de GAC bekend moeten zijn als een windows service hier gebruik van wil maken?

  • whoami
  • Registratie: December 2000
  • Laatst online: 12:01
Ik mis heel wat info:
- wat gaat er mis ?
- welke fout krijg je , krijg je een fout ? wat lukt er precies niet ?
- hoe ziet die 'configuration-handler' eruit, hoe wil je jouw dinges precies tewerkstelligen ?

https://fgheysels.github.io/


Verwijderd

Topicstarter
sorry voor mijn "slechte" uitleg. Ik zal even wat meer vertellen.

Ik gebruik binnen mijn applicatieconfiguratie zg. configuratiesecties. Aan een sectie (feitelijk een xmltak) kan ik een handler hangen, welke de betreffende sectie uitleest en zo kan ik deze configuratie in mijn applicatie gebruiken. Deze handler wordt d.m.v. reflectie geinstantieerd. Dit gaat normaal goed, alleen mijn windows service kan de handler niet vinden (waarschijnlijk wordt de hele namespace niet geladen). Ik trek hieruit de conclusie dat de assembly waar de handler in zit (een extra bibliotheek), niet geladen wordt, waarbij ik mij afvraag of een windows service uberhaupt wel assemblies laadt welke in zocj dezelfde directory bevinden.

Foutmelding (uit eventlog):
Service cannot be started. System.Configuration.ConfigurationException: Could not create MyLib.Configuration.MyLibSectionHandler, MyLib
at System.Configuration.ConfigurationRecord.GetFactory(String configKey) ....

  • Serpie
  • Registratie: Maart 2005
  • Laatst online: 05-02 21:24
Gebruik je visual studio? Dan kun je In plaats van de eventlog te bekijken, de debugger aan het process attachen, en zo beter bekijken waar het precies fout gaat.

Bij 'Debug, Processes' en dan attach kun je dat doen.

Verwijderd

Topicstarter
Ik heb het probleem opgelost. Het bleek dat ik een verkeerde library als reference gebruikte :-( beetje stom maar goed. Het blijkt dus dat een service net als een reguliere applicatie gewoon alle assemblies laadt binnen de huidige directory.