Posts: 103
Threads: 32
Joined: Jun 2019
Reputation:
0
Location: Canada
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?
Posts: 54
Threads: 19
Joined: Mar 2018
Reputation:
0
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.
Posts: 2,248
Threads: 191
Joined: Mar 2018
Reputation:
86
Location: Auckland, New Zealand
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.