I've written a windows service am unsure how we're meant to handle
fatal errors once the service is already up and running. It also
doesn't seem to be mentioned in any of the books or examples I've
seen.
Most example services, if they encounter an error, simply stop
processing but stay active.
The route I've taken to avoid that is, on catching a fatal exception,
I create a ServiceControll er instance and issue a Stop command. This
then shuts down the service properly.
On the other hand, I'd also like to be able to restart the service.
It stands to reason I can't issue a stop followed by testing the
status and then starting it again ... because of course my own process
can't finish stopping while I'm in it waiting :)
So, what are we meant to do?
(Unfortunately, in this circumstance, we're interfacing with an
unmanaged DLL that, when it has an error, doesn't come back properly
until you restart the process that has called it). 1 1731
<se*******@gmai l.comwrote in message
news:68******** *************** ***********@j33 g2000pri.google groups.com...
I've written a windows service am unsure how we're meant to handle
fatal errors once the service is already up and running. It also
doesn't seem to be mentioned in any of the books or examples I've
seen.
Most example services, if they encounter an error, simply stop
processing but stay active.
The route I've taken to avoid that is, on catching a fatal exception,
I create a ServiceControll er instance and issue a Stop command. This
then shuts down the service properly.
On the other hand, I'd also like to be able to restart the service.
It stands to reason I can't issue a stop followed by testing the
status and then starting it again ... because of course my own process
can't finish stopping while I'm in it waiting :)
So, what are we meant to do?
I recommend throwing (or rethrowing) a fatal exception. Then, the service
control manager will handle the exception and possibly restart the service
as specified in the "Recovery" tab of the service definition. Why reinvent
the wheel? This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics |
by: Ross Bennett |
last post by:
Ahoy, Folks!
I've been looking all over for this, but I just can't seem to shake any
documentation out of the MSDN or from Google. I've reviewed every .NET
article on developing Windows Services in the MSDN I've located.
I'm developing a Windows Service application. This service reads its
configuration data from the system registry (HKLM) where it was deposited by
another "manager" application. No problems there.
|
by: Jacobus Terhorst |
last post by:
Using C#:
I tried:
ServiceController me = new ServiceController(this.ServiceName);
me.Stop();
it raises an exception: Cannot find Service
I also tried:
|
by: Adam Clauss |
last post by:
I have a C# Windows Service running as the NetworkService account because it
needs to access a network share.
As part of the service's initialization, I want the service to terminate, if
an unrecoverable error occurs. When that case occurs, I create a
ServiceController object and call the Stop() method.
However - I get an exception thrown saying access denied. If I switch to
using the LocalService account it works fine, but I lose...
|
by: Jerry Camel |
last post by:
I want my service to terminate automatically if the specified parameters are
invalid. I tried to use a servicecontroller component to attach to the
service, but I think that it's failing because it's being called in the
OnStart event (where I validate the parameters) and the service isn't fully
running yet. How can I stop my service from within the service itself?
Thanks.
Jerry
|
by: Leonardo Curros |
last post by:
Hello,
I would like to know what's the best way to restart one service. I
would like to do it from the service itself. Is this possible?
I try it with
ServiceController.stop()
ServiceController.WaitForStatus(ServiceControllerStatus.Stopped)
ServiceController.start()
but doesn´t works. It seems waitforstatus instruction is the last
| |
by: Simon Verona |
last post by:
My software relies on a third party data provider to a propretary database.
In turn the third party database relies on a Windows Service that runs on
the server to supply the data... The problem is that from time to time this
service dies without warning.
Is there any way that I can write another small service or similar (using
vb.net) that checks at regular intervals that the service is running and
restart it if it isn't???
|
by: sergio.calleja |
last post by:
Hi Everybody,
i need to restart a windows service made with c# when an fixed event is
raised.
So to test it, I've added a servicecontroller to my service, and in the
creation method, i've created a new thread to try to stop it.
This is my code:
public Service1()
{
// This call is required by the Windows.Forms Component Designer.
|
by: carson |
last post by:
I have written two windows services:
- service A does some crunching of local data files and uploads them to
a central processing computer via http.
- service B monitors a manifest file on a webserver to see if service A
needs to be updated.
What service B does if it sees their is an update for service A is to
download a new copy of the service A executable, stop service A,
replace the executable with the new copy, and start service B...
|
by: =?Utf-8?B?TWFyaw==?= |
last post by:
Hi...
Following the samples online, we implemented a windows service in .Net.
Like most services, there's a worker thread actually doing stuff in the
background. The problem we've run into is how to get the service to exit
when the worker thread has a fatal error *and* get the SCM to invoke the
auto-restart configuration?
The worker thread can error out while the parent thread in the server
process chugs along. We can set the exit...
|
by: Oralloy |
last post by:
Hello folks,
I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>".
The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed.
This is as boiled down as I can make it.
Here is my compilation command:
g++-12 -std=c++20 -Wnarrowing bit_field.cpp
Here is the code in...
|
by: tracyyun |
last post by:
Dear forum friends,
With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
| |
by: agi2029 |
last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own....
Now, this would greatly impact the work of software developers. The idea...
|
by: isladogs |
last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM).
In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules.
He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms.
Adolph will...
|
by: TSSRALBI |
last post by:
Hello
I'm a network technician in training and I need your help.
I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs.
The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols.
I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
|
by: adsilva |
last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
|
by: 6302768590 |
last post by:
Hai team
i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
|
by: muto222 |
last post by:
How can i add a mobile payment intergratation into php mysql website.
| |
by: bsmnconsultancy |
last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...
| |