Расширение стандартных механизмов ASP.NET 4.0 Андрей Веселов.

Презентация:



Advertisements
Похожие презентации
Сергей Байдачный специалист по разработке ПО Майкрософт Украина
Advertisements

Test 10 Вопрос 1. public class Test implements Iterator { // 1 private List list = new ArrayList (); // 2 public void addList(T... ts) { Collections.addAll(list,
Test 14 Вопрос 1. class Main { public void method() { static class One { public One() { System.out.println("From one"); } } public static void main(String...
Test 13 Вопрос 1. public class StringTest { public static void main(String[] arg){ test(new String[] { null });} static void test(Object[] o){System.out.print(1);}
Test 17 Вопрос 1. public class TKO { public static void main(String[] args) { String s = "-"; Integer x = 343; long L343 = 343L; if (x.equals(L343)) s.
Java Collections Framework (JCF) in Java Tutorial for students of universities Author: Oxana Dudnik.
Test15 Вопрос 1. class AClass { } public class Test { public static void main (String... args) { ArrayList a = new ArrayList (); AClass aaaClass = new.
Синтаксис языка Java. Символы и синтаксис Перевод строчки эквивалентен пробелу Регистр в именах различается.
АССОЦИАТИВНЫЕ КОЛЛЕКЦИИ Лекция 6 1. Отличие от последовательных 2 В последовательной коллекции каждый элемент ассоциируется с номером, начиная с 0. В.
Абстрактные типы данных 1. Абстрактная дата Date dt1, dt2; dt1 = new Date(1, Date.MARCH, 2006); dt2 = (Date)dt1.clone(); dt2.add(300); //
Test 9 Вопрос 1. public class A { private String runNow() { return "High"; } static class B extends A { public String runNow() { return "Low"; } } public.
Сервлеты Запуск сервлетов Программирование сервлетов Классы javax.servlet.*: Servlet это интерфейс, который определяет методы: init(), service(), destroy(),
Test21 Вопрос 1. public class Test { void a1(Object... i){ System.out.println("[Object... i]"); } void a1(Integer... i){ System.out.println("[Integer...
Практическое программирование на Java к.ф.-м.н. Козлов Дмитрий Дмитриевич Кафедра АСВК, Лаборатория Вычислительных комплексов.
Язык Java. JSP.. Java. Синтаксис. Перевод строчки эквивалентен пробелу Регистр в именах различается // Комментарии до конца строки /* Многострочные комментарии.
1Georgiy KorneevJava Advanced / Новые возможности Java 5 Проблема 1 Метод void dump(Collection c) { for (Iterator i = c.iterator(); i.hasNext(); ) { Object.
Test 4 Вопрос 1. public class TestOutput { public static void main(String[] args) throws IOException { PrintStream out = new PrintStream( new BufferedOutputStream(
Развитие веб-платформы для разработчика: ASP.NET MVC 2.0 и ASP.NET Web Forms 4.0 Гайдар Магдануров t:
Генерация разметки в ASP.NET 4.0 Андрей Веселов. Мета-теги Demo page Новые свойства класса Page: MetaKeywords и MetaDescription. public partial class.
Java на стороне сервера. Сервлеты и JSP Server-side Java: Servlets & JSP.
Транксрипт:

Расширение стандартных механизмов ASP.NET 4.0 Андрей Веселов

Расширение механизмов ASP.NET Собственный провайдер кэширования; Расширение механизма контроля запросов; Определение возможностей браузера; Экранирование вывода данных.

Провайдер кэширования using System.Web.Caching; public class CustomCacheProvider : OutputCacheProvider { public override object Add(string key, object entry, DateTime utcExpiry) { } public override object Get(string key) { } public override void Remove(string key) { } public override void Set(string key, object entry, DateTime utcExpiry) { } } 1. Реализовать абстрактный класс OutputCacheProvider 2. Указать используемый провайдер кэширования в web.config

Контроль запросов using System.Web.Util; public class CustomRequestValidator : RequestValidator { protected override bool IsValidRequestString( HttpContext context, string value, RequestValidationSource requestValidationSource, string collectionKey, out int validationFailureIndex) { … } 1. Реализовать абстрактный класс RequestValidator 2. Указать используемую реализацию в web.config

Определение возможностей браузеров using System.Web. Configuration; public class CustomHttpCapabilitiesProvider : HttpCapabilitiesProvider { protected override HttpBrowserCapabilities GetBrowserCapabilities(HttpRequest request) { … } 1. Реализовать HttpCapabilitiesProvider 2. Указать используемый класс в web.config

Определение возможностей браузеров using System.Web. Configuration; public class CustomHttpCapabilitiesProvider : HttpCapabilitiesDefaultProvider { protected override HttpBrowserCapabilities GetBrowserCapabilities(HttpRequest request) { var browserCaps = base.GetBrowserCapabilities(request); // дополнительная логика определения возможностей браузера return browserCaps; } 1. Реализовать HttpCapabilitiesProvider или наследника HttpCapabilitiesDefaultProvider 2. Указать используемый класс в web.config

Экранирование вывода данных using System.Web.HttpUtil; public class CustomHttpEncoder : HttpEncoder { protected override void HtmlEncode(string value, TextWriter output) { } protected override string UrlPathEncode(string value) { } protected override byte[] UrlEncode(byte[] bytes, int offset, int count) { } protected override void HtmlDecode(string value, TextWriter output) { } protected override void HtmlAttributeEncode(string value, TextWriter output) { } protected override void HeaderNameValueEncode( string headerName, string headerValue, out string encodedHeaderName, out string encodedHeaderValue) { } } 1. Реализовать наследника класса HttpEncoder 2. Указать используемый класс в web.config