����ժҪ�����Ľ��������ͨ���첽��������ʹ�� Microsoft ASP.NET �� Web ������õ�����������̳߳���Դ���������⡣
����������� ASP.NET ҳ����� Web ����ʱ�������ƻ�
���������ڱ��������� Web ����ʱ�������ڸ�������¶��������� Web ����һ����Ҫ������Ǵ��м�㻷������ ASP.NET Web ҳ�棩���� Web ����Ϊ MapPoint .NET Web ������û��ṩ֧�ֵ���Ա�����յ����������⣬���û���ʹ���� Web ����ʱ���� MapPoint .NET �ĵ��ÿ�����Ҫ�൱����ʱ�䡣�Ȿ������ʲô���⣬��ijЩ�������ؿ���ʹ֮��Ϊ�ȱ�����Ҫ���صö�Ĵ����⡣
����HTTP ˫��������
����HTTP �淶������һ�� HTTP �ͻ�������һ������������ͬʱ�������� TCP ���ӡ�����Է�ֹ��������������ij��ҳ�棨���磬���� 120 ��Ƕ�������ͼ��ʱ������������������ʹ���������ع��ء���ʱ��������������� 2 �����ӣ�Ȼ��ͨ���������ܵ���ʼ���� 120 �� HTTP �������Ǵ��� 120 �� TCP ���Ӳ�ͨ��ÿ������������ HTTP �������м�㣬�˷������������ڣ��м����ܻ��� 50 ��ͬʱ�������ӵ��û���������ò�Ϊÿ���û�����һ�� MapPoint .NET Web ������ã������� 48 ���û��ȴ������ܵ��е�һ������������
�����̳߳�����
����ASP.NET �����������ķ�ʽ��ͨ��һ����Ϊ�����̳߳ص�һ���߳�Ϊ���ṩ������������£����������ij�����е��߳̽�Ϊ���ṩ����������������ڣ������̳߳ز��ᴴ���������߳����������������������߳���������һ�����£���Ϊ����������ش����̣߳�������ϵ�ȫ����Դ��ֻ������������Щ�߳��ˡ�ͨ���������ܴ������߳��������ǿ����̹߳����ϵͳ����������һ���ɿص�ˮƽ�����ij��������ʱ�̳߳��е������̶߳���ռ�ã���������ŶӵȺ���æ�߳����������г������̲߳��ܴ��������˷���ʵ���ϱ��л���ij�����̸߳���Ч����Ϊ����Ҫ������֮������߳��л��������ڵ������ǣ�����̵߳�ʹ��Ч�ʲ��ߣ��������ڷdz�æ�� Web�������ϣ�����Ⱥ��������л��úܴ�
��������һ�´� ASP.NET ҳ����� Web ������õ�������������ͬ�����ã����������е��߳̽���������ֱ�� Web ����������Ϊֹ���ڵ����ڼ䣬�߳��������κ������������������������ֻ�ܵȴ������ij����������������Ͼ���Ĭ�ϵĹ����߳��� 20����ֻ�� 20 ��ͬʱ���е���������ȫ���̣߳��Ժ����������ŶӵȺ�
���������ⲻ������ Web ����
������������ Web ������û��������� Web ҳ����е���ʱ��ӵ���Һ�ʱ�ϳ������⡣�������������Ľϳ��ĵ��ö�������ͬ�������⣬���磺SQL Server? �����ļ��Ķ�ȡ��д�롢���� Web ��������ij��������Դ������������������ص��ӳ٣���ʵ���ϣ������ʹ�� Web �����������������ñȽ�Ѹ�٣�������ʲô���⡣�����������⣬�������ͨ���������������� MapPoint .NET Web ������ʹ�õ����Ӿ���һ�����ӳ٣�ͬʱ��Ӧ�ķ��������Ҫ����һЩʱ���������������������ڸ���λ�ö������ӳٵ�������������վ���æ������ܳ������⡣
������������
��
�����������ijЩ�������ͨ���Ի�������ijЩ�������������ơ����ǿ�һ�¿����ڸ��Ƹ������ijЩ�������á�
����maxconnections
�������ӵ� Web ��Դ��Ĭ��˫�������ƿ���ͨ��һ����Ϊ connectionManagement ������Ԫ�������ơ�connectionManagement �������������Ҫ������÷�Ĭ���������Ƶ�վ������ơ����Խ�����������ӵ����͵� Web.config �ļ��У��������ӵ���������������������Ĭ��ֵ���ӵ� 40��
��configuration��
��system.net��
��connectionManagement��
��add address="*" maxconnection="40" /��
��/connectionManagement��
��/system.net��
��system.web��
...
����Ӧ��ע����ǣ��Ա��ؼ��������������������û�����ƣ���ˣ���������ӵ��������������������Ч��
����maxWorkerThreads �� minFreeThreads
��������յ� HTTP 503 ����������ʱ���ء�����������̳߳��е��߳���ȫ��ռ�ã������������Ҳ�ѳ������ֵ��appRequestQueueLimit ��Ĭ������Ϊ 100�������� IIS 5.0 ��װ�����Լ������̳߳صĴ�С�������� IIS 6.0 ��װ���� IIS 5.0 �����ݣ�����Щ���ý���Ч��
����maxWorkerThreads �� maxIoThreads �ֱ���ƹ����߳����Լ��������ύ�� ASP.NET ������߳�������Щ������Ҫ������ Machine.config �н������ã����ǽ�Ӱ��������������е����� Web Ӧ�ó���maxWorkerThreads �� Machine.config �е� processModel Ԫ�ص�һ���֣��������ڲ鿴��ᷢ�֣������õ�Ĭ��ֵΪÿ�������� 20 ���̡߳�
����minFreeThreads ���ÿ����� Machine.config �н������ã�����������Ӧ�ó���� Web.config �ļ��е� httpRuntime Ԫ���½������á������õ������ǣ������е��߳������������õ�����ʱ������ֹʹ���̳߳��е��߳���������� HTTP �����������Ҫij�������̳߳��߳���ɹ���������������á�������е��̶߳�������������� HTTP ��������Щ�����ڵȴ���һ���߳�����䴦����ô�ͻ��������״̬�����磬��������ڴ� ASP.NET Ӧ�ó�����ж�ij�� Web ������첽 Web ������ã������ڵȴ��ص�������ɸ����ͻ���������������Ϊ�ص������ڽ����̳߳��еĿ����߳��Ͻ��С�����鿴һ������ Machine.config������ע� minFreeThreads ���õ�Ĭ��ֵΪ 8����������̳߳ص�����Ϊ 20�����Ĭ��ֵ������������Ҫ�����ǣ�����̳߳صĴ�С���ӵ� 100����Ĭ��ֵ��̫С�ˡ�
����Ӧ��ע����ǣ�������� ASP.NET Ӧ�ó���Ա��ؼ�������� Web ������ã����̳߳����Ƶ����⽫�����������磬��Ϊ��ר�������IJ���Ӧ�ó�������� ASPX ҳ��ͬ��һ̨������ϵ� Web ������������������ĵ��ã�һ���̱߳�ͬʱ���� ASPX ҳ��� ASMX Web ������������Ч��ʹ Web�����������ͬʱ������������һ������ͬʱ�������� Web ��������ʹ���첽 Web ������ã�������£���������ʹͬʱ���е�������������������Ϊ�����ڻص����ؼ����ʱ���ִ������⣬��Ӧ����������Ӧ�ó������ϵ�ṹ��ʹ���ֱ�Ӵ� ASPX ������ִ�� Web �����еĴ��롣
����Windows XP����
�������DZ���Ҫע�⣬�������һ�� Windows? XP ������Ͻ���ij����ԣ��������ٵ���һ�������� XP Web���������������ͬʱ����������Ϊ���ơ���ΪWindows XP����������ƽ̨����ͬʱ������������Ϊ 10������ڿ��������еIJ���ͨ��û���⣬���������ͼ�����κθ��ӵIJ��ԣ�����������ͻ�Ƚ����ء����ؼ���������Ӳ��ܴ�����Ӱ�졣
���������Ľ���������첽������
������������������һ�ָ�������ķ���������ʵ����� Web Ӧ�ó���ʱͨ��ij�ַ�ʽ���������������һ���¡��ȴ������ĵ�����ɵ��߳���ԶҲ�����и��õĵ�����أ���ˣ�����İ취����ȫ�����������⡣�첽�����������һ���ʵ��Ľ����������������������棺�����첽 Web ������ã��Լ��� ASP.NET Web Ӧ�ó������첽��������
�����첽 Web �������
��������ǰ��ר���У���д���й��첽���� Web ��������⡣�ܹ�ʹ�̲߳��õȴ� Web �����������Ǵ����ͷ��߳��Ա㴦�����������첽ҳ�洦��ģ�͵Ĺؼ����֡����⣬�첽���� Web ����Ҳ�Ƚϼ�
�����뿼������ ASPX ҳ��� Visual Basic.NET ���룺
' ����ͬ�� Web �����������ɵ����ܼ����
' ҳ�棡
Public Class SyncPage
Inherits System.Web.UI.Page
Protected WithEvents Label1 As System.Web.UI.WebControls.Label
Protected WithEvents Label2 As System.Web.UI.WebControls.Label
Private Sub Page_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
'���� Web ����
Dim proxy As New localhost.Service1
Label1.Text = proxy.Method1(500)
Label2.Text = proxy.Method1(200)
End Sub
End Class
�����˴���dz�����ҳ�����ʱ������һ�� Web �������ʵ����Ȼ���ø�ʵ�����ε���һ����Ϊ Method1 �� Web ������Method1 ֻ���ذ������ݸ��÷���������������ַ�����Ϊ�����ϵͳ���һ���̶ȵ��ӳ٣�Method1 �ڷ����ַ���֮ǰ�������� 3 ���ӡ��ӵ��÷��ص� Method1 ���ַ��������� ASPX ҳ���ϵ�������ǩ���ı��С���ҳ���ṩ�����ܼ��������һ�麣��һ���ӽ����̳߳�����ȡ�̡߳������� Method1 Web �������� 3 ���ӵ��ӳ٣��Ը�ҳ���һ����������Ҫ 6 ���Ӳ�����ɡ�
�������´���Ƭ����ʾ��һ������ Web ҳ��Ĵ��룬ֻ�������ڽ��е����첽 Web ������á�
Public Class AsyncPage
Inherits System.Web.UI.Page
Protected WithEvents Label1 As System.Web.UI.WebControls.Label
Protected WithEvents Label2 As System.Web.UI.WebControls.Label
Private Sub Page_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
'���� Web ����
Dim proxy As New localhost.Service1
Dim res As IAsyncResult
= proxy.BeginMethod1(500, Nothing, Nothing)
Dim res2 As IAsyncResult
= proxy.BeginMethod1(200, Nothing, Nothing)
Label1.Text = proxy.EndMethod1(res)
Label2.Text = proxy.EndMethod1(res2)
End Sub
End Class
����ͬ������ҳ�潫����һ�� Web �������Ȼ�����ε��� Method1 Web ��������ͬ���ǣ����ڵ��õ��� BeginMethod1��������ֱ�ӵ��� Method1��BeginMethod1 ���ý��������أ��������ǾͿ��Կ�ʼ�ڶ��ε��ø÷��������һ��ʾ���еȴ���һ�� Web ���������ɲ�ͬ���������ǿ���ͬʱ��ʼ���������á��� EndMethod1 �ĵ���ֻ�����ض��ĵ������ǰ�����������
����ֵ��ע����ǣ������Ǵ� ASPX ҳ�淵�غ���Ӧ�������ͻ��ˡ���ˣ��ڻ�����������֮ǰ���������� Page_Load �������ء����������Ҫ���� Web �������ֱ������ɵ�ԭ�õķ������������ÿ���ͬʱִ�У������ǰ 6 ���ӵ��ӳ����ڽ����� 3 �������ҡ�����Ȼ��һЩ������Ȼ�������������̡߳�����������Ҫ��������� Web ������õ�ͬʱ���ܹ��ͷ��߳��Ա��䴦�� HTTP �����������ڣ�ASPX ҳ��Ĵ���ģ��û��һ���첽ִ��ģʽ��������ASP.NET ȷʵ�ṩ��һ�����������ķ�����
�����첽 PreRequestHandler ִ��
����ASP.NET ֧�ֳ�Ϊ HttpHandlers ���ࡣHttpHandlers ��ʵ�� IHttpHandler �ӿڵ��࣬����Ϊ�����ض���չ�����ļ��� HTTP �����ṩ�������磬����鿴һ�� Machine.config �ļ�������ע�������� HttpHandlers �����ڴ�����չ������ .asmx��.aspx��.ashx ���� .config�����ļ��������ڴ����ض���չ�����ļ�������ASP.NET ���鿴��������Ϣ��Ȼ���������������� HttpHandler Ϊ�������ṩ����
����ASP.NET ��֧��д�¼���������ڴ��� Http ��������еĸ���ʱ���Է��������¼�������һ���¼��� PreRequestHandlerExecute �¼�����ǡ�÷�����ij���ض������ HttpHandler ������֮ǰ������һ���� PreRequestHandlerExecute ֪ͨ���첽֧�֣�����ע����Щ֪ͨ��ʹ�� HttpApplication ��� AddOnPreRequestHandlerExecuteAsync ������HttpApplication ��Դ�Ի��� Global.asax �ļ��������¼�����������ǽ�ʹ���첽 PreRequestHandler ѡ��Ϊ Web ��������ṩ�첽ִ��ģʽ��
�����ڵ��� AddOnPreRequestHandlerExecuteAsync ֮ǰҪ���ĵ�һ�����Ǵ���һ�� BeginEventHandler ��һ�� EndEventHandler ����������������� BeginEventHandler ���������ǽ��ڴ�ʱ��ʼ�첽 Web ������á�BeginEventHandler ���뷵��һ�� IAsyncResult �ӿڡ���������ڽ���һ�� Web ������ã������ֻ������ Web ���� begin �������ص� IAsyncResult �ӿڣ������ǵ�ʾ���У����� BeginMethod1 ��������һ�� IAsyncResult �ӿڣ������Ҵ�����ʾ���У�����ִ����ǰ��� Web ҳ��ʾ�������н�ʾ��ͬ�����첽 Web ������ã���ͬ�IJ����������ζ���ұ��봴���Լ��� IAsyncResult �ӿڡ��ҵ� BeginEventHandler ����������ʾ��
Public Function BeginPreRequestHandlerExecute(
ByVal sender As Object, _
ByVal e As EventArgs, _
ByVal cb As AsyncCallback, _
ByVal extraData As Object) As IAsyncResult
If Request.Url.AbsolutePath _
= "/WebApp/PreRequestHandlerPage.aspx" Then
Dim proxy As MyProxy = New MyProxy
proxy.Res = New MyAsyncResult
proxy.Res.result1
= proxy.BeginMethod1( _
500, _
New AsyncCallback(AddressOf MyCallback), _
proxy)
proxy.Res.result2
= proxy.BeginMethod1( _
300, _
New AsyncCallback(AddressOf MyCallback), _
proxy)
proxy.Res.Callback = cb
proxy.Res.State = extraData
proxy.Res.Proxy = proxy
Return proxy.Res
End If
Return New MyAsyncResult
End Function
�������ڴ˴��뻹�������Ȥ������ֵ��ע�⡣���ȣ���Դ�����Ŀ¼�����ÿ�� HTTP �������ô˴��롣��ˣ������ĵ�һ���¾��Ǽ�������ʵ��·�����鿴���Ƿ�����ҪΪ���ṩ�����ҳ���·����
�����ҵĺ���ʹ����һЩ��Ȥ��������������á�cb ������ ASP.NET ���ݸ��ҵĻص�������ASP.NET ϣ�����ҵ��첽������ɺ��Ե��������ṩ���ҵĻص����������Ǿ���ͨ�����ַ�ʽ֪����ʱ�����ҵ� EndEventHandler��ͬ���������ֻ����һ�� Web ������ã���ֻ�轫�ص����ݸ� BeginMethod1 ���ã�Ȼ�� Web ������ý�������ú��������ڱ����У��ҽ��������������ĵ��á���ˣ��Ҵ�����һ�����ݸ����� BeginMethod1 ���õ��м�ص������������ڻص������м�����������Ƿ�����ɡ����û��ɣ��ҽ����أ��������ɣ��ҽ�����ԭʼ�Ļص�����һ����Ȥ�IJ����� extraData ���������� ASP.NET ������ʱΪ ASP.NET ������״̬�����ڵ����� cb ����ָ���Ļص�����ʱ���뷵�ظ�״̬��Ϣ����ˣ��ҽ���洢���������� IAsyncResult ���С��ҵĻص�����������ʾ��
Public Sub MyCallback(ByVal ar As IAsyncResult)
Dim proxy As MyProxy = ar.AsyncState
If proxy.Res.IsCompleted Then
proxy.Res.Callback.Invoke(proxy.Res)
End If
End Sub
������Ӧ���ᵽ��һ���ǣ��Ҵ�����ʵ�� IAsyncResult ���ࣨ��Ϊ MyAsyncResult�����ڲ�ѯ IsCompleted ����ʱ����������� Web ������õ���������
������ EndEventHandler �У���ֻ�Ǵ� Web ������û�ȡ�����Ȼ����洢�ڵ�ǰ�������������С�����������Ҫ���ݸ� HttpHandler ����������ͬ���ڱ����У����� .aspx ����Ĵ����������������������ҵı����롣�ҵ� EndEventHandler ����������ʾ��
Public Sub EndPreRequestHandlerExecute(ByVal ar As IAsyncResult)
If Request.Url.AbsolutePath _
= "/WebApp/PreRequestHandlerPage.aspx" Then
Dim res As MyAsyncResult = ar
Dim proxy As MyProxy = res.Proxy
Dim retString As String
retString = proxy.EndMethod1(proxy.Res.result1)
Context.Items.Add("WebServiceResult1", retString)
retString = proxy.EndMethod1(proxy.Res.result2)
Context.Items.Add("WebServiceResult2", retString)
End If
End Sub
���������Ѿ������� .aspx ҳ������ݣ����ʵ�ʵ�ҳ�洦��Ҳ�ͷdz����ˡ�
Public Class PreRequestHandlerPage
Inherits System.Web.UI.Page
Protected WithEvents Label1 As System.Web.UI.WebControls.Label
Protected WithEvents Label2 As System.Web.UI.WebControls.Label
Private Sub Page_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
Label1.Text = Context.Items("WebServiceResult1")
Label2.Text = Context.Items("WebServiceResult2")
End Sub
End Class
�����ⲻ���������� -- ��ȷʵ�����ã�
���������������û�������������̣߳�����Ҳʹ���˷ѵ���Դ�����ˣ�������������ġ���ʵ�ʵĽ��ȷʵ��������ͬ���ǿ϶��ġ��ǡ����ҰѴ�ר���н��ܵ����ֲ������������һ�� Web ҳ�������� 2 �������ĵ��ã��� Web ҳ�������� 2 ���첽���ã��Լ��� PreRequestHandler ������� 2 ���첽���á���ʹ�� Microsoft Application Center Test ����������������˲��ԣ��� 60 �����ڴ� 100 ������ͻ�����������������ͼ��ʾ�Ľ���������� 60 ��������ɵ���������

ͼ 1��100 ��ͬʱ��������Ŀͻ����� 60 ��������ɵ�����
�����첽 PreRequestHandler �����������������Լ�����ڵڶ�λ�ķ���������������� 8 ������ˣ��÷���ʹ�����Դ�����������Ƕ��ڵ�������ʵ��Ҫ�ʱ���������أ���ͼ��ʾ�������ַ�����ƽ����Ӧʱ�䡣
ͼ 2��100 ��ͬʱ��������Ŀͻ��˵�ƽ�������Ӧʱ��
����ʹ�� PreRequestHandler ������ƽ��������Ӧʱ���Ϊ 3.2 �롣����ÿ�� Web ������õ������ӳ�Ϊ 3 ���ӣ���÷�����һ�ַdz���Ч�Ľ���취��
�����ұ���ָ������Щ���ǿ�ѧ�����������ҵIJ��ǿ�ѧ�İ칫�������еIJ��ǿ�ѧ�ļ�����ϻ�õġ���Ȼ����������е��߳��ͷų�������������һЩʵ�ʵĹ���ȷʵ��������ܣ������Ҳ�������塣ϣ����Щ����ܹ��������ܵĸ�����ʵ�Ƿdz������ġ�
����PreRequestHandler �����Ǻܱ�Ҫ�ģ���Ϊ .aspx ����Ĵ��������û�������첽��������ơ����������� ASP.NET HTTP ���������������PreRequestHandler �������������� ASP.NET �������ͣ���ʹ�ý��첽֧������ .asmx ��������ڵı�̷�ʽҪ��ʹ�� PreRequestHandler ��̷�ʽ������һЩ��
������
�������ۺ�ʱ�����κ����͵Ľ��̺�ʱ�ϳ����������⣬�첽ִ��ģ�Ͷ���һ���ܺõķ������ڴ� .aspx ҳ����� Web ���������£�������Ϊ���Խ��첽 Web ��������� ASP.NET �ṩ���첽ִ��ģʽ����������������ڴ��� .aspx ����Ĺ�����ȱ���첽֧�ֵ����⡣ʹ�ô��첽���������������������Լ��̳߳���Դ���������⡣
�������ر������Դ����
�����Ƶ
����Ķ�Windows��������ȫ Windows��������ѯ����windows��ʲô��Mac QQ��Windows QQ�����¼��ô�ϲ� Mac QQ��Windows QQ�����¼Windows 10�Զ�������ô�ر� ��ιر�Windows 10�Զ�����windows 10 rs4����Ԥ����17017���ش�������Win10�^�����߸���16291������ʲô win10 16291��������windows10�^�����߸���ʱ�� windows10�^�����߸�������kb3150513����������ʲô Windows 10����kb3150513��ʲô
��������
360�������ôʹ�� 36
��ɽ�ʰ������Ļȡ��
�ٶ��չ�PPS���ö���3
��������
��3.6.0���������
��֧��©���������360�������ôʹ�� 360��������ʹ�÷��������ﵥ����ʲô ���ﵥ����ʲô��Apple pay��֧������ʲô���� Apple pay��������������Ʒ�� �����������ɿ���
��������xpϵͳֹͣ������ô��?xpϵͳ����win7ϵͳ������������ô���� win7����������ô����office2013��װ�̳�ͼ�⣺�ְ��ֽ��㰲װ��qqӰ��������ô�� QQӰ�����˽������VeryCD������վ���������¿���Ͽ�ȫ��ͬ������ʲô��ͬ����ʹ�÷�������QQ2012ʲôʱ��� ���°�����EDiary����һ����õĵ����ռDZ�
�鿴����0������>>