[Mono-list] successful port of MS .net application to linux/apache/mono1.1.4

Gonzalo Paniagua Javier reply.to.the.list.iam.suscribed@notexists.ximian.com
Thu, 07 Apr 2005 21:25:09 -0400


On Tue, 2005-04-05 at 19:33 +1000, simon wrote:
> Ive recently successfully ported an ASP.Net application from MS .net to 
> mono-1.1.4.
> 
> This application was approximately 250-300 days development, is 
> currently deployed and in production on windows server 2003, has 2 
> external interfaces and used an MS SQL server database. 
> 
> As an experiment I ported it to mono and mysql in approximately 20 
> hours, and had it running under apache on an ubuntu linux box.

Nice.

> 
> The application used a number of 3rd party libraries including 
> nHibernate and wilson master pages.
> 
> Some of the major problems encountered during the port were;
> - trouble with mulitple cookies and the FormsAuthentication cookie 
> disappearing. - not sure what the problem was, made work around.

Ilya fixed this issue.

> - ALOT of trouble with differences in what I would call the current 
> executing path of pages and the inclusion of user controls.  It appears 
> that IIS executes pages in a different path to apache/mod_mono and this 
> causes the page directives at the top of the aspx file to be incorrect.  
> Solution (really work around) - change ALL Server.Transfer calls to 
> Response.Redirect (whether this is a better approach anyway is debatable)

Some fixes went into that code after 1.1.4. Probably your issues are
solved now. In any case, if you have small test cases that fail, I would
be more than happy to see those in bugzilla and fix them.

> - problems with libraries compiled under MS .net framework not being 
> compatable with those compiled under mono.  I am not sure what the 
> expected compability between things compiled under mono and MS are but 
> ive found that if you can get the source for something, try and compile 
> it under mono, it will cause you less trouble in the end.

May be they reference an assembly that does not exist in mono or they
are compiled with the 'Incremental compilation' flag.

-Gonzalo