Problem is let's say there is a bug that is causing your web app to constantly run out of threads or restart?
Who do you call for support? Let's say you think it is mono causing it? WIth VS.NET on Windows you see the bug is not there.
Isn't that a concern with open source in general? That argument could be used against all open source projects where commercial support is not available. Yet, many open source projects thrives despite of this.
.NET is great but not if you make calls that emulate Windows.
But Mono does not make calls that "emulate Windows". In general the call upon native and/or open source libraries. Certainly you'd be hard pressed to come up with any examples of this behavior in the Mono server stack.
Winforms is an example too which uses dcom/com underneath. It would make more sense to use GTK calls if it is a Linux app.
But you are wrong about that. Winforms is definitively NOT based on COM (much less DCOM).Winforms is a thin wrapper around Win32 APIs. When you create a text box in Winforms, you'll get an actual native Windows textbox.
You may be confused by the fact that Winforms also allow ActiveX controls to be used. When you use that capability you will be using COM (not DCOM), as ActiveX controls are implemented using COM. Interestingly, the part of COM that makes this possible is remarkably similar to the object model of Gnome, almost binary compatible. Basic COM is a binary standard which can be implemented on any platform out there.