Consuming an ASMX Web Service
Once a Silverlight application has a service reference to an ASMX web service, it can invoke the web service through a proxy object. The basic steps for invoking a web service are to add the service reference, create the instance of the proxy object, add an event handler for its completion event, and invoke the web service asynchronously.
Bindings Again
The Silverlight application contains four TextBox
controls that represent the To
address, From address, Subject, and Body of the email message. The To
address can contain a series of email addresses delimited by a
semicolon.
You can manually load the default values into the TextBox
controls by setting each TextBox
’s Text
property value. After the user has
entered the values, you can retrieve the values from the TextBox
controls to pass them to the web
service’s web method by manually pulling the values from the controls
and into local variables.
Although this technique works, another option is to take
advantage of the XAML-based binding techniques. A MessageInfo
class exists in the example code
for the purpose of storing the values from these fields and acting as
a mediator for the TextBox
controls. Example 5-3 shows the code for the
MessageInfo
class. An instance of
the MessageInfo
class is created and the
default values are initialized in the constructor of the EmailClient
Silverlight 2 control. Example 5-4 shows a snippet of
the control’s XAML and its bindings.
Example 5-3. MessageInfo class
C# public class ...
Get Data-Driven Services with Silverlight 2 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.