Làm th? nào đ? th?c hi?n đ?u ra b? nh? đ?m v?i d?ch v? Web trong Visual C#.NET

D?ch tiêu đ? D?ch tiêu đ?
ID c?a bài: 318299 - Xem s?n ph?m mà bài này áp d?ng vào.
Bung t?t c? | Thu g?n t?t c?

? Trang này

TÓM T?T

Chú ý Sau đây.Không gian tên thư vi?n l?p NET Framework đư?c tham chi?u trong bài vi?t này:
  • System.Web.Services
  • System.Text
Bài vi?t t?ng bư?c này mô t? cách đ? t?o ra m?t m?u ASP.NET D?ch v? web có s? d?ng đ?u ra b? nh? đ?m. S?n lư?ng b? nh? đ?m lưu tr? các ph?n ?ng s?n lư?ng k?t qu? c?a m?t d?ch v? Web d?a trên các Th?i gian th?c hi?n thu?c tính đư?c ch? đ?nh cho m?t tương ?ng WebMethod.

Chú ý Trong ASP.NET 2.0, phương th?c HTTP trang ki?m th? đ? thay đ?i t? GET đ? đăng bài. Tuy nhiên, bài vi?t không đư?c lưu thư?ng tr?. N?u b?n thay đ?i trang ki?m tra m?t ASP.NET 2,0 Web d?ch v? ?ng d?ng s? d?ng nh?n đư?c, b? nh? đ?m công tr?nh m?t cách chính xác. Ngoài ra, HTTP ch? ra r?ng m?t đ?i l? ngư?i dùng (tr?nh duy?t ho?c g?i đi?n tho?i ?ng d?ng) có th? ghi đè lên các máy ch? b? nh? đ?m b?ng cách thi?t l?p các tiêu đ? Cache-Control đ? "no-cache." V? v?y, ASP.Các ?ng d?ng NET b? qua Cache k?t qu? khi h? t?m th?y m?t tiêu đ? "b? nh? cache không có".

Yêu c?u

Danh sách sau v?ch ra đư?c đ? ngh? ph?n c?ng, ph?n m?m, h? t?ng m?ng, và gói d?ch v? đư?c yêu c?u:
  • Microsoft Windows 2000 Professional, Microsoft Windows 2000 H? ph?c v?, Microsoft Windows 2000 Advanced Server, ho?c Microsoft Windows XP
  • Microsoft.NET Framework
  • Microsoft Internet Information Services (IIS)

T?o ra m?t m?i ASP.NET Web d?ch v? ?ng d?ng

T?o ra m?t m?i ASP.NET Web d?ch v? ?ng d?ng tên là WSCacheSample:
  1. B?t đ?u Visual Studio.NET.
  2. Trên các Tệp tr?nh đơn, đi?m đ?n M?i, sau đó b?m Dự án đ? ch?y thu?t s? d? án m?i.
  3. Dư?i Các lo?i d? án, ch?n Visual C#. Dư?i Khuôn mẫu, ch?n ASP.NET Web d?ch v?.
  4. Trong các V? trí h?p, thay th? "WebService #" trong đư?ng d?n URL v?i tên c?a b?n d? án, WSCacheSample. N?u b?n đang s? d?ng máy ch? đ?a phương, đ? l?i như tên máy ch? http://localhost, do đó các V? trí h?p trông tương t? như này:
    http://localhost/WSCacheSample

T?o ra các d?ch v? Web m?u

  1. Trong gi?i pháp Explorer, b?m chu?t ph?i vào nút d? án, đi?m đ? Thêm, sau đó b?m Thêm d?ch v? Web.
  2. Đ?i v?i tên, g? CacheDemo.asmx, sau đó b?m M?. D?ch v? Web s? m? ra trong thi?t k? giao di?n.
  3. Nh?p chu?t ph?i vào các d?ch v? Web, và sau đó nh?p vào Xem m?.
  4. Thêm m? sau vào t?p tin l?p CacheDemo.asmx.cs. Đi?u này cho bi?t thêm m?t WebMethod thu?c tính đư?c đ?t tên GetCacheEntryTime v?i m?t CacheDuration 60 giây.
    [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());
    }
    						
    LƯU ?: Theo m?c đ?nh, các CacheDuration cho m?t WebMethod thu?c tính đư?c đ?t thành 0, có ngh?a r?ng nó không ph?i là cache.
  5. B?i v? m?u m? s? d?ng các StringBuilder phương pháp, bao g?m m?t tham chi?u đ?n các System.Text không gian tên. Không gian tên li?t kê cho các d?ch v? Web trông tương t? như này:
    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Diagnostics;
    using System.Web;
    using System.Web.Services;
    using System.Text;
    						
    LƯU ?: Đ? bi?t thêm thông tin v? các StringBuilder l?p, h?y truy c?p trang Web Microsoft Developer Network (MSDN) sau đây Trang web:
    StringBuilder l?p
    http://msdn2.Microsoft.com/en-US/Library/System.Text.StringBuilder (vs.71) .aspx
  6. Trong ph?ng thu tr?c quan.NET IDE, b?m Xây d?ng gi?i pháp trên các Xây d?ng tr?nh đơn.
  7. Trên các Tệp tr?nh đơn, nh?p vào Lưu t?t c? lưu d? án và các t?p tin liên quan.

Ki?m tra d? án

Bây gi? mà b?n đ? t?o ra các m?u CacheDemo D?ch v? web, ch?y các GetCacheEntryTimeWebMethod đ? xem nh?ng ?nh hư?ng c?a các CacheDuration thu?c tính thi?t l?p:
  1. Trong gi?i pháp Explorer, b?m chu?t ph?i vào CacheDemo.asmx, sau đó b?m Xem trong trình duyệt.

    Các t?p tin .asmx s? m? ra trong tr?nh duy?t, và các GetCacheEntryTimeWebMethod thu?c tính đư?c li?t kê như là m?t m?c d?u đ?u d?ng ? trên cùng c?a các Trang.
  2. B?m vào các GetCacheEntryTime liên k?t.
  3. Trong các Tên h?p cho các phương pháp, lo?i Joe và sau đó Nh?p vào G?i đ? ch?y các WebMethod thu?c tính và tr? l?i k?t qu? XML. Nh?n th?y th?i gian đóng d?u mà đư?c tr? l?i trong thư.

    LƯU ?: N?u các WebServices giúp trang không xu?t hi?n, b?n có th? ch?y các WebService phương pháp b?ng cách g? sau đây trong h?p đ?a ch? Web tr?nh duy?t:
    http://localhost/wscachesample/cachedemo.asmx/GetCacheEntryTime?Name=Joe
    					
  4. Ch?y các WebMethod m?t l?n n?a b?ng cách g? Joe. LƯU ?: N?u b?n ch?y các WebMethod thu?c tính trong l?n th? 60 hai kho?ng th?i gian mà đư?c xác đ?nh b?i các CacheDuration thu?c tính, cùng m?t th?i gian đóng d?u s? xu?t hi?n.
  5. L?p l?i bư?c 4, nhưng lo?i Amy Thay vào đó c?a Joe trong các Tên h?p cho các WebMethod thu?c tính tham s?.

    Nh?n th?y r?ng th?i gian đóng d?u k?t qu? là khác nhau. Đi?u này x?y ra b?i v? m?c đ?nh đ?u ra b? nh? đ?m k?t qu? d?a trên các tham s? c?a các WebMethod thu?c tính. Trong ví d? này, Joe là giá tr? tham s? cho l?n đ?u tiên hai bài ki?m tra và các cache đ?u ra đư?c tr? l?i cho các th? nghi?m th? hai. Khi b?n s? d?ng Amy trong th? nghi?m th? ba, b?n nh?n đư?c m?t k?t qu? m?i. N?u b?n l?p l?i các ki?m tra trong 60 giây, b?n s? nh?n đư?c m?t k?t qu? đ?u ra đư?c lưu tr?. S? khác bi?t trong k?t xu?t b? nh? đ?m Phiên b?n là liên quan đ?n các thông s? c?a các WebMethod thu?c tính.

Khắc phục sự cố

Khi b?n quy?t đ?nh có hay không đ? th?c hi?n s?n lư?ng b? nh? đ?m cho d?ch v? Web c?a b?n, h?y nh? r?ng máy ch? tài nguyên có th? b? ?nh hư?ng tiêu c?c n?u các WebMethod các thông s? thu?c tính có liên quan đ?n các yêu c?u khác nhau r?ng r?i, ho?c n?u các ph?n ?ng liên quan đ?n m?t lư?ng l?n d? li?u.

THAM KH?O

Đ? bi?t thêm thông tin v? các WebMethodAttribute.CacheDuration b?t đ?ng s?n và các WebMethodAttribute l?p, xem ch? đ? sau đây trong các.NET Framework Class Thư vi?n tài li?u:
B?t đ?ng s?n WebMethodAttribute.CacheDuration
http://msdn2.Microsoft.com/en-US/Library/System.web.Services.webmethodattribute.cacheduration (vs.71) .aspx
Đ? bi?t thêm chi ti?t v? các d?ch v? Web, truy c?p vào các MSDN Web trang web sau đây:
Hư?ng d?n cho d?ch v? XML Web t?o ra s? d?ng ASP.NET
http://msdn2.Microsoft.com/en-US/Library/w8excbb0 (vs.71) .aspx

S? d?ng thu?c tính WebMethod
http://msdn2.Microsoft.com/en-US/Library/byxd99hx (vs.71) .aspx
Thêm m?u, tài li?u và liên k?t có liên quan đ? l?p tr?nh v?i các.NET Framework, thăm CodePlex Web site sau:
http://www.CodePlex.com

Thu?c tính

ID c?a bài: 318299 - L?n xem xét sau cùng: 27 Tháng Tám 2011 - Xem xét l?i: 2.0
Áp d?ng
  • 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
T? khóa: 
kbcaching kbhowtomaster kbmt KB318299 KbMtvi
Máy d?ch
QUAN TRỌNG: Bài vi?t này đư?c d?ch b?ng ph?n m?m d?ch máy c?a Microsoft ch? không ph?i do con ngư?i d?ch. Microsoft cung c?p các bài vi?t do con ngư?i d?ch và c? các bài vi?t do máy d?ch đ? b?n có th? truy c?p vào t?t c? các bài vi?t trong Cơ s? Ki?n th?c c?a chúng tôi b?ng ngôn ng? c?a b?n. Tuy nhiên, bài vi?t do máy d?ch không ph?i lúc nào c?ng hoàn h?o. Lo?i bài vi?t này có th? ch?a các sai sót v? t? v?ng, cú pháp ho?c ng? pháp, gi?ng như m?t ngư?i nư?c ngoài có th? m?c sai sót khi nói ngôn ng? c?a b?n. Microsoft không ch?u trách nhi?m v? b?t k? s? thi?u chính xác, sai sót ho?c thi?t h?i nào do vi?c d?ch sai n?i dung ho?c do ho?t đ?ng s? d?ng c?a khách hàng gây ra. Microsoft c?ng thư?ng xuyên c?p nh?t ph?n m?m d?ch máy này.
Nh?p chu?t vào đây đ? xem b?n ti?ng Anh c?a bài vi?t này:318299

Cung cấp Phản hồi

 

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