1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление

Расширение функциональности Web контроллеров. Часть 2

Тема в разделе ".NET - программирование", создана пользователем NikSoft, 8 янв 2007.

  1. NikSoft

    NikSoft Гость

    Репутация:
    0
    Рассмотрим доступ к ассамблее CheckBoxNik.dll посредством URL. Ресурсы, вложенные в ассемблею, могут быть доступны посредством WebResource.axd HTTP хэндлера (hanler) , доступ к которому может быть осуществлен посредством следующего URL:

    Код:
    http://site/ WebResource.axd?d=assembleyKey&t=date…
    где assembleyKey – закодированная строка с именем ассамблеи, содержащая ресурс;
    date – время последней модификации ассамблеи.
    Хэндлер WebResource.axd возвращает содержимое ресурса. По умолчанию ресурсы, вложенные в ассамблею, не могут быть доступны через WebResource.axd хэндлер. С целью указания того, что ресурс может быть доступен, необходимо добавить следующую строку в файл AssemblyInfo.cs( находящийся в поддиректории Properties проекта CheckBoxNik )

    Код:
    [assembly: WebResource("CheckBoxNik.JavaScript.js", "text/javascript")]
    Первый параметр строки указывает имя ресурса и должен иметь следующую структуру: RootNamespace.PathToFile. Второй параметр указывает MIME тип ресурса. Когда браузер запрашивает внешний ресурс он делает отдельный HTTP запрос к Web серверу. MIME тип указывает браузеру тип возвращаемых данных. В нашем случае "text/javascript". Нам осталось написать код, генерящий соответсвующий URL для вложенного ресурса. Для этого используем метод GetWebResourceUrl(type, webResource)класса ClientScriptManager. В нашем случае мы имеем следующий код:

    Код:
    Page.ClientScript.GetWebResourceUrl(this.GetType(), "CheckBoxNik.JavaScript.js")
    Код,приведенный в функции OnPreRender,добавляет к HTML текст, аналогичный приведенному в нижеследующем фрагменте:

    Код:
    <script src="/Costupdate/WebResource.axd?d=YHGnQVKQhfy87NAy-V-TRA2&t=632970991192343750" type="text/javascript"></script>
    Браузер, при обработке данного кода, делает запрос к WebResource.axd HTTP хэндлеру, который извлекает вложенный ресурс ( в нашем случае Java script ) и шлет его браузеру.
    Я привел пример расширения Web контроллера, используя только Java script. На практике в ассамблею можно вложить такие ресурсы как CSS файлы, графические имиджи, HTML файлы.
     
  2. karlito

    karlito Гость

    Репутация:
    0
    Ничо не понял. Любое решение должно решать некую проблему. Какую проблему ты решал?

    Что такое ассамблея? Есть замечательная книга Hacking Code, которую я прочитал сразу в оригинале, а потом решил перечитать, но уже в печатном издании и на русском. Гневное письмо от расстроенного читателя ушло потом в русскую редакцию, такое ощущение, что учитель географии в деревне её переводил со словариком 45 года, добытого под Берлином. Мораль басни проста. Не надо придумывать своих слов - всё давно придумано.

    Для: NikSoft
    В целом идея понятна. Что-то новое даже для себя узнал. Но был бы моложе ничего не понял бы. Посмотри со стороны на то что написал.
     
  3. NikSoft

    NikSoft Гость

    Репутация:
    0
    Для: karlito
    Посмотри на заголовок:
    Расширение функциональности Web контроллеров. Часть 2
    Это продолжение 1ой части
     
Загрузка...

Поделиться этой страницей