Atozed Forums

Full Version: Stand alone application vs Windows service (Priority support)
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Atozed recommend to install Intraweb applications as a Windows service instead of deploying it as a Stand Alone application.
So, I would like to know if there is a performance difference between the 2 types of deployments?
For production I try to always deploy as as a service since the application auto starts with the machine. I do not want to login and start the application. I have also accidentally closed when running as an app. As far as performance, should be almost identical since its the same code. Performance differences may exist when comparing Service to ISAPI and http.sys . I recently had one app that would install as a service, but the ssl access failed so I had to resort to running it as an application. In my case the machine was a virtual machine, so I had it auto login and then set the the app to start up.

Hope that helps.
There is a small performance difference. The service is faster because it doesn't handle Windows messages, don't need to update the labels with bytes sent, request count, etc. Other than that, the HTTP(S) server is exactly the same so it will perform the same when responding to a request.

However, I'd just point out one particular case: Sometimes users create their own Stand Alone server (with a different main form). Depending on what you do in that main form, it can make the server unstable. For instance, you change or read global data without caring about concurrent access, or more specifically you are changing non-thread safe data in a non-thread safe way which is dangerous. I'd avoid some fancy SA servers with lots of bells and whistles (e.g. a grid with real time session list) unless you know exactly what you are doing.

PS: The grid with a real time session list is a true occurrence and, although it was actually a (thread) safe code, it was connected to a timer that was in charge of refreshing the session list each few seconds. A real performance penalty with very little utility other than "look what I did!" effect.