Visual C# .NET Web Hizmetleri ile önbelleğe alma nasıl yapılacağı çıkış

Makale çevirileri Makale çevirileri
Makale numarası: 318299 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

Özet

Not Bu makalede başvurulan aşağıdaki .NET Framework sınıf kitaplığı ad:
  • System.Web.Services
  • System.Text
Bu adım adım makalede, bir örnek Çıkış önbellekleme kullanan ASP.NET Web hizmetinin nasıl oluşturulacağını açıklar. Çıkış önbelleği için karşılık gelen bir WebMethod için belirtilen süre özniteliği temel alan bir Web hizmetinin çıkış yanıt sonucunu önbelleğe alır.

Not ASP.NET 2. 0'da, GET POST HTTP yöntemi sınama sayfası değiştirildi. Ancak POST normalde önbelleğe alınmaz. Değiştirirseniz, uygulamada kullanmak için ASP.NET 2.0 Web hizmetini sınama sayfası GET, doğru çalıştığını önbelleğe alma. Ayrıca, HTTP Kullanıcı Aracısı (tarayıcı veya çağıran uygulama) için "no-cache." Cache-Control üstbilgisini ayarlayarak, sunucunun önbelleğe almasını geçersiz kılmak için olması gerektiğini gösterir. Bu nedenle, bir "no-cache" üstbilgisi bulduğunuzda ASP.NET uygulamalarını önbelleğe alınan sonuçlar yoksayın.

Gereksinimler

Aşağıdaki listede, gereksinim duyulan donanım, yazılım, ağ altyapısı ve hizmet paketleri önerilmektedir:
  • Microsoft Windows 2000 Professional, Microsoft Windows 2000 Server, Microsoft Windows 2000 Server veya Microsoft Windows Gelişmiş XP
  • Microsoft .NET framework
  • Microsoft ınternet ınformation Services (IIS)

Yeni bir ASP.NET Web hizmeti bir uygulama oluştur

WSCacheSample adlı yeni bir ASP.NET Web hizmeti uygulaması oluşturun:
  1. Visual Studio .NET'i başlatın.
  2. Dosya menüsünde Yeni ' nin üzerine gelin ve sonra Project yeni proje Sihirbazı'nı başlatmak için tıklatın.
  3. Visual C# altında Proje tiplerini seçin. Şablon altında ASP.NET Web Service ' ı seçin.
  4. Konum</a0> kutusunda "WebService #" projenizin WSCacheSample adla URL yolu değiştirin. Yerel sunucuyu kullanıyorsanız, sunucu adı http://localhost, bırakın; böylece Konum kutusu şuna benzer:
    http://localhost/WSCacheSample

Örnek Web hizmetini oluşturma

  1. Solution Explorer'da (Çözüm Gezgini), proje düğümünü sağ tıklatın, sonra da Ekle işaret ve Web hizmeti Ekle</a1>'ı tıklatın.
  2. Ad, CacheDemo.asmx yazın ve sonra ' ı tıklatın. Web hizmeti, Tasarım görünümünde açar.
  3. Web hizmeti sağ tıklatın ve Kod Görüntüle</a1>'ı tıklatın.
  4. Aşağıdaki kod CacheDemo.asmx.cs sınıfı dosyasına ekleyin. Bu 60 saniyelik penceresindeCacheDuration ile GetCacheEntryTime adlı bir WebMethod özniteliği ekler.
    [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());
    }
    						
    Not: varsayılan olarak, değil önbelleğe anlamına gelen bir WebMethod özniteliği için penceresindeCacheDuration 0'a ayarlanır.
  5. Örnek kod StringBuilder yöntemini kullandığından, System.Text ad boşluğuna başvuru içerir. Web hizmeti şuna benzer için ad alanı listeleniyor:
    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Diagnostics;
    using System.Web;
    using System.Web.Services;
    using System.Text;
    						
    Not: StringBuilder sınıfı hakkında daha fazla bilgi için aşağıdaki Microsoft Developer Network (MSDN) Web sitesini ziyaret edin:
    StringBuilder sınıfı
    http://msdn2.microsoft.com/en-us/library/system.text.stringbuilder(vs.71).aspx
  6. Visual Studio .NET IDE içinde Oluştur) menüsünde Build Solution ' ı tıklatın.
  7. Dosya menüsünde, proje ve ilişkili dosyaları kaydetmek için Tümünü Kaydet'i tıklatın.

Proje sınama

Oluşturduğunuz örnek CacheDemo Web hizmeti, artık penceresindeCacheDuration özniteliği ayarının etkisini görmek için GetCacheEntryTimeWebMethod ' ı çalıştırın:
  1. Solution Explorer'da (Çözüm Gezgini), CacheDemo.asmx ' ı sağ tıklatın ve sonra Tarayıcıda Görüntüle ' yi tıklatın.

    Tarayıcıda .asmx dosyasını açar ve GetCacheEntryTimeWebMethod özniteliği sayfasının en üstündeki madde işaretli bir öğe olarak listelenir.
  2. GetCacheEntryTime bağlantıyı tıklatın.
  3. Yöntemin adı kutusuna, Joe yazın ve WebMethod ' özniteliği'ı çalıştırıp XML sonuç ınvoke</a1>'ı tıklatın. Iletide verilen bir zaman damgası dikkat edin.

    Not: the WebServices yardımcı olmak için sayfa görüntülenmezse, bu WebService yöntemi Web <a1>adresini</a1> kutusunda, aşağıdakileri yazarak çalıştırabilirsiniz tarayıcı:
    http://localhost/wscachesample/cachedemo.asmx/GetCacheEntryTime?Name=Joe
    					
  4. WebMethod, Joe yazarak yeniden çalıştırın. Not: WebMethod ' özniteliği 60 saniye penceresindeCacheDuration özniteliği tarafından belirtilen döneme çalıştırıyorsanız, zaman damgası aynı görünür.
  5. Adım 4'ü yineleyin; ancak, Can'ın yerine Amy ' WebMethod öznitelik parametresi için <a1>ad</a1> kutusuna yazın.

    Zaman damgası sonuç farklı olduğuna dikkat edin. Bu, varsayılan çıktı sonucu önbelleğe almayı WebMethod ' özniteliği parametreleri temel alması nedeniyle oluşur. Bu örnekte, Joe ilk iki sınamaları parametre değeridir ve önbelleğe alınan çıktı, ikinci testini döndürülür. Üçüncü sınamada Amy kullandığınızda, yeni bir sonuç alırsınız. 60 Saniye olarak sınama yineleyin, önbelleğe alınmış çıkış sonucu alırsınız. Sürüm önbelleğe alma çıkış farkı WebMethod ' özniteliği için parametre ilişkilidir.

SORUN GİDERME

Web hizmetiniz için Çıkış önbellekleme uygulamak isteyip istemediğinizi karar verdiğinizde, bu sunucu, kaynaklarını olumsuz istekleri ile ilişkili WebMethod özniteliği parametreleri çok değişken veya yanıtları büyük miktarda veri içeren etkilenebilir unutmayın.

Referanslar

WebMethodAttribute.CacheDuration özelliği ve WebMethodAttribute sınıfı hakkında daha fazla bilgi için bkz: aşağıdaki konuda, .NET Framework sınıf kitaplığı belgeler:
WebMethodAttribute.CacheDuration özelliği
http://msdn2.microsoft.com/en-us/library/system.web.services.webmethodattribute.cacheduration(vs.71).aspx
Web Hizmetleri hakkında ek bilgi için aşağıdaki MSDN Web sitelerini ziyaret edin:
ASP.NET kullanılarak oluşturulan XML Web Hizmetleri için tasarım yönergeleri
http://msdn2.microsoft.com/en-us/library/w8excbb0(vs.71).aspx

WebMethod'özniteliği [NULL]'ni kullanma
http://msdn2.microsoft.com/en-us/library/byxd99hx(vs.71).aspx
Ek örnekler, belge ve .NET Framework programlamayla ilgili olan bağlantılar aşağıdaki CodePlex Web sitesini ziyaret edin:
http://www.codeplex.com

Özellikler

Makale numarası: 318299 - Last Review: 28 Ağustos 2007 Salı - Gözden geçirme: 6.5
Bu makaledeki bilginin uygulandığı durum:
  • 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 Web Services (included with the .NET Framework) 1.0
  • Microsoft Visual C# .NET 2002 Standard Edition
Anahtar Kelimeler: 
kbmt kbcaching kbhowtomaster KB318299 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:318299

Geri Bildirim Ver

 

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