Как выполнить выходного кэширования с помощью веб-служб в Visual C#.NET

Переводы статьи Переводы статьи
Код статьи: 318299 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Аннотация

Примечание Ниже.Библиотека классов NET Framework пространства имен имеются ссылки в этой статье:
  • System.Web.Services
  • System.Text
В данной статье описывается создание образца ASP.NET Веб-службы, которая использует кэширование выходных данных. Кэширование выходных данных кэширует ответ вывода на основе результатов веб-службы Длительность атрибут, указанный для соответствующего WebMethod.

Примечание В ASP.NET 2.0, метод HTTP тестовой страницы в отличается от GET POST. Однако записи не кэшируются обычно. Если изменить тестовой страницы в веб-приложения ASP.NET 2.0 службы приложения на использование GET, кэширование будет работать правильно. Кроме того HTTP указывает, что агент пользователя (обозреватель или вызывающего приложения) должны иметь возможность переопределять кэширование сервера путем установки заголовок Cache-Control для "no-cache. Таким образом ASP.NET приложения игнорировать кэшированные результаты, когда они найти заголовок «no-cache».

Требования

В следующем списке представлены рекомендуемого оборудования, программного обеспечения, сетевой инфраструктуры и пакетов обновления, которые необходимы:
  • Microsoft Windows 2000 для Microsoft Windows 2000 Professional Сервер Microsoft Windows 2000 Advanced Server или Microsoft Windows XP
  • Корпорация Майкрософт.NET Framework
  • Информационные службы Интернета (IIS)

Создайте новую страницу ASP.NET веб-службы приложения

Создайте новую страницу ASP.NET веб-службы приложения с именем WSCacheSample:
  1. Запустите Visual Studio.NET.
  2. На Файл Выберите пункт Новый, а затем нажмите кнопку Проект Чтобы запустить мастер создания проекта.
  3. В группе Типы проектов, выберите Visual C#. В группе Шаблон, выберите ASP.NET веб-службы.
  4. В Расположение нажмите Заменить «webservice #» в путь URL-адреса с именем вашего проект, WSCacheSample. При использовании локального сервера, оставьте имя сервера как http://localhost, таким образом, Расположение поле будет выглядеть следующим образом:
    http://localhost/WSCacheSample

Создание образца веб-службы

  1. В обозревателе решений щелкните правой кнопкой мыши узел проекта, выберите пункт Кому Добавить, а затем нажмите кнопку Добавление веб-службы.
  2. Введите имя CacheDemo.asmx, и выберите команду Открыть. Открывает веб-службу в режиме конструктора.
  3. Щелкните правой кнопкой мыши веб-службы и нажмите кнопку Просмотр кода.
  4. Добавьте следующий код в файл класса CacheDemo.asmx.cs. Для добавления WebMethod атрибут с именем GetCacheEntryTime с помощью CacheDuration 60 секунд.
    [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.Text пространство имен. Пространство имен со списком веб-службы выглядит следующим образом:
    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 Developer Network (MSDN) веб-узел:
    Класс StringBuilder
    http://msdn2.Microsoft.com/en-us/library/System.Text.StringBuilder (vs.71) .aspx
  6. В Visual Studio.NET IDE, нажмите кнопку Построение решения В меню Построение меню.
  7. На Файл меню, нажмите кнопку Сохранить все Чтобы сохранить проект и связанные файлы.

Тестирование проекта

Теперь, после создания образца CacheDemo Веб-службы, запуск GetCacheEntryTimeWebMethod Чтобы увидеть влияние CacheDuration Настройка атрибута:
  1. В обозревателе решений щелкните правой кнопкой мыши CacheDemo.asmx, а затем нажмите кнопку Просмотр в браузере.

    ASMX-файл открывается в обозревателе и GetCacheEntryTimeWebMethod атрибут указан как элементе маркированного списка в верхней части страницы.
  2. Нажмите кнопку GetCacheEntryTime связь.
  3. В Имя поле для метода типа Сергей а затем Нажмите кнопку Вызвать для запуска WebMethod атрибут и возвращать результат XML. Обратите внимание, что штампа времени возвращается в сообщении.

    ПРИМЕЧАНИЕ: Если WebServices страница не отображается, можно запустить Веб-службы метод, введите в поле адрес в Интернете обозреватель:
    http://localhost/wscachesample/cachedemo.asmx/GetCacheEntryTime?Name=Joe
    					
  4. Запустить WebMethod еще раз, введя Сергей. ПРИМЕЧАНИЕ: При запуске WebMethod атрибут в 60 второй период времени, указанный в параметре CacheDuration атрибут, появляется же штамп времени.
  5. Повторите шаг 4, но тип Эми Вместо этого от Joe в Имя поле для WebMethod атрибут параметра.

    Обратите внимание, что приведет к штампа времени отличается. Это происходит потому, что на основе кэширования результата вывода по умолчанию параметры WebMethod атрибут. В этом примере Сергей значение параметра для первых двух тестов и кэширования выходные данные возвращаются для второй проверки. При использовании Эми в третьем теста появляется новый результат. Если повторить тестирование в 60 секунд, будет получен результат кэшированных выходных данных. Разница в версия кэширования выходных данных относится к параметру WebMethod атрибут.

Устранение неполадок

Когда следует ли реализовывать кэширование выходных данных Веб-службы, помните этого сервера, ресурсы могут повлиять отрицательно очередь WebMethod изменять параметры атрибутов, которые связаны с запросами широко или если ответы включают большие объемы данных.

Ссылки

Для получения дополнительных сведений о WebMethodAttribute.CacheDuration свойства и WebMethodAttribute класс, обратитесь к следующему разделу.NET Framework класс Документация библиотеки:
Свойство WebMethodAttribute.CacheDuration
http://msdn2.Microsoft.com/en-us/library/System.Web.Services.WebMethodAttribute.CacheDuration (vs.71) .aspx
Дополнительные сведения о веб-служб следующие веб-узлу MSDN:
Руководство по разработке веб-служб XML создана с помощью ASP.NET
http://msdn2.Microsoft.com/en-us/library/w8excbb0 (vs.71) .aspx

С помощью атрибута WebMethod
http://msdn2.Microsoft.com/en-us/library/byxd99hx (vs.71) .aspx
Дополнительные примеры, документация и ссылки, которые имеют отношение к программированию.NET Framework, посетите следующий сайт CodePlex:
http://www.CodePlex.com

Свойства

Код статьи: 318299 - Последний отзыв: 7 июня 2011 г. - 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
Ключевые слова: 
kbcaching kbhowtomaster kbmt KB318299 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке: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