Jak provést výstupní mezipaměti webové služby Visual C# .NET

Překlady článku Překlady článku
ID článku: 318299 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Poznámka: V tomto článku jsou odkazovány následující obory názvů knihovny tříd .NET Framework:
  • System.Web.Services
  • System.Text
Tento podrobný článek popisuje vytvoření ukázkových ASP.NET webové službě, která používá ukládání výstupu do mezipaměti. Ukládání výstupu do mezipaměti ukládá výstup výsledek odpověď webové služby založené na určené pro odpovídající WebMethod atribut trvání.

Poznámka: ASP.NET 2.0 v Metoda HTTP zkušební stránky změnil z GET k POST. Však POST nejsou do mezipaměti obvykle ukládány. Pokud změníte, GET, zkušební stránky v aplikaci ASP.NET 2.0 webové služby používat ukládání do mezipaměti funguje správně. Navíc označuje HTTP uživatelského agenta (prohlížeče nebo volající aplikace) by měl potlačit ukládání do mezipaměti serveru nastavením záhlaví Cache-Control na "no-cache." Proto aplikace ASP.NET ignorovat mezipaměti výsledky při nalezení záhlaví "no-cache".

Požadavky

Následující seznam obsahuje doporučený hardware, software, síťovou infrastrukturu a požadované aktualizace Service Pack:
  • Microsoft Windows 2000 Professional, Microsoft Windows 2000 Server, Microsoft Windows 2000 Advanced Server nebo Microsoft Windows XP
  • Rozhraní Microsoft .NET framework
  • Internetová informační služba (IIS)

Vytvoření nové webové služby ASP.NET aplikace

Vytvoření nové webové služby ASP.NET aplikace s názvem WSCacheSample:
  1. Spusťte aplikaci Visual Studio .NET.
  2. V nabídce soubor přejděte na příkaz Nový a klepněte na příkaz Project spustit Průvodce vytvořením projektu.
  3. Ve skupinovém rámečku Project typy vyberte Visual C#. V části šablony vyberte Webové služby ASP.NET.
  4. V poli umístění nahradit "WebService #" v cesta URL název projektu, WSCacheSample. Pokud používáte místní server, ponechte název serveru jako http://localhost, tak, aby pole umístění vypadá podobně jako tento:
    http://localhost/WSCacheSample

Vytvořit ukázkové webové služby

  1. V aplikaci Solution Explorer klepněte pravým tlačítkem na uzel projektu, přejděte na příkaz Přidat a potom klepněte na tlačítko Přidat webovou službu.
  2. Pro název zadejte CacheDemo.asmx a potom klepněte na tlačítko Otevřít. Webová služba se otevře v návrhovém zobrazení.
  3. Klepněte pravým tlačítkem myši webové služby a potom klepněte na tlačítko Zobrazit kód.
  4. Přidejte následující kód třídy souboru CacheDemo.asmx.cs. Přidá atribut WebMethod s názvem GetCacheEntryTime s CacheDuration 60 sekund.
    [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());
    }
    						
    Poznámka: ve výchozím nastavení CacheDuration atribut WebMethod je nastavena na hodnotu 0, což znamená, že jej není uložena v mezipaměti.
  5. Protože ukázkový kód používá metodu StringBuilder, zahrnout odkaz na obor názvů System.Text. Obor názvů výpis webové služby vypadá podobně jako tento:
    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Diagnostics;
    using System.Web;
    using System.Web.Services;
    using System.Text;
    						
    Poznámka: Další informace o třídě StringBuilder, navštivte následující web společnosti Microsoft Developer Network (MSDN):
    Třída StringBuilder
    http://msdn2.microsoft.com/en-us/library/system.text.stringbuilder(vs.71).aspx
  6. V aplikaci Visual Studio .NET IDE v nabídce vytvořit klepněte na tlačítko Sestavit řešení.
  7. V nabídce soubor klepněte na příkaz Uložit vše uložit projekt a přidružené soubory.

Projekt otestovat

Nyní, jste vytvořili ukázkové CacheDemo webové služby, spusťte GetCacheEntryTimeWebMethod zobrazit efekty nastavení atributu CacheDuration:
  1. V aplikaci Solution Explorer klepněte pravým tlačítkem myši CacheDemo.asmx a potom klepněte na tlačítko Zobrazit v prohlížeči.

    V prohlížeči otevře soubor asmx a atribut WebMethodGetCacheEntryTime uveden jako odrážce v horní části stránky.
  2. Klepněte na odkaz GetCacheEntryTime.
  3. V poli název pro metodu zadejte Jana a klepněte na tlačítko Spustit atribut WebMethod a vracet výsledek XML Invoke. Všimněte si, která je vrácena zpráva časové razítko.

    Poznámka: Pokud pomoci WebServices stránka nezobrazí, spustit metodu WebService v poli Adresa webu zadáním následující prohlížeče:
    http://localhost/wscachesample/cachedemo.asmx/GetCacheEntryTime?Name=Joe
    					
  4. Znovu spustit WebMethod zadáním Jana. Poznámka: Pokud spustíte atribut WebMethod 60 sekundu určený atributem CacheDuration časové období, zobrazí se stejné časové razítko.
  5. Opakujte krok 4, ale zadejte v poli název pro parametr atribut WebMethodAmy namísto Jana.

    Všimněte si, že je jiný výsledek časové razítko. K tomu dochází, protože výchozí výstupní mezipaměti výsledek je na základě parametrů atribut WebMethod. V tomto příkladu je hodnota parametru pro první dvě testy Jana a je vrácena výstupní mezipaměti pro druhý test. Při použití Amy v třetí test obdržíte nový výsledek. Opakujte test 60 sekund obdržíte výsledek výstupní mezipaměti. Parametr atribut WebMethod souvisí rozdíl ve výstupu do mezipaměti verze.

Odstraňování potíží

Při rozhodování, zda chcete implementovat ukládání výstupu do mezipaměti pro webové služby, nezapomeňte prostředky mohou být ovlivněny negativně, pokud parametry atribut WebMethod spojených s požadavky se velmi liší nebo pokud odpovědi obsahují velké množství dat serveru.

Odkazy

Další informace o vlastnost WebMethodAttribute.CacheDuration a WebMethodAttribute třídy naleznete v následujícím tématu třídy .NET Framework dokumentaci knihovny:
Vlastnost WebMethodAttribute.CacheDuration
http://msdn2.microsoft.com/en-us/library/system.web.services.webmethodattribute.cacheduration(vs.71).aspx
Další informace o webových službách na webech MSDN:
Pokyny pro XML webovými službami vytvořenými pomocí ASP.NET návrhu
http://msdn2.microsoft.com/en-us/library/w8excbb0(vs.71).aspx

Atribut WebMethod pomocí
http://msdn2.microsoft.com/en-us/library/byxd99hx(vs.71).aspx
Další ukázky, dokumentaci a odkazy, které souvisejí s programování s .NET Framework naleznete na následujícím webu CodePlex:
http://www.codeplex.com

Vlastnosti

ID článku: 318299 - Poslední aktualizace: 28. srpna 2007 - Revize: 6.5
Informace v tomto článku jsou určeny pro produkt:
  • 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
Klíčová slova: 
kbmt kbcaching kbhowtomaster KB318299 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:318299

Dejte nám zpětnou vazbu

 

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