Murano Software Inc .

12
Murano Software Inc. AJAX & ASP.NET Коренков Максим

description

Murano Software Inc. AJAX & ASP.NET Коренков Максим. Classic Web application. AJAX approach. AJAX approach benefits. Более быстрый отклик на действия Загрузка по требованию Уменьшается загрузка канала. AJAX & ASP.NET. Объект XmlHttpRequest ICallbackEventHandler ASP.NET AJAX. - PowerPoint PPT Presentation

Transcript of Murano Software Inc .

Page 1: Murano Software Inc .

Murano Software Inc.

AJAX & ASP.NET

Коренков Максим

Page 2: Murano Software Inc .

Classic Web application

Page 3: Murano Software Inc .

AJAX approach

Page 4: Murano Software Inc .

AJAX approach benefits

Более быстрый отклик на действия Загрузка по требованию Уменьшается загрузка канала

Page 5: Murano Software Inc .

AJAX & ASP.NET

Объект XmlHttpRequest ICallbackEventHandler ASP.NET AJAX

Page 6: Murano Software Inc .

From scratch. XmlHttpRequest IE 5.0 ActiveX “Microsoft.XmlHttp” Other browsers native implementation Частично формализован в “The DOM Level

3 Load and Save Specification”

Page 7: Murano Software Inc .

From scratch. XmlHttpRequestfunction createXMLHttpRequest() {

var xmlHttp;if (window.ActiveXObject) {

xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } else if (window.XMLHttpRequest) {

xmlHttp = new XMLHttpRequest(); }else{

xmlHttp = null;}return xmlHttp;

}

Page 8: Murano Software Inc .

From scratch. XmlHttpRequestfunction makeRequest() {

createXMLHttpRequest(); xmlHttp.onreadystatechange = onAsyncResponse; xmlHttp.open("GET", “HandlePage.aspx", true); xmlHttp.send(null);

} function onAsyncResponse() {

if(xmlHttp.readyState == 4 && xmlHttp.status == 200) //complete && OK{

alert("Response: " + xmlHttp.responseText); }

}

Page 9: Murano Software Inc .

XmlHttpRequest problems

Кэширование GET-запроса (напр., IE)

req.open( "GET", “mypage.aspx?rand=" + Math.random()); C# Response

Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches);

Response.Cache.SetCacheability(HttpCacheability.NoCache);

Response.Cache.SetNoStore();

Response.Cache.SetNoServerCaching();

Response.Cache.SetExpires(DateTime.Now);

Page 10: Murano Software Inc .

ICallbackEventHandler

Обычная последовательность Page events Возврат данных до Render

Page 11: Murano Software Inc .

ICallbackEventHandler

public interface ICallbackEventHandler

{

string GetCallbackResult();

void RaiseCallbackEvent(string eArg);

}

Page 12: Murano Software Inc .

ICallbackEventHandler problems IE only