Windows Phone访问web service和WCF服务

简介:

Windows phone也像传统的.net应用一样,可以方便的调用web service和WCF服务。

首先创建一个web service服务,因为.NET Framework 4的版本没有Web Service模板,所以选择.NET Framework 3.5来创建“ASP.NET Web服务应用程序”:

 

Service.cs中的Service的类中写如下方法:

 

 
  1. [WebMethod]  
  2.    public byte[] GetCity()  
  3.    {  
  4.        System.IO.MemoryStream m = new System.IO.MemoryStream();  
  5.        System.Drawing.Bitmap bp = new System.Drawing.Bitmap(Server.MapPath("~")+@"/a.jpg");  
  6.        bp.Save(m, System.Drawing.Imaging.ImageFormat.Jpeg);  
  7.        return m.GetBuffer();  
  8.    }  
 

 

.NET Framework 4下创建“WCF服务应用程序”:

在IService1.cs接口中添加如下方法:

 
  1. [OperationContract]  
  2.  byte[] GetCity();  

在子类Service1中添加如下方法:

 
  1. public byte[] GetCity()  
  2. {   
  3.       System.IO.MemoryStream m = new System.IO.MemoryStream();  
  4.       System.Drawing.Bitmap bp = new System.Drawing.Bitmap(@"C:\Users\GSW\Documents\Visual Studio 2010\Projects\WebSite4\WcfService1\a.jpg");  
  5.       bp.Save(m, System.Drawing.Imaging.ImageFormat.Jpeg);  
  6.       return m.GetBuffer();  
  7.   }  

创建Windows Phone, “添加服务引用”,引入web service或wcf服务,引用服务默认名称为“ServiceReference1”,的页面后台添加代码如下:

 
  1. //定义服务引用对象  
  2. ServiceReference1.Service1Client serviceclient;          
  3.         public MainPage()  
  4.         {  
  5.             InitializeComponent();  
  6.             serviceclient = new ServiceReference1.Service1Client();  
  7. //为异常完成事件添加回调方法              
  8. serviceclient.GetCityCompleted += new EventHandler<ServiceReference1.GetCityCompletedEventArgs>(serviceclientc_GetCityCompleted);  
  9.  
  10.         }  
  11.         private void button1_Click(object sender, RoutedEventArgs e)  
  12.         {  
  13.            //调用异常方法  
  14.             serviceclient.GetCityAsync();  
  15.         }  
  16.  
  17.         void serviceclient_GetCityCompleted(object sender, ServiceReference1.GetCityCompletedEventArgs e)  
  18.         {  
  19. //回调方法中完成图片的加载显示  
  20.             byte[] buf = e.Result;  
  21.             System.IO.MemoryStream stream = new System.IO.MemoryStream(buf);  
  22.             BitmapImage img = new BitmapImage();  
  23.             img.SetSource(stream);  
  24.             image1.Source = img;  
  25.         }  

不管是web service还是wcf服务,Windows Phone中使用方法都是一至的,采用异步调用方式,这样用户体验要好一些。



















本文转自桂素伟51CTO博客,原文链接: http://blog.51cto.com/axzxs/866453,如需转载请自行联系原作者

相关文章
|
20天前
|
NoSQL Redis Windows
windows服务器重装系统之后,Redis服务如何恢复?
windows服务器重装系统之后,Redis服务如何恢复?
49 6
|
1天前
|
应用服务中间件 Apache Windows
免安装版的Tomcat注册为windows服务
免安装版的Tomcat注册为windows服务
7 3
|
1天前
|
Java 关系型数据库 MySQL
java控制Windows进程,服务管理器项目
本文介绍了如何使用Java的`Runtime`和`Process`类来控制Windows进程,包括执行命令、读取进程输出和错误流以及等待进程完成,并提供了一个简单的服务管理器项目示例。
12 1
|
20天前
|
Java 应用服务中间件 Windows
windows服务器重装系统之后,Tomcat服务如何恢复?
windows服务器重装系统之后,Tomcat服务如何恢复?
38 10
|
20天前
|
消息中间件 Java Kafka
windows服务器重装系统之后,Kafka服务如何恢复?
windows服务器重装系统之后,Kafka服务如何恢复?
19 8
|
22天前
|
监控 Windows
Windows服务器的服务如何实现自动启动?
Windows服务器的服务如何实现自动启动?
38 1
|
18小时前
|
应用服务中间件 Shell PHP
windows系统配置nginx环境运行pbootcms访问首页直接404的问题
windows系统配置nginx环境运行pbootcms访问首页直接404的问题
|
14天前
|
安全 Windows
电脑进入桌面后操作无响应?不妨试试禁用Windows Search服务
电脑进入桌面后操作无响应?不妨试试禁用Windows Search服务
|
2月前
|
C# Windows 监控
WPF应用跨界成长秘籍:深度揭秘如何与Windows服务完美交互,扩展功能无界限!
【8月更文挑战第31天】WPF(Windows Presentation Foundation)是 .NET 框架下的图形界面技术,具有丰富的界面设计和灵活的客户端功能。在某些场景下,WPF 应用需与 Windows 服务交互以实现后台任务处理、系统监控等功能。本文探讨了两者交互的方法,并通过示例代码展示了如何扩展 WPF 应用的功能。首先介绍了 Windows 服务的基础知识,然后阐述了创建 Windows 服务、设计通信接口及 WPF 客户端调用服务的具体步骤。通过合理的交互设计,WPF 应用可获得更强的后台处理能力和系统级操作权限,提升应用的整体性能。
77 0
|
2月前
|
开发者 iOS开发 C#
Uno Platform 入门超详细指南:从零开始教你打造兼容 Web、Windows、iOS 和 Android 的跨平台应用,轻松掌握 XAML 与 C# 开发技巧,快速上手示例代码助你迈出第一步
【8月更文挑战第31天】Uno Platform 是一个基于 Microsoft .NET 的开源框架,支持使用 C# 和 XAML 构建跨平台应用,适用于 Web(WebAssembly)、Windows、Linux、macOS、iOS 和 Android。它允许开发者共享几乎全部的业务逻辑和 UI 代码,同时保持原生性能。选择 Uno Platform 可以统一开发体验,减少代码重复,降低开发成本。安装时需先配置好 Visual Studio 或 Visual Studio for Mac,并通过 NuGet 或官网下载工具包。
83 0