2004-11-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>

* server/XSPWorkerRequest.cs: max. line length for headers is now 8kB.

	* server/ApplicationServer.cs: don't Exit in Stop(). Call the new 
	AppHost.Unload instead of just AppDomain.Unload, as that does not seem
	to trigger the Application_End event under MS runtime. Fixes bug #68709.

	* server/BaseApplicationHost.cs: new method Unload() that calls
	HttpRuntime.UnloadAppDomain for the current application.

	* server/InitialWorkerRequest.cs: maximum length for the request line
	is now 8kB.

	* server/IApplicationHost.cs: added Unload() to the interface.


svn path=/trunk/xsp/; revision=36491
This commit is contained in:
Gonzalo Paniagua Javier 2004-11-24 17:50:02 +00:00
Родитель acad51ec59
Коммит 763f4db180
5 изменённых файлов: 15 добавлений и 3 удалений

Просмотреть файл

@ -260,7 +260,6 @@ namespace Mono.ASPNET
listen_socket.Close ();
UnloadAll ();
WebTrace.WriteLine ("Server stopped.");
Environment.Exit (0);
}
public void UnloadAll ()
@ -524,8 +523,10 @@ namespace Mono.ASPNET
public void UnloadHost ()
{
if (AppHost != null)
AppDomain.Unload (AppHost.Domain);
if (AppHost != null) {
AppHost.Unload ();
Thread.Sleep (2000);
}
AppHost = null;
}

Просмотреть файл

@ -8,6 +8,7 @@
// (C) Copyright 2004 Novell, Inc
//
using System;
using System.Web;
namespace Mono.ASPNET
{
@ -25,6 +26,11 @@ namespace Mono.ASPNET
AppDomain.CurrentDomain.DomainUnload += new EventHandler (OnUnload);
}
public void Unload ()
{
HttpRuntime.UnloadAppDomain ();
}
public void OnUnload (object o, EventArgs args)
{
appserver.DestroyHost (this);

Просмотреть файл

@ -19,6 +19,7 @@ namespace Mono.ASPNET
AppDomain Domain { get; }
IRequestBroker RequestBroker { get; set; }
ApplicationServer Server { get; set; }
void Unload ();
}
public interface IRequestBroker

Просмотреть файл

@ -145,6 +145,8 @@ namespace Mono.ASPNET
text.Append ((char) c);
if (text.Length > 8192)
throw new InvalidOperationException ("Input line too long.");
}
return text.ToString ();

Просмотреть файл

@ -214,6 +214,8 @@ namespace Mono.ASPNET
text.Append ((char) c);
if (text.Length > 8192)
throw new InvalidOperationException ("Line too long.");
}
return text.ToString ();