I’m going to design an Application (C# or VB.NET) which use .NET Framework to run for very long time. It may be restarted every year or even more…
Is there anything (using special design patterns or so) which I must care about in designing “Long time running applications in .NET”?
Is .NET ever a good platform for these kind of applications or I should use other platforms such as J2SE?
(It’s not a web application.)
I actually would say that using .NET is well-suited to long running applications. Managed code, in general, tends to do fairly well in this type of scenario, as a compacting GC helps prevent issues that can arise due to memory fragmentation over time.
That being said, it’s difficult to give much guidance, as there’s very little information in the question itself. The “every year or more” run times is not enough information to say that a particular framework or language choice would benefit – any language can work, as the issues that arise from long running applications tend to be more design issues, and less framework/language/toolset/etc.
I’ve written some .NET-based applications which run as services and stay continually running for very long times, and never had any issues with the application (at least none related to the technology itself).