Kapitola 5 WCF, webové služby a mezidoménové zásady



Podobné dokumenty
Rozšířená nastavení. Kapitola 4

Nastavení telefonu LG KB770

Outlook manuál. BeeOnline. Rychlý kontakt:

Nastavení telefonu LG GD510 Pop

Praktické úlohy- zaměření specializace

Nastavení telefonu Samsung I9195 Galaxy S4 mini

téma: Formuláře v MS Access

Návod na zřízení datové schránky právnické osoby nezapsané v obchodním rejstříku

V této části manuálu bude popsán postup jak vytvářet a modifikovat stránky v publikačním systému Moris a jak plně využít všech možností systému.

Vyplňte API klíč, který si vygenerujete v Nastavení obchodu v profilu Uloženky v části Nastavit klíč pro API.

Nastavení telefonu Samsung S6500 Galaxy Mini 2

2008 Nokia. Všechna práva vyhrazena. Nokia, Nokia Connecting People a Nseries jsou ochranné známky nebo registrované ochranné známky společnosti

Seznámení žáků s pojmem makra, možnosti využití, praktické vytvoření makra.

1. Požadavky na provoz aplikací IISPP

Testovací aplikace Matematika není věda

Zadávání tiskových zakázek prostřednictvím JDF a Adobe Acrobat Professional

Vytvoření nebo odstranění makra Excel

PŘÍLOHA č. 2C PŘÍRUČKA IS KP14+ PRO OPTP - ZPRÁVA O REALIZACI

Návod na připojení k ové schránce Microsoft Office Outlook 2007

Registr UJO. Příručka pro uživatele. Institut biostatistiky a analýz. Lékařské a Přírodovědecké fakulty Masarykovy univerzity.

Komfortní datová schránka

TIP: Pro vložení konce stránky můžete použít klávesovou zkratku CTRL + Enter.

Vodafone promo kit uživatelský manuál Uživatelský manuál pro aplikaci. Vodafone promo kit. Verze dokumentu: 2.

Zálohování a obnova Uživatelská příručka

Nastavení telefonu T-Mobile MDA Touch

Manuál uživatele čipové karty s certifikátem

Příručka pro zadavatele E-ZAK krok za krokem

Nastavení telefonu PRADA phone by LG 3.0

Bezdrátové připojení (pouze u vybraných modelů) Uživatelská příručka

modul Jízdy a Kniha jízd uživatelská příručka

Informační a komunikační technologie. 1.4 Data, informace, komprimace

Jednoduchý pomocník pro aplikaci Elektronická příloha č. 2 EP2W EP2 Workspace

Stručný návod na práci v modulu podatelna a výpravna

M. Balíková, R. Záhořík, NK ČR 1

Bezdrátové připojení (pouze u vybraných modelů)

Přednáška Tablety a chytré telefony. Ing. Michaela Mudrochová Algoritmus individuálního vzdělávání CZ.1.07/3.1.00/

Manuál Kentico CMSDesk pro KDU-ČSL

Příručka poskytovatele Národního geoportálu INSPIRE

Manuál pro WebRSD. verze 2.0 z

Poukázky v obálkách. MOJESODEXO.CZ - Poukázky v obálkách Uživatelská příručka MOJESODEXO.CZ. Uživatelská příručka. Strana 1 / 1. Verze aplikace: 1.4.

Uložené procedury Úvod ulehčit správu zabezpečení rychleji

Uživatelský manuál pro práci se stránkami OMS a MS provozované portálem Myslivost.cz. Verze 1.0

INTERNETOVÝ TRH S POHLEDÁVKAMI. Uživatelská příručka

Záloha a obnovení Uživatelská příručka

vismo Edituj, co vidíš.

Jednotný vizuální styl: podpis v ové korespondenci.

Prostory jmen. #include<iostream.h> namespace RadimuvProstor { int secti(int a, int b); class Trida { private: int Atribut; public: void metoda();

Příloha č. 2 - Integrace SpiritÚAP do ESB Jihočeského kraje

Obsah. Úvod. Martin Moravec

POSTUP VALIDACE DAT V ZÁKLADNÍCH REGISTRECH

ISZR Referenční agent.net

Pokyny pro vyplnění elektronické žádosti

NSA310. Příručka k rychlé instalaci. Multimediální server s jedním diskem. Výchozí přihlašovací údaje. Webová adresa: nsa310 Heslo: 1234

Návod k používání registračního systému ČSLH

2N NetSpeaker. IP Audio Systém. Manuál 1.4

BRICSCAD V16. Modelování strojírenských sestav

Návod na připojení k ové schránce Microsoft Outlook Express

Pokyny k instalaci FRIATRACE Verze 5.3

Uživatelská dokumentace

Nezaměstnanost v České republice

Struktura třídy, operátory, jednoduché algoritmy, junit. Programování II 2. cvičení Alena Buchalcevová

Co poskytuje Czech POINT

Nástroje produktivity

Návod k obsluze CC&C WA-6212-V2

Příloha č. 54. Specifikace hromadné aktualizace SMS-KLAS

Nástroje pro práci s elektronickými informačními zdroji MU

UŽIVATELSKÁ PŘÍRUČKA PRO WEBOVOU KAMERU HP WEBCAM HD

Operace nad celými tabulkami

Na následující stránce je poskytnuta informace o tom, komu je tento produkt určen. Pro vyplnění nového hlášení se klikněte na tlačítko Zadat nové

Základní příručka pro učitele

GroupWise 6.5 for Linux

EXTRAKT z české technické normy

CLOUDOVÁ ŘEŠENÍ OFFICE 365 PRO JEDNOTLIVCE

TVORBA MULTIMEDIÁLNÍCH PREZENTACÍ. Mgr. Jan Straka

Zabezpečení Uživatelská příručka

29 Evidence smluv. Popis modulu. Záložka Evidence smluv

rozlišení obrazovky 1024 x 768 pixelů operační systém Windows 2000, Windows XP, Windows Vista 1 volný sériový port (volitelný) přístup na internet

Obsah. Obsah. Úvod... 7

Evidence dat v prostředí MS Excelu Kontingenční tabulka a kontingenční graf

Web n walk NÁVOD PRO UŽIVATELE. Manager

Databáze RÚIAN a možnosti jejího využití pro geografickou podporu AČR

MSSF Benefit praktický průvodce pro žadatele v rámci Operačního programu Rozvoj lidských zdrojů

primární tlačítko (obvykle levé). Klepnutí se nejčastěji používá k výběru (označení) položky nebo k otevření nabídky.

4 Část II Základy práce v systému. 6 Část III Úvodní obrazovka. 8 Část IV Práce s přehledy. 13 Část V Kontakty. 19 Část VI Operativa

Jak pracovat s kalkulačním programem HELUZ komín

Výsledky přijímacích zkoušek

funkční na dual-sim telefonech možnost přesměrovat příchozí hovory možnost nastavení více telefonních čísel pro případ, že je jedno nedostupné

Zákaznická linka: Uživatelský manuál mobilní aplikace. Patriot EU

Bezpečné sdílení a správa dokumentů v on-line prostředí

Uživatelské postupy v ISÚI Založení ulice a změna příslušnosti adresního místa k ulici

Podrobný postup pro vygenerování a zaslání Žádosti o podporu a příloh OPR přes Portál farmáře

DATABÁZE DŮLEŽITÉ: Před načtením nové databáze do vaší databáze si prosím přečtěte následující informace, které vám umožní:

PRAVIDLA soutěže COOP DOBRÉ RECEPTY Jarní probuzení

Pravidla. používání Národního elektronického nástroje při realizaci zadávacích postupů prostřednictvím národního elektronického nástroje

Citace PRO. představení citačního manažeru. Moravská zemská knihovna v Brně Martin Krčál martin.krcal@citace.

Miroslav Kunt. Srovnávací přehled terminologie archivních standardů ISAD(G), ISAAR(CPF) a české archivní legislativy

Zálohování a zotavení Uživatelská příručka

Mobilní verze. 109 Jak získat speciální aplikaci pro mobilní telefon. 110 Jak používat Facebook pro dotykové telefony

Transkript:

Kapitola 5 WCF, webové služby a mezidoménové zásady Silverlight 2 přináší obrovské množství nástrojů, s jejichž pomocí lze vytvářet propracovaná uživatelská rozhraní. Může také využívat různé služby v síti nebo v Internetu. Díky schopnosti komunikovat s různými typy webových služeb několika způsoby (například prostřednictvím služeb RESTful, poskytování obsahu informačních kanálů a služeb SOAP) mohou aplikace Silverlightu využívat funkce těchto služeb. Klienti Silverlightu přináší uživatelům silný zážitek a díky schopnosti komunikovat s různými službami je Silverlight skvělou volbou pro interaktivní aplikace a aplikace založené na službách. V této kapitole si ukážeme, jak lze vytvářet webové služby ASMX a WCF (Windows Communication Foundation) a jak s nimi komunikovat z klientských aplikací Silverlightu. Nejdříve vytvoříte službu ASMX založenou na SOAP, kterou využívá aplikace Silverlightu. Seznámíte se s několika aspekty komunikace založené na službách a dozvíte se, jak nastavit asynchronní komunikaci z klientů Silverlightu do služeb ASMX a WCF, jak implementovat obsluhy, využívat výsledky a zpracovávat výjimky. V této kapitole také probereme, jak mohou klienti Silverlightu vytvářet a využívat služby WCF a ukážeme si několik způsobů, jakými lze data předávat do služeb a ze služeb. Na obrázku 5.1 vidíte služby a jak s nimi Silverlight může komunikovat. Všechny služby by se měly chránit proti tomu, aby je využívali klienti, kteří nemají oprávnění. Mezidoménové zásady řeší tuto úroveň ochrany pro služby ASMX a WCF, ale také pro služby, jež se samy nepopisují, včetně služeb založených na REST, RSS a Plain Old XML (POX). Flash i Silverlight nabízejí schéma souborů XML, jež lze navrhnout tak, aby byl povolen nebo zakázán přístup klientů k těmto typům služeb. V této kapitole se dozvíte, jak tyto soubory fungují a naleznete zde několik tipů k jejich vytváření. Webové služby ASMX Interakce s webovými službami ASMX je v současné době běžná. Umíte-li vytvářet a využívat webové služby ASMX, nemělo by být obtížné vytvořit webovou službu ASMX, kterou může

118 Kapitola 5: WCF, webové služby a mezidoménové zásady využívat klientská aplikace Silverlightu. Pokud byste například chtěli využívat webovou službu ASMX z klienta ASP.NET, bylo by nutné přidat odkaz na webovou službu ASMX, vytvořit pro ni proxy a synchronně nebo asynchronně volat službu. Jediný rozdíl spočívá v tom, že klient Silverlightu může volat webovou službu pouze asynchronně. Aplikace Silverlightu Služby WFC Webové služby ASMX Obrázek 5.1 Webové služby a Silverlight Typy služeb, jež lze využívat z klientských aplikací Silverlightu, mají určitá omezení. Například služby WCF musí používat vazbu basichttpbinding a služby podporující vlastní hlavičky SOAP nejsou podporovány. Chcete-li využívat webovou službu ASMX, je nutné ji nejdříve vytvořit (pokud ještě neexistuje). Poté definujete účel služby (vystavované akce nebo metody). Klientská aplikace Silverlightu musí odkazovat na službu. Jakmile bude aplikace Silverlightu obsahovat odkaz na službu, vytvoří proxy pro službu a obsluhy pro asynchronní volání jejích metod. Nakonec může aplikace Silverlightu vyvolat službu a využít její výsledky. Vytvoření webové služby ASMX Vývojáři budou obecně komunikovat buď s existující webovou službou, nebo vytvoří webovou službu pro vlastní účely. V této kapitole si ukážeme několik variací webových služeb a způsoby, jak s nimi lze komunikovat z klientů Silverlightu. Nejdříve se dozvíte, co potřebujete k vytvoření webové služby ASMX a ke komunikaci z klientské aplikace Silverlightu. Zkušební aplikace Silverlightu, kterou vytvoříme, umožní uživateli odesílat e-mailové zprávy. Protože klient Silverlightu nemá přístup ke jmennému prostoru System.Net.Mail, musí komunikovat se serverem, jenž mu umožní odesílat e-mailové zprávy. Klient by jinak mohl vyvolat výchozí poštovní aplikaci a použít ji k odeslání zprávy. Řešení založené na serveru je však často výhodnější, protože umožňuje mnohem více úprav. V aplikaci Silverlightu na obrázku 5.2 může uživatel jednoduše zadat informace pro e-mailovou zprávu a klikne na tlačítko Send via ASMX, aplikace Silverlightu vytvoří proxy pro webovou službu ASMX, přidá obsluhu události pro zpracování vráceného volání webové služby ASMX

Silverlight datové služby 119 a asynchronně vyvolá webovou službu. Webové službě jsou předány informace z klientské aplikace Silverlightu, jež pak služba použije k odeslání e-mailu příjemci (příjemcům). Obrázek 5.2 Poštovní klient Silverlightu Obrázek 5.3 Řešení EmailServiceSample Začněme příkladem Řešení příkladu se nachází ve složce s kódem pro kapitolu 5. Řešení má název EmailServiceSam- ple a obsahuje pět projektů, jejichž názvy vidíte na obrázku 5.3. Projekt SilverlightEmailCli- ent je projekt Silverlightu s klientem, který je znázorněn na obrázku 5.2. Projekt Silverlight- EmailClientWeb je webová aplikace, jež hostí aplikaci Silverlightu; použijete ji k otestování klienta Silverlightu.

120 Kapitola 5: WCF, webové služby a mezidoménové zásady Projekt ASMXEmailService obsahuje webovou službu ASMX, jež bude volána z projektu Sil- verlightemailclient. Projekt EmailLibrary obsahuje jednoduchou třídu.net s názvem Mail, kterou zkušební kód používá k odeslání e-mailové zprávy prostřednictvím třídy MailMessage jmenného prostoru System.Net.Mail. Posledním projektem je WCFEmailService. Tento projekt obsahuje webovou službu WCF, jež nabízí stejnou funkčnost jako webová služba ASMXEmailService, ale místo ASMX využívá WCF. Projekt WCFEmailService si popíšeme dále v této kapitole. Vytváření webové služby ASMX Projekt ASMXEmailService je projekt webové aplikace ASP.NET, jenž pro služby ASMX využívá IIS. Mohlo by se jednat i o webový server, pro tento příklad je však využit webový server Cassini. Projekt obsahuje jednu webovou službu ASMX s názvem EmailService.asmx. Příklad 5.1 ukazuje obsah třídy EmailService, jež jednoduše definuje metodu webové služby SendMailMessage přijímající požadované informace o zprávě. Webová služba EmailService definuje svůj jmenný prostor jako http://www.silverlight-data.com a přidává atribut WebMethod do metody SendMail- Message. Tento atribut deklaruje, že metoda bude přístupná z klientů, kteří odkazují na webovou službu EmailService. Třída EmailLibrary.Mail je v samostatném projektu, protože bude volána také webovou službou WCF dále v této kapitole. Příklad 5.1 Třída EmailService C# using System.Web.Services; using EmailLibrary; namespace ASMXEmailService [WebService(Namespace = "http://www.silverlight-data.com/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] public class EmailService : System.Web.Services.WebService [WebMethod] public void SendMailMessage(string from, string to, string subject, string body) new Mail().SendMessage(from, to, subject, body);

Silverlight datové služby 121 VB Imports System.Web.Services Imports EmailLibrary Namespace ASMXEmailService <WebService(Namespace := "http://www.silverlight-data.com/"), _ WebServiceBinding(ConformsTo := WsiProfiles.BasicProfile1_1), _ System.ComponentModel.ToolboxItem(False)> _ Public Class EmailService Inherits System.Web.Services.WebService <WebMethod> _ Public Sub SendMailMessage(ByVal from As String, _ ByVal [to] As String, ByVal subject As String, _ ByVal body As String) CType(New Mail(), Mail).SendMessage(From, [to], subject, body) End Sub End Class End Namespace Všimněte si, že tento kód vyžaduje, aby byl port SMTP a hostitel příslušně nakonfigurován pro server SMTP, jenž bude použit. Změny na správná nastavení je nutné provést před spuštěním tohoto zkušebního kódu. Metoda SendMailMessage volá metodu SendMessage třídy EmailLibrary.Mail. Příklad 5.2 ukazuje obsah třídy Mail a její metodu SendMessage, jež odesílá zprávu seznamu příjemců. V kódu chybí zpracování výjimek a určitá propracovanost, na to se však v této kapitole nezaměřujeme. Příklad 5.2 Třída Mail C# using System; using System.Net.Mail; namespace EmailLibrary public class Mail private readonly char[] separator = ';' ; private readonly string host = "mail.yoursmtpserver.net"; private readonly int port = 25; public void SendMessage(string from, string to, string subject, string body)

122 Kapitola 5: WCF, webové služby a mezidoménové zásady using (MailMessage message = new MailMessage From = new MailAddress(from), Body = body, Subject = subject ) string[] addresses = to.split(separator, StringSplitOptions.RemoveEmptyEntries); foreach (string t in addresses) message.to.add(new MailAddress(t)); SmtpClient smtpclient = new SmtpClient(host, port); smtpclient.send(message); VB Imports System Imports System.Net.Mail Namespace EmailLibrary Public Class Mail Private ReadOnly separator() As Char = ";"c Private ReadOnly host As String = "mail.yourmailserver.net" Private ReadOnly port As Integer = 25 Public Sub SendMessage(ByVal from As String, ByVal [to] As String, _ ByVal subject As String, ByVal body As String) Using message As MailMessage = New MailMessage _ With.From = New MailAddress(From),.Body = body, _.Subject = subject Dim addresses() As String = [to].split(separator, _ StringSplitOptions.RemoveEmptyEntries) For Each t As String In addresses message.to.add(new MailAddress(t)) Next t Dim smtpclient As New SmtpClient(host, port) smtpclient.send(message) End Using End Sub End Class End Namespace To je vše, co je třeba pro vytvoření webové služby ASMX, jíž může využívat aplikace Silverlightu. Dalším krokem je přidání odkazu na službu.

Silverlight datové služby 123 Odkazování na webovou službu ASMX Než můžete začít službu používat, je nutné přidat do klientské aplikace odkaz na webovou službu ASMX. Přejděte do průzkumníka projektu (Project Explorer), klikněte pravým tlačítkem myši na uzel Service Reference pro projekt SilverlightEmailClient a v místní nabídce zvolte příkaz Add Service Reference. Otevře se okno, v němž lze vyhledat službu dostupnou na počítači. Případně lze zadat adresu URL na konkrétní webovou službu. Protože služba EmailService. asmx je na stejném počítači jako toto řešení, můžete kliknout na tlačítko Discover. Po chvíli klientská aplikace Silverlightu vyhledá službu EmailService.asmx a vy ji můžete vybrat. V tomto okně bude vyhledána jakákoli služba, jež vystavuje jazyk WSDL (Web Services Description Language), díky němuž ji lze najít. Webové služby WCF i ASMX podporují SOAP 1.1 a lze je najít prostřednictvím tohoto okna. Jako odkaz na službu z aplikace Silverlightu lze přidat jakoukoli službu SOAP, kterou lze nalézt, a jež podporuje základní profil SOAP 1.1. Vyhledatelné služby podporují WSDL. Jak si ukážeme v této kapitole, patří sem služby WCF i ASMX. Přístup ke službám, jež se samy nepopisují (jako je například REST, PX a RSS), lze získat prostřednictvím WebClient a HttpWebRequest, což si ukážeme v dalších kapitolách. Všimněte si, že adresa webové služby na obrázku 5.4 ukazuje, že využívá webový server Cassini na portu 8242. Cassini je Vývojový webový server ASP.NET. Vytváříte-li webovou aplikaci s pomocí serveru Cassini, může se číslo portu lišit. ASMXEmailService je webová aplikace, jež běží na serveru Cassini a automaticky přiřazuje porty. Pokud byla služba vytvořena pro webový server, běžela by na IIS a ne na Cassini. Na obrázku 5.4 je vybraná služba EmailService.asmx a v rozbaleném seznamu jejích služeb a metod je uvedena webová metoda SendMailMessage, která byla právě vytvořena. Služba je přejmenována na ASMXEmailService, což bude jmenný prostor pro třídu proxy, kterou vytvoříme pro vyvolání webové služby ASMX. Vrácení kolekce ObservableCollection<T> Tlačítko Advanced (v levé dolní části na obrázku 5.4) umožňuje upravit odkaz na webovou službu. Obrázek 5.5 ukazuje, jak lze díky této možnosti upravit typ Collection, který použijeme pro vrácené hodnoty založené na kolekci. To znamená, že pokud webová služba vrátí List<T>, můžete nakonfigurovat odkaz na službu tak, aby byl List<T> automaticky převeden na Obser- vablecollection<t>. Nakonfigurovat lze několik možností, včetně Array, List, Collection a ObservableCollection. To je důležité, protože se tak usnadňuje využívání služeb, jež vracejí seznamy entit s funkcemi datových vazeb kolekce ObservableCollection.

124 Kapitola 5: WCF, webové služby a mezidoménové zásady Využívání webové služby ASMX Jakmile má aplikace Silverlightu odkaz na webovou službu ASMX, může ji vyvolat prostřednictvím objektu proxy. Pro vyvolání webové služby je nutné přidat odkaz na službu, vytvořit instanci objektu proxy, přidat obsluhu události pro událost dokončení a asynchronně vyvolat webovou službu. Obrázek 5.4 Přidání odkazu na e-mailovou službu ASMX Znovu ty vazby Aplikace Silverlightu obsahuje čtyři ovládací prvky TextBox, jež představují adresu To (komu), adresu From (od), Subject (předmět) a Body (text zprávy). Adresa To může obsahovat sadu e-mailových adres oddělených středníkem. Výchozí hodnoty lze ručně načíst do ovládacích prvků TextBox nastavením jednotlivých hodnot vlastnosti Text prvku TextBox. Poté, co uživatel zadá hodnoty, můžete tyto hodnoty získat z ovládacích prvků TextBox a předat je do webové metody ve webové službě ručním získáním hodnot z ovládacích prvků a odesláním do místních proměnných. Ačkoli tento postup funguje, další možností je využití techniky vazeb založených na XAML. Třída MessageInfo je v kódu příkladu uvedena za účelem uložení hodnot z těchto polí a působí jako prostředník pro ovládací prvky TextBox. Příklad 5.3 ukazuje kód pro třídu MessageInfo. Je vytvořena instance třídy MessageInfo a výchozí hodnoty jsou inicializovány v konstruktoru

Silverlight datové služby 125 ovládacího prvku EmailClient Silverlightu. Příklad 5.4 ukazuje část kódu XAML ovládacího prvku a jeho vazeb. Příklad 5.3 Třída MessageInfo C# public class MessageInfo public string FromAddress get; set; public string ToAddress get; set; public string Subject get; set; public string Body get; set; public string BodyWithDateTag get return string.format("0\n\nsent on: 1", this.body, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); VB Public Class MessageInfo Private privatefromaddress As String Public Property FromAddress () As String Get Return privatefromaddress End Get Set(ByVal value As String) privatefromaddress = value End Set End Property Private privatetoaddress As String Public Property ToAddress() As String Get Return privatetoaddress End Get Set(ByVal value As String) privatetoaddress = value End Set End Property Private privatesubject As String Public Property Subject() As String Get Return privatesubject End Get Set(ByVal value As String) privatesubject = value

126 Kapitola 5: WCF, webové služby a mezidoménové zásady End Set End Property Private privatebody As String Public Property Body() As String Get Return privatebody End Get Set(ByVal value As String) privatebody = value End Set End Property Public ReadOnly Property BodyWithDateTag() As String Get Return String.Format("0" & Constants.vbLf + Constants.vbLf & _ "Sent on: 1", Me.Body, _ DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")) End Get End Property End Class Jakmile je instance vytvořena, je nastavena na vlastnost DataContext panelu rozložení Grid, jenž obsahuje čtyři ovládací prvky TextBox. Vlastnost Text každého ovládacího prvku TextBox je svázána s odpovídající vlastností instance MessageInfo s využitím vazby TwoWay. Díky tomu není nutné ručně odesílat hodnoty do ovládacích prvků a ručně je z nich získávat. Hodnoty zachytíte nebo nastavíte proměnnou instance messageinfo. Příklad 5.4 XAML pro ovládací prvek Silverlightu EmailClient <TextBox Grid.Row="0" Grid.Column="1" Margin="11,5,45,5" Style="StaticResource TextBoxStyle" x:name="tbfrom" HorizontalAlignment="Stretch" Text="Binding Mode=TwoWay, Path=FromAddress"/> <TextBox Grid.Row="1" Grid.Column="1" Margin="11,5,45,5" Style="StaticResource TextBoxStyle" x:name="tbto" HorizontalAlignment="Stretch" Text="Binding Mode=TwoWay, Path=ToAddress"/> <TextBox Grid.Row="2" Grid.Column="1" Margin="11,5,45,5" Style="StaticResource TextBoxStyle" x:name="tbsubject" HorizontalAlignment="Stretch" Text="Binding Mode=TwoWay, Path=Subject"/> <TextBox Grid.Row="3" Grid.Column="1" Margin="11,5,45,5"

Silverlight datové služby 127 Style="StaticResource TextBoxStyle" x:name="tbbody" HorizontalAlignment="Stretch" VerticalAlignment="Top" Height="100" VerticalScrollBarVisibility="Visible" AcceptsReturn="True" TextWrapping="Wrap" Text="Binding Mode=TwoWay, Path=Body"/> Třída MessageInfo obsahuje veřejnou vlastnost pouze pro čtení s názvem BodyWi- thdatetag, jež neodkazuje přímo na pomocnou vlastnost. Vlastnost BodyWithDa- tetag vrátí vlastnost zprávy Body spolu s datem a časovým razítkem, především pro účely ladění. Obrázek 5.5 Nastavení odkazu na službu Konstruktor EmailClient (viz příklad 5.5) také přidává obsluhu události Click pro prvek Button s názvem btnsendviaasmx. Metoda btnsendviaasmx obsluhuje událost kliknutí, když je uživatel připraven odeslat zprávu. Tato metoda vytvoří proxy a bude volat webovou službu.