Şu anda çevrimdışısınız; İnternet'in yeniden bağlanması bekleniyor

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

Ö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
Ö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.

back to the top

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)
back to the top

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
back to the top

Ö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:
  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.
back to the top

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.
back to the top

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.

back to the top
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: 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: back to the top

Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır

Özellikler

Makale No: 318299 - Son İnceleme: 08/28/2007 06:26:02 - Düzeltme: 6.5

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

  • kbmt kbcaching kbhowtomaster KB318299 KbMttr
Geri bildirim