WEB开发网
开发学院图形图像Flash 学Silverlight 2系列(33):Silverlight 2应用We... 阅读

学Silverlight 2系列(33):Silverlight 2应用Web Service两例

 2008-10-09 11:39:51 来源:WEB开发网   
核心提示:概述我们知道,在Silverlight 2中提供了丰富的网络通信API,学Silverlight 2系列(33):Silverlight 2应用Web Service两例,包括支持SOAP服务、REST服务、基于HTTP通信、Socket通信等,本文我将通过几个示例来演示如何在Silverlight 2中应用Web S

概述

我们知道,在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>

调用Web Service上传文件,此处使用了OpenFileDialog对象弹出择窗口以便选择文件,此对象将选择的文件作为Stream返回,我们把Stream转换为一个字节数据传递给Web Service,如下代码所示:

1 2 3 4  下一页

Tags:Silverlight 系列 Silverlight

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接