ข้อมูล: โมดูล ASP.NET HTTP และภาพรวมของตัวจัดการ HTTP

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 307985 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

สรุป

บทความนี้ให้คำแนะนำเป็นการ ASP.NET HTTP โมดูล'และ'ตัวจัดการ HTTP

สำหรับภาพรวมของ ASP.NET เพิ่มเติม ดูบทความฐานความรู้ของ Microsoft ต่อไปนี้:
305140ข้อมูล: ผัง ASP.NET

ข้อมูลเพิ่มเติม

โมดูล http และตัวจัดการ HTTP มีส่วนเพิ่มรวมของสถาปัตยกรรม ASP.NET ในขณะที่จะถูกประมวลผลการร้องขอ แต่ละคำขอมีการประมวลผล โดยโมหลาย HTTP ดู (ตัวอย่างเช่น โมดูลการรับรองความถูกต้องและโมดูลเซสชัน) และมีการประมวลผลแล้ว โดยตัวจัดการ HTTP เดียว หลังจากที่ตัวจัดการได้ประมวลผลการร้องขอ คำขอ flows กลับผ่าน HTTP ในโมดูลต่าง ๆ

บทความนี้แบ่งออกเป็นส่วนที่ต่อไปนี้:

โมดูล http

โมดูลที่ถูกเรียกก่อน และหลัง จากที่ดำเนินการตัวจัดการ โมดูลนักพัฒนาดัก เข้าร่วมใน หรือปรับเปลี่ยนแต่ละคำขอแต่ละที่เปิดใช้งาน โมดูลปฏิบัติการIHttpModuleอินเทอร์เฟซ ที่อยู่ในนั้นSystem.Webnamespace

เหตุการณ์ที่พร้อมใช้งาน

มีHttpApplicationคลาสที่แสดงหมายเลขของเหตุการณ์ที่โมดูลที่สามารถซิงโครไนส์ เหตุการณ์ต่าง ๆ ต่อไปนี้จะพร้อมใช้งานสำหรับโมดูลที่การปรับให้ตรงกับบนแต่ละคำขอ เหตุการณ์เหล่านี้อยู่ในใบสั่งตามลำดับ:
  • BeginRequest: มีการเริ่มการร้องขอ ถ้าคุณต้องการทำบางสิ่งบางอย่างที่ตำแหน่งเริ่มต้นของการร้องขอ (ตัวอย่างเช่น แสดงโฆษณาเตือนด้านบนของแต่ละหน้า) การซิงโครไนส์เหตุการณ์นี้
  • AuthenticateRequest: ถ้าคุณต้องการที่เสียบอยู่กับโครงร่างการรับรองความถูกต้องแบบกำหนดเองของคุณ (ตัวอย่างเช่น ค้นหาผู้ใช้กับฐานข้อมูลเพื่อตรวจสอบรหัสผ่าน), สร้างโมดูที่เหตุการณ์นี้การซิงโครไนซ์ และ authenticates ผู้ใช้วิธีการที่คุณต้องการ
  • AuthorizeRequest: เหตุการณ์นี้ถูกใช้ภายในการใช้กลไกการรับรองความถูกต้อง (ตัวอย่าง การจัดเก็บรายการควบคุมการเข้าถึงของคุณ (acl) ในฐานข้อมูลแทน ในระบบแฟ้ม) แม้ว่าคุณสามารถแทนที่เหตุการณ์นี้ มีไม่เหตุผลที่ดีจำนวนมากการทำงาน
  • ResolveRequestCache: เหตุการณ์นี้กำหนดว่า หน้าสามารถจะเกี่ยวข้องจากผลผลิตแคช ถ้าคุณต้องการที่เขียนของคุณเองการแคโมดูล (ตัวอย่างเช่น การสร้างการใช้แฟ้มแคแทนแคหน่วยความจำเป็น), ซิงโครไนส์เหตุการณ์นี้เพื่อกำหนดว่าจะทำหน้าที่หน้าจากแคช
  • AcquireRequestState: เซสชันสถานะถูกดึงจากร้านสถานะ ถ้าคุณต้องการสร้างโมดูลการจัดการสถานะของคุณเอง ให้ตรงกันนี้ให้เหตุการณ์ grab สถานะเซสชันจากการจัดเก็บของสถานะของคุณ
  • PreRequestHandlerExecute: เหตุการณ์นี้เกิดขึ้นก่อนที่จะดำเนินการตัวจัดการ HTTP
  • PostRequestHandlerExecute: เหตุการณ์นี้เกิดขึ้นหลังจากที่ดำเนินการตัวจัดการ HTTP
  • ReleaseRequestState: เซสชันสถานะถูกจัดเก็บไว้ในเก็บสถานะกลับ ถ้าคุณกำลังสร้างโมดูสถานะของเซสชันแบบกำหนดเอง คุณต้องเก็บสถานะของคุณกลับในที่เก็บสถานะของคุณ
  • UpdateRequestCache: This event writes output back to the Output cache. If you are building a custom cache module, you write the output back to your cache.
  • EndRequest: Request has been completed. You may want to build a debugging module that gathers information throughout the request and then writes the information to the page.
The following events are available for modules to synchronize with for each request transmission. The order of these events is non-deterministic.
  • PreSendRequestHeaders: This event occurs before the headers are sent. If you want to add additional headers, you can synchronize this event from a custom module.
  • PreSendRequestContent: This event occurs when theResponse.Flushmethod is called. If you want to add additional content, you can synchronize this event from a custom module.
  • เฉพาะ: This event occurs when an unhandled exception occurs. If you want to write a custom error handler module, synchronize this event.

Configuring HTTP Modules

The <httpmodules> configuration section handler is responsible for configuring the HTTP modules within an application. It can be declared at the computer, site, or application level. Use the following syntax for the <httpmodules> section handler: </httpmodules></httpmodules>
<httpModules>
   <add type="[COM+ Class], [Assembly]" name="[ModuleName]" />
   <remove type="[COM+ Class], [Assembly]" name="[ModuleName]" />
   <clear />
</httpModules>
				

Creating HTTP Modules

To create an HTTP module, you must implement theIHttpModuleอินเทอร์เฟซ กระบวนการIHttpModuleinterface has two methods with the following signatures:
void Init(HttpApplication);
void Dispose();
				
For additional information about creating HTTP modules, click the article numbers below to view the articles in the Microsoft Knowledge Base:
308000HOW TO: Create an ASP.NET HTTP Module by Using Visual Basic .NET
307996HOW TO: Create an ASP.NET HTTP Module by Using Visual C# .NET

HTTP Handlers

Handlers are used to process individual endpoint requests. Handlers enable the ASP.NET framework to process individual HTTP URLs or groups of URL extensions within an application. Unlike modules, only one handler is used to process a request. All handlers implement theIHttpHandlerinterface, which is located in theSystem.Webnamespace Handlers are somewhat analogous to Internet Server Application Programming Interface (ISAPI) extensions.

Configuring HTTP Handlers

The <httphandlers> configuration section handler is responsible for mapping incoming URLs to the </httphandlers>IHttpHandlerหรือIHttpHandlerFactoryคลาสที่ It can be declared at the computer, site, or application level. Subdirectories inherit these settings.

Administrators use the <add> tag directive to configure the <httphandlers> section. <add> directives are interpreted and processed in a top-down sequential order. Use the following syntax for the <httphandler> section handler: </httphandler></add></httphandlers></add>
<httpHandlers>
   <add verb="[verb list]" path="[path/wildcard]" type="[COM+ Class], [Assembly]" validate="[true/false]" />
   <remove verb="[verb list]" path="[path/wildcard]" />
   <clear />
</httpHandlers>
				

Creating HTTP Handlers

To create an HTTP handler, you must implement theIHttpHandlerอินเทอร์เฟซ กระบวนการIHttpHandlerinterface has one method and one property with the following signatures:
void ProcessRequest(HttpContext);
bool IsReusable {get;}
				
หมายเหตุ:: If session state is required in your HTTP handler, you also need to implement theIRequiresSessionStateอินเทอร์เฟซFor additional information about creating HTTP handlers, click the article numbers below to view the articles in the Microsoft Knowledge Base:
308001HOW TO: Create an ASP.NET HTTP Handler by Using Visual C# .NET
For additional information, click the article numbers below to view the articles in the Microsoft Knowledge Base:
307997HOW TO: Create an ASP.NET HTTP Handler by Using Visual Basic .NET

คุณสมบัติ

หมายเลขบทความ (Article ID): 307985 - รีวิวครั้งสุดท้าย: 10 มกราคม 2554 - Revision: 4.0
ใช้กับ
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
Keywords: 
kbarttyperoadmap kbhttphandlers kbhttpmodule kbhttpruntime kbinfo kbmt KB307985 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:307985

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com