[Mono-list] Mod_mono new architecture, ASP.NET and stuff

Eran Sandler Eran.Sandler@smarteam.com
Sun, 17 Aug 2003 09:40:47 +0300


This is a multi-part message in MIME format.

------_=_NextPart_001_01C3648A.7DD5DADC
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Hi,

I've been watching mod_mono for quite a while now and it seems it is
going in the right direction.
You should all get a "Job well done" on supporting apache 1.3 as well.

I have a question regarding the new architecture.

If I understand correctly, mod_mono now uses one process that runs all
mono code. This means that it now works as ASP.NET works on IIS5,
meaning if I have multiple .NET applications, they all share the same
ASP.NET process.

IIS6 now has a new architecture which supports something called
application pools. The means that you can group web applications
together to run their own ASP.NET process. So technically you can have
more than one ASP.NET process. In addition to that, there are numerous
parameters that controls the health of the process in terms of memory
usage, deadlocks, idle time and so on. I'm not sure if mod_mono supports
that as well, but I think it should be considered.

In regards to another issue, I have encountered in the place where I
work some real problems in the ASPCompat tag in ASP.NET. It seems that
Microsoft did change the way the ASPCompat works and it didn't really
make the application work as before.

The original ASP behavior was that if you had a COM object stored in
your Session object, a session that started on a certain thread will
always get to that thread, specifically if that object was an STA
(Single Threaded Apratment) COM object. ASP.NET made that each request
got one of the threads in the pool which in turn could causes (and
actually did cause) dead lock and unwanted behaviors.=20

After much discussion with Microsoft, they did realize that they did not
support ASP in ASP.NET as it should (no real backwards compatibility)
and they did fix this for .NET 1.1. So I guess this is something ASP.NET
(not necessarily mod_mono) should support.

The also brings me to another issue, how is mono going to handle COM.

I heard some talking about Wine. I know I previsoully suggested using
DCOM and simply host the original COM objects on Windows and use DCOM to
invoke them on the remote computer, but that would cause a lot of other
problems including bad performance.

I think it is very important to support COM in order for Mono to have
greater acceptance in the market.

Eran.


------_=_NextPart_001_01C3648A.7DD5DADC
Content-Type: text/html;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Dus-ascii">
<META NAME=3D"Generator" CONTENT=3D"MS Exchange Server version =
6.0.5762.3">
<TITLE>Mod_mono new architecture, ASP.NET and stuff</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">Hi,</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D2 FACE=3D"Arial">I've =
been watching mod_mono for quite a while now and it seems it is going in =
the right direction.</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D2 FACE=3D"Arial">You =
should all get a &quot;Job well done&quot; on supporting apache 1.3 as =
well.</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D2 FACE=3D"Arial">I have a =
question regarding the new architecture.</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D2 FACE=3D"Arial">If I =
understand correctly, mod_mono now uses one process that runs all mono =
code. This means that it now works as ASP.NET works on IIS5, meaning if =
I have multiple .NET applications, they all share the same ASP.NET =
process.</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D2 FACE=3D"Arial">IIS6 now =
has a new architecture which supports something called application =
pools. The means that you can group web applications together to run =
their own ASP.NET process. So technically you can have more than one =
ASP.NET process. In addition to that, there are numerous parameters that =
controls the health of the process in terms of memory usage, deadlocks, =
idle time and so on. I'm not sure if mod_mono supports that as well, but =
I think it should be considered.</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D2 FACE=3D"Arial">In =
regards to another issue, I have encountered in the place where I work =
some real problems in the ASPCompat tag in ASP.NET. It seems that =
Microsoft did change the way the ASPCompat works and it didn't really =
make the application work as before.</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D2 FACE=3D"Arial">The =
original ASP behavior was that if you had a COM object stored in your =
Session object, a session that started on a certain thread will always =
get to that thread, specifically if that object was an STA (Single =
Threaded Apratment) COM object. ASP.NET made that each request got one =
of the threads in the pool which in turn could causes (and actually did =
cause) dead lock and unwanted behaviors. </FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D2 FACE=3D"Arial">After =
much discussion with Microsoft, they did realize that they did not =
support ASP in ASP.NET as it should (no real backwards compatibility) =
and they did fix this for .NET 1.1. So I guess this is something ASP.NET =
(not necessarily mod_mono) should support.</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D2 FACE=3D"Arial">The also =
brings me to another issue, how is mono going to handle =
COM.</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D2 FACE=3D"Arial">I heard =
some talking about Wine. I know I previsoully suggested using DCOM and =
simply host the original COM objects on Windows and use DCOM to invoke =
them on the remote computer, but that would cause a lot of other =
problems including bad performance.</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D2 FACE=3D"Arial">I think =
it is very important to support COM in order for Mono to have greater =
acceptance in the market.</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">Eran.</FONT></SPAN></P>

</BODY>
</HTML>
------_=_NextPart_001_01C3648A.7DD5DADC--