I just wanted to write Miguel et. al and thank everyone for the amazing product that is Mono!

My company, Obtuse Software, recently rolled out their online store which is 100% powered by Mono (you can see the Mono badge proudly displayed at the bottom of every page). Some key points about the site and its Mono utilization:

o PostgreSQL database backend connected by Npgsql.
o Webforms authentication with various Web.config <location>s.
o Logging via log4net.
o Google Checkout integration using the Google Checkout .Net API.
o The purchased software is built on-the-fly by kicking off an external NAnt build process. NAnt builds both a license assembly and the NSIS Windows installer.

The whole system is all Linux (CentOS) / all awesomeness. This is my first production use of Mono and it has been a great joy. Mono's ASP.NET has been greatly improved since my last failing attempt at a Mono site (somewhere back around Mono 1.1.x). Mono sensing updates to assemblies, .aspx files, and the Web.config is a big help.

Now, of course, the entire experience wasn't w/o problems:

o log4net's config doesn't work when embedded into the Web.config file. I had to use a separate config file and use log4net's XmlConfigurator.Configure(FileInfo pathToConfig) o It's difficult to predict the root directory of the webapp. I'm using Mono's ASP.NET auto-configuration so I *think* what happens is Mono configures the "~" path (as in, Server.MapPath("~")) relative to the first .aspx page that's loaded. But I probably can just fix this by specifically configuring the webapp in the Apache config file. o We're using https for our site and have found that Mono cannot handle loading the same webpage using both http:// and https:// For example, if I load http://www.mysite.com/default.aspx, and then later https://www.mysite.com/default.aspx , it barfs. It looks like it stays configured to whatever was first loaded (if http first, then only http works / if https first, then only https works). Now this is also not a big deal since I just need to stratify the webapp into separate http and https pieces and use Apache to setup different VirtualHosts. o Mono doesn't let you change around the .aspx page on-the-fly like MS ASP.NET does. For example, if you have a button with an OnClick method like: <asp:Button id="fooButton" OnClick="FooClick" runat="server" /> you cannot remove the OnClick attribute w/o recompiling on Mono, MS you can. o Had to use the deprecated ServicePointManager.CertificatePolicy method for SSL communication with Google. Mono does not yet implement the newer method using ServerCertificateValidationCallback.

Other than these few small hindrances, Mono worked great. Thank you, again, for such a quality product!

-Abe

PS - If you're interested in what Obtuse Software does, you can checkout the press release here: http://www.obtusesoft.com/pr.html zigGIS (Obtuse Software's inaugural product) is an Open Source GIS extension to ESRI ArcMap.
_______________________________________________
Mono-list maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-list

Reply via email to