Jakub Binkowski Visual C# MVP webEFS sp.j.. GET i POST.

Slides:



Advertisements
Podobne prezentacje
Systemy uwierzytelniania w serwisach internetowych
Advertisements

20041 Projektowanie dynamicznych witryn internetowych Paweł Górczyński ASP 3.0.
C++ wykład 2 ( ) Klasy i obiekty.
Programowanie obiektowe
Wprowadzenie do języka skryptowego PHP
Systemy rozproszone W. Bartkiewicz
SQL Server Native XML Web Services
WEB SERVICE Stefan Rutkowski.
ASP.NET 2.0 AJAX Extensions 1.0
.NET - możliwości Jarosław Balcer & Jan Góralski.
RMI I RMI-IIOP Wprowadzenie Co to jest RMI?
Tworzenie ASP.NET Web Form
Arkadiusz Twardoń ZTiPSK
AJAX Marek Hołówko Maciej Wojciechowski.
BIRT.
Programowanie w środowiskach zintegrowanych wykład 1 PSZ Programowanie w Środowiskach Zintegrowanych > Systemy i środowiska zintegrowane > Środowisko zintegrowane.
Wykład 2. Wprowadzenie do architektur systemów rozproszonych
Biznes elektroniczny W. Bartkiewicz
C++ wykład 2 ( ) Klasy i obiekty.
.NET Remoting Łukasz Zawadzki.

Paweł Fałat Katedra Informatyki Stosowanej
Projektowanie warstwy serwera DisplayTag. Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu.
C# Windows Forms Zastosowania Informatyki Wykład 3
Podstawy C# Grupa .NET PO.
Platformy Technologiczne web services
Aplikacje Internetowe
Integracja aplikacji Wykład 2
Programowanie urządzeń mobilnych – wykład IV
Node.js – Serverside Javascript
Wstęp do JavaScriptu Marek Magiera Październik 2003r.
W praktyce Prelegent: Michał Cywiński
TECHNOLOGIE INTERNETOWE
Arkadiusz Twardoń ZTiPSK
INTERNETOWE USŁUGI INFORMACYJNE
Autor: Kamil Szafranek
Programowanie obiektowe – zastosowanie języka Java SE
Tworzenie Aplikacji Internetowych dr Wojciech M. Gańcza 8.
Programowanie w językach skryptowych
Specjalizacja "Dziennikarstwo On-line„ asynchroniczny JavaScript i XML – AJAX Część 6 Prowadzący: Dariusz Jaruga
Przekazywanie parametrów do funkcji oraz zmienne globalne i lokalne
Projektowanie stron WWW
Aplikacje internetowe
Wykład 3 Programowanie obiektowe. Dokument HTML składa się z obiektów (standardowych i utworzonych przez użytkownika). Głównym obiektem jest document,
J A V A S C R I P T Obiekty Opracowała: Anna Śmigielska.
Projektowanie Aplikacji Internetowych Artur Niewiarowski Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska.
Responsywne aplikacje w Windows 8 i.NET 4.5 Jakub Binkowski.
Temat 3: Okno dialogowe.
DOM Ewa Dukała Piotr Muszyński. DOM DocumentBuilder Factory Document Builder XML Data object obiectobject DocumentDOM.
Technologie internetowe Wykład 7 Kontrola danych użytkownika.
Projektowanie Aplikacji Internetowych Artur Niewiarowski Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska.
Technologie internetowe Wykład 5 Wprowadzenie do skrytpów serwerowych.
Andrzej Majkowski 1 informatyka +. 2 Bezpieczeństwo protokołu HTTP Paweł Perekietka.
Technologie internetowe i mobilne
Obiekty DOM.
JQuery.
Iga Lewandowska I EMII MU
XML w serwisach webowych. Zapotrzebowanie na serwisy XML.
Partnerstwo dla Przyszłości 1 Lekcja 27 Klasy i obiekty.
Wykład 2 Programowanie obiektowe. Programowanie obiektowe wymaga dobrego zrozumienia działania funkcji definiowanych przez użytkownika, w ten sposób będziemy.
Partnerstwo dla Przyszłości 1 Lekcja 28 Dziedziczenie i rodzaje dziedziczenia.
ASP.NET Dostęp do bazy danych z poziomu kodu Elżbieta Mrówka-Matejewska.
Aplikacje Baz Danych ASP.NET
Zarządzanie stanem w aplikacjach ASP.NET Elżbieta Mrówka-Matejewska
 Podstawowy składnik.NET Framework  Technologia tworzenia w pełni dynamicznych stron internetowych działających po stronie serwera  Zorientowanie na.
AJAX w PHP.
SQL Server Analysis Services Action!
Programowanie obiektowe – zastosowanie języka Java SE
Aplikacje i usługi internetowe
Aplikacje i usługi internetowe
Zapis prezentacji:

Jakub Binkowski Visual C# MVP webEFS sp.j.

GET i POST

Jak przekazać do JavaScriptu listę filmów? Jak zwrócić do serwera posortowaną listę?

KLIENTSERWER GET /Default.aspx POST /Default.aspx

1. Klient prosi o stronę. 2. Serwer generuje stronę. Dane serializuje do formatu JSON i umieszcza w ukrytym polu formularza. 3. Klient otrzymuje stronę. 4. Skrypt po załadowaniu strony deserializuje dane do postaci obiektowej.

Tekst: "Ala ma kota" Tablica: [1,2,3,4] Obiekt złożony: {fullname: "Jan Kowalski", age: 15, pets: [ {species: "dog", name: "Klops"}, {species: "goldfish", name: "Ryba"} ]}

1. Klient przed wysłaniem formularza serializuje dane do formatu JSON. Umieszcza je w ukrytym polu. 2. Formularz wysyłany jest na serwer. 3. Serwer deserializuje dane z formatu JSON do postaci obiektowej.

Po stronie serwera (ASP.NET): JavaScriptSerializer (Sys.Serialization) Po stronie klienta (JavaScript): JavaScriptSerializer (System.Web.Script.Serialization)

Dane początkowe

Jak przekazać kontrolce Silverlight listę filmów do odtworzenia?

1. Serwer serializuje dane do formatu JSON i umieszcza w ukryty polu formularza. 2. Kontrolka Silverlight otrzymuje w parametrach nazwę pola z danymi. 3. Silverlight odczytuje dane i je deserializuje do postaci obiektowej.

Umieszczane wewnątrz tagu : Odczyt w Silverlight w App.xaml: private void Application_Startup( object sender, StartupEventArgs e) { var url = e.InitParams["url"]; }

Klasa DataContractJsonSerializer (namespace: System.Runtime.Serialization.Json assembly: System.ServiceModel.Web) Dostęp do elementu HTML: HtmlPage.Document.GetElementById("elementID")

AJAX Web Services

Jak dodać komentarz, nie przerywając oglądania filmu?

KLIENTSERWER GET /Default.aspx POST /Default.aspx AJAX: /Service.svc …

Działanie: 1. Z poziomu JavaScript wywołujemy metodę WebServiceu 2. Otrzymujemy dane 3. Wyświetlamy dane na stronie Posługujemy się obiektami (przesyłane jako XML lub JSON) Z kodu JavaScript sprowadza się do wywołania zwykłej metody

[WebService(Namespace = " [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [ScriptService] public class CatalogService : System.Web.Services.WebService { [WebMethod] public IList FindProducts(string filter) { //logika... }

Demo.CatalogService.FindProducts( 'blue', FindProducts_success, FindProducts_error); function FindProducts_success(results) { //pokaż produkty } function FindProducts_error(error) { //poinformuj o błędzie }

Metoda WebServiceu zawarta w stronie: [WebMethod] public static string[] GetComments() { return DataRepository.GetComments(); } Konfiguracja ScriptManagera: EnablePageMethods="true" Odwołanie z JavaScript: PageMethods.GetComments( GetComments_Success, GetComments_Error)

Sterowanie aplikacji Silverlight z poziomu JavaScriptu

Jak z poziomu JavaScript sterować odtwarzaczem?

Silverlight może udostępnić następujące elementy klasy: właściwości metody Zdarzenia Udostępnianie obiektu: HtmlPage.RegisterScriptableObject( "mediaPlayer", this);

Właściwość: [ScriptableMember] public double Volume { get; set;} Dostęp z JavaScript: var volume = get('silverlightControlHost').Content.mediaPlayer.Volume; get('silverlightControlHost').Content.mediaPlayer.Volume = volume + 0.1;

Właściwość: [ScriptableMember] public void Play(string url) {...} Dostęp z JavaScript: get('silverlightControlHost').Content.mediaPlayer.Play("vid.wmv");

Zdarzenie: [ScriptableMember] public event EventHandler MediaChanged; (tylko EventHandler i EventHandler ) Podłączanie się: $get('silverlightControlHost').Content.mediaPlayer.MediaChanged = playerMediaChanged; $get('silverlightControlHost').Content.mediaPlayer.addEventListener('MediaChanged', playerMediaChanged);

Web Services

Chcę móc śledzić ilość odtworzeń filmów…

Po stronie serwera – usługa WCF Po stronie klienta – proxy do usługi Tylko wywołania asynchroniczne

Tylko basicHttpBinding Odwołania tylko do domeny, z której pobraliśmy aplikację Chyba że…

Odwoływanie się do JavaScriptu z poziomu Silverlight

Dostajemy aktualną ilość odtworzeń, ale jak ją wyświetlić na stronie?

HtmlPage.BrowserInformation Informacje o przeglądarce HtmlPage.Document Dostęp do dokumenty HTML (DOM) HtmlPage.Window Dostęp do okienka przeglądarki HtmlPage.Plugin Element, w którym osadzona jest kontrolka Silverlight.

GetProperty SetProperty Invoke InvokeSelf ConvertTo

GetElementById QueryString Submit …

Alert, Confirm, Prompt Navigate …

Powiadomienia on-line z serwera

KLIENTSERWER Czy ktoś coś napisał? Nie Czy ktoś coś napisał? Nie Czy ktoś coś napisał? JK: Nigdy nas nie przekonają, że białe jest białe, a czarne jest czarne!

KLIENTSERWER Informuj mnie o nowych wiadomościach Bill: 640K ought to be enough for anybody Steve: Developers! Developers!… Close

Przekazywanie stanu przy GET i POST Odwołania asynchroniczne Współpraca po stronie klienta JavaScript Silverlight