Welcome

首页 / 软件开发 / Silverlight / 学Silverlight 2系列(33):Silverlight 2应用Web Service两例

学Silverlight 2系列(33):Silverlight 2应用Web Service两例2011-09-10 cnblogs TerryLee概述

我们知道,在Silverlight 2中提供了丰富的网络通信API,包括支持SOAP服 务、REST服务、基于HTTP通信、Socket通信等。本文我将通过几个示例来演示如 何在Silverlight 2中应用Web Service实现文件上传和电子邮件发送。

使用Web Service上传文件

我将通过一个示例来展示如何使用Web Service向服务器上传文件,首先创建 Silverlight项目,并在Web测试项目中添加一个ASP.NET Web Service文件。现 在来实现相关的WebMethod,在此方法中,将会接收两个参数:字节数组和文件 扩展名,并会在服务器上创建文件,如下代码所示:

public class FileService : WebService
{
[WebMethod]
public int UploadFile(byte[] FileByte, String FileExtention)
{
FileStream stream = new FileStream(String.Format(@"D:example.{0}", FileExtention),FileMode.CreateNew);
stream.Write(FileByte, 0, FileByte.Length);
stream.Close();
return FileByte.Length;
}
}

添加一个简单的界面,供用户选择本地文件,我们将在按钮单击单击事件中 调用Web Service,如下代码所示:

<Canvas Background="#FF333333">
<TextBox x:Name="txtFile" Height="30" Width="300" Canvas.Top="120"
Canvas.Left="30" Style="{StaticResource textBoxStyle}"></TextBox>
<Button x:Name="btnUpload" Width="60" Content="上 传" Height="30"
Canvas.Left="340" Canvas.Top="120" Style="{StaticResource buttonStyle}"
Click="OnUploadClick"></Button>
<TextBlock x:Name="tblStatus" Canvas.Left="30" Canvas.Top="160"
FontSize="14" Foreground="White" Text=""></TextBlock>
</Canvas>