Silverlight客户端调用WCF服务难题解疑
一:解决办法
Silverlight客户端调用WCF服务在实际使用中经常会出现的问题就是无法直接应用类文件和配置文件。微软针对这一情况已经给出了解决办法。
WCF开发框架可以帮助我们实现可靠性较高的跨平台解决方案。对于这样一款功能性较强的工具,我们在实际使用中通常也会遇到一些问题。在这里就来了解一下其中Silverlight客户端调用WCF服务的一些难题解疑。
WCF服务端做好后,可以通过SVCUTIL.exe工具生成客户端代码和配置文件,这些内容比较简单,在这里就不做详细介绍。
但是,如果使用Silverlight客户端调用WCF服务,则无法直接应用这些类文件和配置文件。
那么针对以上这些问题,我们应该如何正确解决呢?
1.silverlight默认不能引用其他.net类库项目,原因是MSCORLib的版本不同。这一点,主要是因为.NET和Siverlight属于不同的平台,虽然两者都可以使用C#或者VB.net来开发。
2.微软给出的Silverlight客户端调用WCF服务解决办法是,silverlight通过web service方式来应用WCF服务。具体步骤是:
a. 先建立WCF服务ASP.net网站;
  
b. 然后添加“启用了Silverlight的WCF服务”;
  
  
  
c. 修改服务契约;
d. 在Silverlight里边添加SVC的网络地址引用,这和添加其他WEB Service类似,给客户端的服务引用起名字,然后就可以在Silverlight里边使用了。
以上就是Silverlight客户端调用WCF服务出现问题后的解决方法。

二:代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes; namespace WCFSilverlightApplication
{
public partial class MainPage : UserControl
{
public MainPage()
{
InitializeComponent();
} void sc_GetDataCompleted(object sender, ServiceReference1.GetDataCompletedEventArgs e)
{
MessageBox.Show(e.Result);
} private void btnLogin_Click(object sender, RoutedEventArgs e)
{
ServiceReference1.Service1Client sc = new ServiceReference1.Service1Client();
sc.GetDataCompleted += new EventHandler<ServiceReference1.GetDataCompletedEventArgs>(sc_GetDataCompleted);
sc.GetDataAsync(Convert.ToInt32(txtName.Text.Trim()));
}
}
}
Silverlight客户端调用WCF服务难题解疑的更多相关文章
- 学习之路十四:客户端调用WCF服务的几种方法小议
		
最近项目中接触了一点WCF的知识,也就是怎么调用WCF服务,上网查了一些资料,很快就搞出来,可是不符合头的要求,主要有以下几个方面: ①WCF的地址会变动,地址虽变,但是里面的逻辑不变! ②不要引用W ...
 - Java与WCF交互(一):Java客户端调用WCF服务
		
最近开始了解WCF,写了个最简单的Helloworld,想通过java客户端实现通信.没想到以我的基础,居然花了整整两天(当然是工作以外的时间,呵呵),整个过程大费周折,特写下此文,以供有需要的朋友参 ...
 - Java与WCF交互(一):Java客户端调用WCF服务 【转】
		
原文:http://www.cnblogs.com/downmoon/archive/2010/08/24/1807161.html 最近开始了解WCF,写了个最简单的Helloworld,想通过ja ...
 - 客户端调用wcf服务,如何提高调用性能
		
IO调用服务 1.使用using(每次自动释放) ; i < ; i++) { var watch = new Stopwatch(); watch.Start(); using (var cl ...
 - 转载——Java与WCF交互(一):Java客户端调用WCF服务
		
最近开始了解WCF,写了个最简单的Helloworld,想通过java客户端实现通信.没想到以我的基础,居然花了整整两天(当然是工作以外的时间,呵呵),整个过程大费周折,特写下此文,以供有需要的朋友参 ...
 - 完全使用接口方式调用WCF 服务
		
客户端调用WCF服务可以通过添加服务引用的方式添加,这种方式使用起来比较简单,适合小项目使用.服务端与服务端的耦合较深,而且添加服务引用的方式生成一大堆臃肿的文件.本例探讨一种使用接口的方式使用WCF ...
 - 实现jquery.ajax及原生的XMLHttpRequest调用WCF服务的方法
		
废话不多说,直接讲解实现步骤 一.首先我们需定义支持WEB HTTP方法调用的WCF服务契约及实现服务契约类(重点关注各attribute),代码如下: //IAddService.cs namesp ...
 - WPF异步调用WCF服务
		
wpf调用wcf时,第一次访问总耗时到达几秒,影响界面的用户体验,因此在wpf加载界面和加载数据时采用异步加载,即异步访问wcf服务, 由于是否采用异步加载和服务端无关,仅仅由客户端自己根据需要来选择 ...
 - WCF技术剖析之十:调用WCF服务的客户端应该如何进行异常处理
		
原文:WCF技术剖析之十:调用WCF服务的客户端应该如何进行异常处理 在前面一片文章(服务代理不能得到及时关闭会有什么后果?)中,我们谈到及时关闭服务代理(Service Proxy)在一个高并发环境 ...
 
随机推荐
- Note | javascript权威指南[第六版] 第2章:词法结构
			
语法结构规定了诸如变量名是什么样的.怎么写注释,以及程序语句之间如何分隔等规则.本章用很短的篇幅来介绍JavaScript的词法结构. 2.1.字符集 JavaScript程序是用Unic ...
 - Python之路,Day26-----暂无正在更新中
			
Python之路,Day26-----暂无正在更新中
 - Excel操作 Microsoft.Office.Interop.Excel.dll的使用
			
----转载: http://www.cnblogs.com/lanjun/archive/2012/06/17/2552920.html 先说说题外话,前段时间近一个月,我一直在做单据导入功能,其中 ...
 - c-指针的指针
			
概述: 贴上一个'经典C语言程序设计100例'的第77个程序 #include <stdio.h> int main(void) { char *s[]={"man", ...
 - JqueryAjax
			
1. 2. 3. 4. 5. 6. 7.
 - JavaScript_object(基于map和数组练习)
			
JavaScript在编程过程中,不会像java那么方便,提供大量的API让开发这直接去调用,但底层也封装大量的工具让开发者写方法去实现, 以map为例,写简单的增删改查模拟java中的map: fu ...
 - 30.SSH配置文件模板.md
			
[toc] 1.struts2 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts ...
 - Objective-C中的协议(Protocol)和类别(Category)
			
1.什么是协议? 2.协议与类别的声明和使用 1.什么是协议? 在Objective-C中,不支持多继承,即不允许一个类有多个父类,但是OC提供了类似的实现方法,也就是协议.协议有点类似于Java里的 ...
 - linux dd命令测试U盘读写速度
			
1. dd命令简述: if=输入文件, of=输出文件, ibs=一次读取字节数, obs=一次写入字节数, bs=设置一次读取写入的字节数, skip=跳过的bs数, count=拷贝的块数 2. ...
 - JavaScript-学习一加载不动
			
为先加载的js后加载的html 加载完js运行时因为未加载html的原因导致找不到js所控制的元素 所以解决的方法就是把js放到控制元素的下方 或者html的底部 做成函数的时候可以放在头部,也就是说 ...