在Silverlight下使用WCF通信

关于在SL下实现WCF通信的文章很多,因此我着重从我的实践上讲解,这样可 能易懂一些。

一、简单介绍下WCF

全名:Windows Communication Foundation 从Dotnet Framework 3.0开始出 现,WCF通信提供了用HTTP、TCP和IPC信道进行通信的多个方法。WCF提供的信道 使用DCOM进行通信。WCF适合于要独立于平台快速的发送消息。服务提供一个端 点,包括三个:合同Contract、绑定Binding和地址Endpoint。合同定义了服务 提供的操作(接口及实现),绑定控制协议和编码信息(如SL支持的 basicHttpBinding)、地址给出服务的位置(地址及目标名)。WCF支持 SOAP( Simple Object Access Protocol)、WSDL(Web Services Description Language)。

二、开始实现在SL下的WCF。

我们要做一个用户登陆的例子,具体流程为:SL调用WCF服务,服务中通过 ADO调用存储过程进行登陆验证,把结果返回到本地SL。

1、首先写一个SQL表:

CREATE TABLE UserInfoTable
(
UserName NVARCHAR(20)  PRIMARY KEY,
UserPsw NVARCHAR(15)
)

2、写个简单的存储过程:

SQL登陆存储过程

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER  ON
GO
-- =============================================
--  Author:        寻雨
-- Create date: 2010-4-1-12:45
--  Description:    验证用户登陆情况.登陆成功则返回0,登陆失败返回 1;
-- =============================================
CREATE  PROCEDURE sp_Login
@UserNum NVARCHAR(20),
@UserPsw NVARCHAR (15)
AS
BEGIN
IF EXISTS(SELECT * FROM UserInfoTable  WHERE UserNum=@UserNum AND UserPsw = @UserPsw)
RETURN  0;
RETURN 1;
END
GO

时间: 2024-08-01 16:58:01

在Silverlight下使用WCF通信的相关文章

ConcurrencyMode.Multiple 模式下的WCF服务就一定是并发执行的吗:探讨同步上下文对并发的影响[下篇]

在<上篇>中,我通过一个具体的实例演示了WCF服务宿主的同步上下文对并发的影响,并简单地介绍了同步上下文是什么东东,以及同步上下文在多线程中的应用.那么,同步上下文在WCF并发体系的内部是如何影响服务操作的执行的呢?这实际上涉及到WCF的一个话题,即线程的亲和性(Thread Affinity),本篇文章将为你剖析WCF线程亲和机制的本质. 一.WCF线程亲和性(Thread Affinity) 对于服务端来说,WCF消息监听和接收体系通过IO线程池并发的处理来自客户端的服务调用请求,所以并发

数据-Linux下的CAN通信问题,求解!!!

问题描述 Linux下的CAN通信问题,求解!!! 我在liunx下要进行CAN通信,使用的是CAN口扩展卡,程序中包含linux/can.h头文件,使用了里面的struct can__frame数据帧格式.因为要发送标准数据帧,所以我将can_id=0x00000008,can_dlc=8 data[0]~data[7]放入数据.接着用write(fd, &tx 1)来发送,但是调试工具一直显示数据长度为0.我试着用write(fd &tx sizeof(tx))来发送数据,但是程序就出

串口通讯-Linux下多线程串口通信问题

问题描述 Linux下多线程串口通信问题 我做的一个项目,把串口读写采用了一个独立的线程,进行数据的读写,在调试时,发现只要启动另外一个计算量比较大的线程,串口通信就出错了,而只要不启动这个线程,可以启动其他线程,串口工作没有任何问题,求原因? 解决方案 在C#中使用SerialPort类实现串口通信,多线程问题在C#中使用SerialPort类实现串口通信 遇到多线程问题在C#中使用SerialPort类实现串口通信 遇到多线程问题 解决方案二: 这两个线程有耦合吧?认真分析一下之间的联系.可

c#如何通过onc/rpc协议与Linux下的服务器通信

问题描述 c#如何通过onc/rpc协议与Linux下的服务器通信有谁做过这方面的吗? 解决方案 解决方案二:可以先看看别人是怎么做的:http://sourceforge.net/projects/remoteteanet/

搭建环境-hadoop2.5.1在win7下开发报通信错误

问题描述 hadoop2.5.1在win7下开发报通信错误 集群环境是centos6.2,2master,4slave. 在集群上跑example.jar测试通过,管理页面显示所有节点正常.jps显示正常. 但在win7下建立用eclipse安装csdn下载的插件显示update错误,不过可以连接上hadoop集群,正常显示hdfs. 使用example里面的wordcount.java,照博客 http://www.cnblogs.com/huligong1234/p/4137133.html

Windows下php socket通信怎么实现多线程操作?

问题描述 Windows下php socket通信怎么实现多线程操作? php socket通信,我想实现多个客户端可以独立连接,接受发送数据,不知道怎么实现,是在Windows下的, 解决方案 创建线程池,每一个链接都对应一个线程

为什么silverlight中的wcf引用不了自定义类库?

问题描述 为什么silverlight中的wcf引用不了自定义类库? 在silverlight中的WCF服务里面添加自定义的类库,出现"Unable to add reference to project '类库名'".请各位同仁赐教! 解决方案 这是很正常的,silverlight使用的是一个.net的精简版,并且运行在客户端,所以没办法调用完整的.net类库. 解决方案二: 您好!谢谢哦!那我要在WCF服务中引用我自定义的类该怎么办啊?因为之前是放在一个类库里面,想引用那个类库,结

sizeof-关于MFC下的UDP通信,为什么ReceiveFrom时只能接受到一字节数据

问题描述 关于MFC下的UDP通信,为什么ReceiveFrom时只能接受到一字节数据 void CCHATDlg::OnBnClickedSendButton() { CString str,sIP; GetDlgItemText(IDC_SEND_EDIT, str); GetDlgItemText(IDC_IP_EDIT, sIP); m_sock.SendTo(str, str.GetLength(),PORT, sIP); } void CCHATDlg::Onreceive(void

一步一步学Silverlight :数据与通信之WCF

概述 Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, Ironpython,对JSON.Web Service.WCF以及Sockets的支持等一系列新的特性.<一步一步学Silverlight 2系列>文章将从Silverlight 2基础知识.数据与通信.自定义控件.动画.图形图像等几个方面带您快速进入Silverlight 2开发. 本文将简