[Mono-list] Mono Success Story

Abe Gillespie abe.gillespie at gmail.com
Wed May 28 10:26:34 EDT 2008


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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-list/attachments/20080528/e2784739/attachment.html 


More information about the Mono-list mailing list