วิธีการแสดงผลการแคกับเว็บเซอร์วิสใน Visual .NET c#

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

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

สรุป

หมายเหตุ:namespaces ไลบรารีคลาสของ.NET Framework ต่อไปนี้จะอ้างถึงในบทความนี้:
  • System.Web.Services
  • System.Text
บทความที่มีการทีละขั้นตอนนี้อธิบายวิธีการสร้างตัวอย่างการบริการเว็บ ASP.NET ที่ใช้ในการแคเอาพุต การแคผลลัพธ์เก็บผลตอบสนองขาออกของบริการเว็บที่ขึ้นอยู่กับระยะเวลาแอตทริบิวต์ที่ระบุสำหรับสอดคล้องกันWebMethod.

หมายเหตุ:ใน ASP.NET 2.0 วิธีการหน้าทดสอบ HTTP มีการเปลี่ยนแปลงจาก GET การ POST อย่างไรก็ตาม ประกาศจะไม่ค่าแค ถ้าคุณเปลี่ยน หน้าทดสอบในโปรแกรมประยุกต์บริการ ASP.NET 2.0 เว็บใช้ GET แคชการทำงานได้อย่างถูกต้อง นอกจากนี้ HTTP ระบุว่า ตัวแทนผู้ใช้ (เบราว์เซอร์หรือโปรแกรมประยุกต์ที่เรียก) ควรจะแทนที่เซิร์ฟเวอร์แค โดยการตั้งค่าส่วนหัวของตัวควบคุมในแคชการ "ไม่มีแค ดังนั้น โปรแกรมประยุกต์ ASP.NET ละเว้นผลลัพธ์ที่เก็บไว้ชั่วคราวเมื่อพวกเขาค้นหาหัวข้อ "แคไม่"

ความต้องการ

รายการต่อไปนี้แสดงฮาร์ดแวร์ที่แนะนำ ซอฟต์แวร์ โครงสร้างพื้นฐานของเครือข่าย และ service pack ที่จำเป็นต้องใช้:
  • Microsoft Windows 2000 Professional, Microsoft Windows 2000 Server, Microsoft Windows 2000 ขั้นสูงเซิร์ฟเวอร์ หรือ Microsoft Windows XP
  • กรอบการทำงานของ microsoft .NET
  • บริการข้อมูลทางอินเทอร์เน็ตของ Microsoft (IIS)

สร้างโปรแกรมประยุกต์บริการเว็บ ASP.NET ใหม่

สร้างโปรแกรมประยุกต์บริการเว็บ ASP.NET ที่ใหม่ที่ชื่อ WSCacheSample:
  1. เริ่ม Visual Studio .NET
  2. ในการแฟ้ม:เมนู ให้ชี้ไปที่ใหม่แล้ว คลิกProjectเมื่อต้องการเริ่มตัวช่วยสร้างโครงการใหม่
  3. ภายใต้ชนิดโครงการเลือกvisual c#. ภายใต้แม่แบบ:เลือกบริการเว็บ asp.net.
  4. ในการตำแหน่ง:กล่อง แทน "webservice ที่อยู่ #" ในเส้นทาง URL ด้วยชื่อของโครงการWSCacheSample. ถ้าคุณใช้เซิร์ฟเวอร์ภายใน ปล่อยให้ชื่อของเซิร์ฟเวอร์เป็น http://localhost ดังนั้นการตำแหน่ง:กล่องมีลักษณะเหมือนกับข้อความนี้:
    http://localhost/WSCacheSample

สร้างตัวอย่างของเว็บเซอร์วิส

  1. โซลูชัน Explorer คลิกขวาที่โหนโครงการ ชี้ไปที่addแล้ว คลิกเพิ่มบริการเว็บ.
  2. สำหรับชื่อ ประเภทCacheDemo.asmxแล้ว คลิกOPEN. การบริการเว็บเปิดขึ้นในมุมมองออกแบบ
  3. คลิกขวาที่การบริการเว็บ และจากนั้น คลิกรหัสของมุมมอง.
  4. เพิ่มรหัสต่อไปนี้ไปยังแฟ้มคลา CacheDemo.asmx.cs ซึ่งเพิ่มคำWebMethodแอตทริบิวต์ที่ระบุGetCacheEntryTimeด้วยการCacheDuration60 วินาที
    [WebMethod(CacheDuration=60)]
    public string GetCacheEntryTime(string Name)
    {
    	StringBuilder sb = new StringBuilder("Hi ");
    	sb.Append(Name);
    	sb.Append(", the Cache entry was made at ");
    	sb.Append(System.DateTime.Now.ToString());
    	
    	return(sb.ToString());
    }
    						
    หมายเหตุ:: โดยค่าเริ่มต้น การCacheDurationสำหรับคำWebMethodแอตทริบิวต์มีการตั้งค่าเป็น 0 หมายความ ว่า คุณจะไม่แค
  5. เนื่องจากใช้ตัวอย่างรหัสนั้นStringBuilderวิธีการ รวมการอ้างอิงไปยังSystem.Textnamespace namespace แสดงรายการสำหรับการบริการเว็บมีลักษณะเหมือนกับข้อความนี้:
    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Diagnostics;
    using System.Web;
    using System.Web.Services;
    using System.Text;
    						
    หมายเหตุ:: สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการStringBuilderคลาส เยี่ยมชมเว็บไซต์ของ Microsoft สำหรับนักพัฒนาเครือข่าย (MSDN) ต่อไปนี้:
    คลาสของ StringBuilder
    .aspx http://msdn2.microsoft.com/en-us/library/system.text.stringbuilder (vs.71)
  6. ในการ Visual Studio .NET IDE คลิกสร้างโซลูชันในการการสร้างเมนู
  7. ในการแฟ้ม:เมนู คลิกบันทึกทั้งหมดเมื่อต้องการบันทึกโครงการและแฟ้มที่เกี่ยวข้อง

ทดสอบโครงการ

หลังจากที่คุณสร้างตัวอย่างCacheDemoบริการเว็บ การทำงานนี้GetCacheEntryTimeWebMethodเมื่อต้องการดูลักษณะพิเศษของการCacheDurationการตั้งค่าแอตทริบิวต์:
  1. คลิกขวาใน Explorer โซลูชันCacheDemo.asmxแล้ว คลิกดูในเบราว์เซอร์.

    ไฟล์.asmx เปิดในเบราว์เซอร์ และGetCacheEntryTimeWebMethodแอตทริบิวต์จะแสดงรายการเป็นสินค้าสัญลักษณ์ที่ด้านบนของหน้า
  2. คลิกการGetCacheEntryTimeการเชื่อมโยง
  3. ในการชื่อ:กล่องสำหรับวิธี ชนิดJoeแล้ว คลิกเรียกใช้เมื่อต้องการทำงานนี้WebMethodแอตทริบิวต์และส่งคืนผลลัพธ์ XML สังเกตว่า การประทับเวลาที่ส่งคืนข้อความ

    หมายเหตุ:: ถ้า WebServices ช่วย หน้าไม่ปรากฏอยู่ คุณสามารถรันการwebservice ที่อยู่วิธี โดยการพิมพ์ต่อไปนี้ในกล่องที่อยู่ในเว็บเบราว์เซอร์:
    http://localhost/wscachesample/cachedemo.asmx/GetCacheEntryTime?Name=Joe
    					
  4. เรียกใช้การWebMethodโดยการพิมพ์อีกครั้งJoe.หมายเหตุ:: ถ้าคุณทำงานนี้WebMethodแอตทริบิวต์ใน 60 วินาทีรอบระยะเวลาที่ระบุไว้โดยCacheDurationแอตทริบิวต์ ประทับเวลาเดียวกันปรากฏ
  5. ทำซ้ำขั้นตอนที่ 4 แต่ชนิดAmyแทนการ Joe ในนั้นชื่อ:กล่องสำหรับWebMethodพารามิเตอร์ของแอตทริบิวต์

    ขอให้สังเกตว่า ผลลัพธ์การประทับเวลาแตกต่างกัน ปัญหานี้เกิดขึ้นเนื่องจากการแสดงผลเริ่มต้นแคผลลัพธ์จะขึ้นอยู่กับพารามิเตอร์ของการWebMethodแอตทริบิวต์ ในตัวอย่างนี้Joeค่าพารามิเตอร์สำหรับการทดสอบก่อนที่สอง และมีการส่งคืนผลลัพธ์ที่เก็บไว้ชั่วคราวสำหรับการทดสอบที่สอง เมื่อคุณใช้Amyในการทดสอบสาม ได้รับผลจากการใหม่ ถ้าคุณทำซ้ำการทดสอบใน 60 วินาที คุณจะได้รับผลจากการแสดงผลที่เก็บไว้ชั่วคราว ส่วนต่างในผลลัพธ์การแครุ่นที่เกี่ยวข้องกับพารามิเตอร์ของการWebMethodแอตทริบิวต์

การแก้ไขปัญหา

เมื่อคุณตัดสินใจว่า จะใช้ในการแสดงผลการแคสำหรับบริการเว็บของคุณหรือไม่ อย่าลืมว่า ทรัพยากรของเซิร์ฟเวอร์สามารถได้รับผลกระทบ negatively ถ้าการWebMethodพารามิเตอร์ของแอตทริบิวต์ที่เกี่ยวข้องกับการร้องขอการเปลี่ยนแปลงต่าง ๆ ไป หรือถ้าคำตอบเกี่ยวข้องกับข้อมูลจำนวนมาก

ข้อมูลอ้างอิง

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการWebMethodAttribute.CacheDurationคุณสมบัติและWebMethodAttributeคลาส ดูหัวข้อต่อไปนี้ในคลากรอบงานการ.NET ไลบรารีเอกสาร:
คุณสมบัติ WebMethodAttribute.CacheDuration
.aspx http://msdn2.microsoft.com/en-us/library/system.web.services.webmethodattribute.cacheduration (vs.71)
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับบริการเว็บ แวะไปที่ MSDN เว็บไซต์ต่อไปนี้:
แนวทางการออกแบบสำหรับบริการเว็บ XML ที่ถูกสร้างโดยใช้ ASP.NET
.aspx http://msdn2.microsoft.com/en-us/library/w8excbb0 (vs.71)

การใช้แอตทริบิวต์ WebMethod
.aspx http://msdn2.microsoft.com/en-us/library/byxd99hx (vs.71)
สำหรับตัวอย่างเพิ่มเติม เอกสาร และการเชื่อมโยงที่เกี่ยวข้องกับการเขียนโปรแกรมด้วย.NET Framework ไปที่ CodePlex เว็บไซต์ต่อไปนี้:
http://www.codeplex.com

คุณสมบัติ

หมายเลขบทความ (Article ID): 318299 - รีวิวครั้งสุดท้าย: 13 มกราคม 2554 - Revision: 4.0
ใช้กับ
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
  • Microsoft ASP.NET 2.0
  • Microsoft Web Services Enhancements for Microsoft .NET 1.1
  • Microsoft Visual C# .NET 2002 Standard Edition
Keywords: 
kbcaching kbhowtomaster kbmt KB318299 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:318299

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

 

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