В настоящее время вы работаете в автономном режиме; ожидается повторное подключение к Интернету

Работа с веб-ресурсами в ASP.NET 2.0

ВНИМАНИЕ! Данная статья переведена с использованием программного обеспечения Майкрософт для машинного перевода и, возможно, отредактирована посредством технологии Community Translation Framework (CTF). Корпорация Майкрософт предлагает вам статьи, обработанные средствами машинного перевода, отредактированные членами сообщества Майкрософт и переведенные профессиональными переводчиками, чтобы вы могли ознакомиться со всеми статьями нашей базы знаний на нескольких языках. Статьи, переведенные с использованием средств машинного перевода и отредактированные сообществом, могут содержать смысловое, синтаксические и (или) грамматические ошибки. Корпорация Майкрософт не несет ответственности за любые неточности, ошибки или ущерб, вызванные неправильным переводом контента или его использованием нашими клиентами. Подробнее об CTF можно узнать по адресу http://support.microsoft.com/gp/machine-translation-corrections/ru.

Эта статья на английском языке: 910442
Заявление об отказе относительно содержимого статьи о продуктах, поддержка которых прекращена
Эта статья содержит сведения о продуктах, поддержка которых корпорацией Майкрософт прекращена. Поэтому она предлагается как есть и обновляться не будет.
Поддержка ASP.NET

Работа с веб-ресурсами в ASP.NET 2.0

Чтобы настроить этот столбец в соответствии с потребностями, мы хотим пригласить вас отправил идей тем, интересующих вас и проблемы, которые вы хотите увидеть направлено в будущих статьях базы знаний и поддержка голосовой связи столбцов. Вы можете отправить свои идеи и с помощью обратной связи Попросите его форма. Также есть ссылка на форму в нижней части этого столбца.

Введение

Привет! Меня зовут Praveen Yerneni и я технический руководитель работает с группой поддержки ASP.NET корпорации Майкрософт. В этом месяце я собираюсь обсудить веб-ресурсов и их реализации в приложении.

Если вы являетесь разработчиком, который активно работает с элементами управления COM, полезные в этой статье в адресации некоторые основные проблемы, которые могут возникнуть при разработке элементов управления. Ранее в Microsoft ASP.NET 1.1, если требуется развернуть статические файлы, такие как HTML-файлы, файлы .css, файлы изображений и файлов сценариев с помощью элемента управления COM, приходилось Создание установщика и объединить эти файлы, а также управления COM. Несмотря на то, что это работало, оно представлено множество проблем при развертывании элемента управления. Например вы могли проблемы конфликтов версий, убедившись, что изображения были развернуты в той же папке или с повреждением или удалением статические файлы, которые могут привести к сбою элемента управления.

Веб-ресурсы в Microsoft ASP.NET 2.0 решает эти проблемы, предоставляя разработчику встраивать эти ресурсы в сборку в качестве ресурсов. Для доступа к этим статических ресурсов, можно просто вызвать метод в коде элемента управления.

Как работают веб-ресурсы

Веб-ресурсы используют специальный обработчик с именем WebResource.axd, который разработан для извлечения ресурсов сборки и обслуживать их в веб-обозреватель. Тип обработчика для WebResource.axd — Этот.

При поступлении запроса от клиента для WebResource.axd, обработчик ищет идентификатор веб-ресурса в методе QueryString объекта запроса . На основании значения идентификатора веб-ресурса, обработчик пытается загрузить сборку, содержащую данный ресурс. При успешном выполнении этой операции обработчик затем найдите атрибут сборки и загрузить поток ресурсов из сборки. Наконец обработчик взять данные из потока ресурсов и отправить его клиенту, а также тип содержимого, указанный в атрибуте сборки.

URL-адрес WebResource.axd выглядит следующим образом:
WebResource.axd?d=SbXSD3uTnhYsK4gMD8fL84_mHPC5jJ7lfdnr1_WtsftZiUOZ6IXYG8QCXW86UizF0&t=632768953157700078
Формат этот URL-адрес: WebResource.axd?d=зашифрованный идентификатор& t =значение штампа времени. «d» обозначает запрашиваемый веб-ресурс. «t» используется отметка времени для запрашиваемой сборки, что может помочь в определении, если были внесены изменения в ресурс.

Углубляясь в код

В моем примере я разработали элемента управления COM, который используется ASP.NET веб-приложения, чтобы продемонстрировать эту новую функцию.

Элемент управления COM для веб-ресурса

Для создания и внедрения веб-ресурса, разработали элемента управления COM (SimpleControl). Он имеет следующие встроенные ресурсы:
  • Два изображения в файлах с именем smallFail.gif andsmallSuccess.gif. Эти файлы изображений, используемых для эффекты ролловера при thecontrol и потребляются кода элемента управления.
  • HTML-файл с именем Help.htm. Этот файл не notcontain много текста и предназначены только для демонстрации.
  • Один файл JavaScript с именем MyScript.js. Это filecontains код JavaScript, демонстрирующего замены featureto получить ссылку на другой внедренный ресурс в sameassembly.
  • Один CSS-файл с именем MyStyleSheet.css. Эта таблица стилей затем потребляется непосредственно из ASP.NET веб-приложения.
В этой статье я рассмотрю детали, необходимые для веб-ресурсов.
Внедрение веб-ресурсы
Во-первых необходимо убедиться в том, что все статические файлы, добавляемые в проект библиотеки веб-элементов управления в Microsoft Visual Studio 2005, внедренные ресурсы. Чтобы внедрить эти ресурсы, все, что нужно сделать — добавить эти файлы в Visual Studio и затем изменять свойства этих файлов, чтобы действие при построении имеет значение Внедренный ресурс.

После этого, также необходимо убедиться в том, ссылается, эти ресурсы атрибут сборки WebResource в файле AssemblyInfo.cs, как показано ниже.
[assembly: WebResource("SimpleControl.Help.htm", "text/html")][assembly: WebResource("SimpleControl.MyStyleSheet.css", "text/css")][assembly: WebResource("SimpleControl.smallFail.gif", "image/gif")][assembly: WebResource("SimpleControl.smallSuccess.gif", "image/gif")][assembly: WebResource("SimpleControl.MyScript.js", "text/javascript", PerformSubstitution = true)]
Атрибут сборки WebResource имеет три параметра следующим образом:
  • Веб-ресурс: имя ресурса, внедренного в сборку
  • ContentType: тип MIME файла ресурса
  • PerformSubstitution: логическое значение, которое определяет ли этого ресурса ссылка на другие URLsthat ресурсов веб анализируются и заменяются полный pathof ресурс
Получение веб-ресурсы
Для получения веб-ресурса, использовали метод GetWebResourceUrl , который является методом класса ClientScriptManager , который обычно используется для управления клиентских сценариев. Этот метод возвращает ссылку URL-адреса серверных ресурсов, внедренных в сборку. Метод GetWebResourceUrl принимает следующие два параметра:
  • Тип: тип серверных ресурсов
  • Имя ресурса: имя серверного ресурса
Чтобы использовать этот метод, сначала необходимо создать экземпляр класса ClientScriptManager и получить тип класса, как показано ниже.
ClientScriptManager cs = Page.ClientScript;            Type rsType = this.GetType();
Если экземпляр этого класса, необходимо вызвать этот метод и передать соответствующие параметры, как показано ниже, где создать кнопку гиперссылку и выбрать метод NavigateURL для внедренного ресурса HTML.
HyperLink hlHelpFile = new HyperLink();            hlHelpFile.NavigateUrl = cs.GetWebResourceUrl(rsType, "SimpleControl.Help.htm");            hlHelpFile.Attributes.Add("onmouseover", "ChangeImage('image1','Red')");            hlHelpFile.Attributes.Add("onmouseout", "RollbackImage('image1','Green')");                        this.Controls.Add(hlHelpFile);            Image imgTest = new Image();            imgTest.ImageUrl = cs.GetWebResourceUrl(rsType, "SimpleControl.smallFail.gif");            imgTest.ID = "image1";            hlHelpFile.Controls.Add(imgTest);
Также в примере выше того же кода, я создал кнопки с изображением и атрибута ImageUrl является получение значения из другого ресурса .gif внедренного изображения.
Функция подстановки
Еще одна полезная функция, с помощью веб-ресурсов является свойство PerformSubstitution атрибута WebResource , как показано в приведенном выше разделе «Внедрение веб-ресурсы». Эта функция позволяет получить веб-ресурсы внутри другой внедренный ресурс. Если это свойство включено, обработчик WebResource разбор внедренного ресурса и заменить синтаксис атрибута сборки WebResource фактические ресурсы перед обработкой страницы.

В приведенном выше коде можно заметить наличие клиентского события с именем ChangeImageэлемента управления HyperLink . Эта функция ChangeImage находится в файле сценария. Ниже приведен код для этого сценария.
function ChangeImage(imgControl,varcolor){   document.getElementById(imgControl).src = '<%= WebResource("SimpleControl.smallSuccess.gif")%>';    document.getElementById('Label1').style.color = varcolor;}function RollbackImage(imgControl, varcolor){   document.getElementById(imgControl).src = '<%= WebResource("SimpleControl.smallFail.gif")%>';   document.getElementById('Label1').style.color = varcolor;}
Файл сценария с именем MyScript.js также является внедренного ресурса в одном элементе управления COM. И обратите внимание на то, что я использую метод WebResource для ссылки на другой внедренный ресурс в файле сценария.

Кроме того чтобы убедиться в том, что зарегистрирован этот файл JavaScript на странице, я использую метод RegisterClientScriptInclude класса ClientScriptManager как показано ниже.
cs.RegisterClientScriptInclude("MyScript", cs.GetWebResourceUrl(rsType, "SimpleControl.MyScript.js"));

Использование элемента управления в ASP.NET

После создания элемента управления COM успешно, необходимо использовать этот элемент управления в клиентском проекте ASP.NET. Чтобы сделать это, достаточно добавить элемент управления в панель элементов в ASP.NET. Затем элемент управления можно добавить любую веб-форму в конструкторе.

При добавлении элемента управления в панели элементов элемент управления зарегистрирован для вас и будет добавлен следующий код при взгляде на HTML-синтаксис.
<cc1:MSButton ID="MSButton1" runat="server" strText="Problems?"></cc1:MSButton>
В моем элементе управления COM я также встроенный файл таблицы стилей, которая будет использоваться в приложении ASP.NET. Чтобы получить доступ к этой таблице стилей, необходимо добавить ссылку HtmlControl на HTML-странице, установите для свойства runatсервер , как показано ниже.
<link rel="Stylesheet"  id="lnkStyle" runat="server"  />
После этого можно программно установить атрибут Href данного элемента управления, чтобы указать атрибут сборки WebResource в событии Page_Load , как показано ниже.
protected void Page_Load(object sender, EventArgs e)    {        //Get the name of the Web Resource.        String rsname = "SimpleControl.MyStyleSheet.css";                //Get the type of the class.        Type rstype = typeof(SimpleControl.MSButton);        // Get a ClientScriptManager reference from the Page class.        ClientScriptManager cs = Page.ClientScript;        lnkStyle.Href = cs.GetWebResourceUrl(rstype, rsname);     }
При выполнении кода вы увидите элемент управления, который выглядит следующим образом:
 небольшой сбой
И при наведении мыши, элемент управления будет выглядеть следующим образом:
 небольшой успех
Если щелкнуть эту ссылку, она переведет пользователя на страницу справки, который внедрен в файле сборки элемента управления COM.

Заключение

Веб-ресурсы — это полезно новая функция в ASP.NET 2.0. Эту функцию можно использовать преимущества при использовании нужен серьезный подход. Многие методы кэширования использовались, чтобы убедиться в том, что веб-ресурсов не влияет на производительность приложения.

В ASP.NET 2.0 WebResource.axd используется внутри Microsoft платформа.NET Framework для извлечения внедренных ресурсов. Например платформа.NET Framework использует WebResource.axd извлекаемого файла сценария WebUIValidation.js, используемый для элементов управления проверки и извлечения файла сценария Menu.js для управления меню .

Ссылки

Для получения дополнительных сведений посетите следующие веб-узлы корпорации Майкрософт:
Всегда, не стесняйтесь идеи по темам, нужно отправить в будущем решает столбцов или с помощью базы знаний Попросите его форма.

Внимание! Эта статья переведена автоматически

Свойства

Номер статьи: 910442 — последний просмотр: 03/30/2015 00:31:00 — редакция: 7.0

Microsoft ASP.NET 2.0

  • kbhowto kbasp kbmt KB910442 KbMtru
Отзывы и предложения