Redian新闻
>
How to stop windows service in OnStart()
avatar
f*e
2
I have a windows service which checks license in OnStart(). If the license
is not there, it should stop. I have tried several different ways to do that
, such as throw an exception. It works. The only problem is that it pops up
a dialog saying "service on local computer started then stopped. xxxxx" and
user need to click OK to discharge the message dialogue. Is there a way to
stop the service w/o any front end popup?
avatar
o*e
3
what's in your servicebase.OnStart? suppose you kick of a new thread in that
method or do indefinite wait in that loop. if you do the license check in
that main thread and exit the main thread if the license is invalid, would
the service be stopped? anyway, you can always handle any unhandled
exception in Appdomain.CurrentDomain.UnhandledException (except for some
exception originated from unmanaged stack)
not familiar with service programming, just my guess
avatar
f*e
4
Solved. The problem is that I start the service by calling OnStart() and
then stop it because license check failed. Windows thinks the service
started and then immediately stopped is a application failure and popup the
message box. The solution is to start a work thread, wait for 10 seconds
then call Stop().

that

【在 o****e 的大作中提到】
: what's in your servicebase.OnStart? suppose you kick of a new thread in that
: method or do indefinite wait in that loop. if you do the license check in
: that main thread and exit the main thread if the license is invalid, would
: the service be stopped? anyway, you can always handle any unhandled
: exception in Appdomain.CurrentDomain.UnhandledException (except for some
: exception originated from unmanaged stack)
: not familiar with service programming, just my guess

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。