调用WCF的异步方法

原文:调用WCF的异步方法

            AsyncCallback aLoginCallback = delegate(IAsyncResult result)
                                           {
                                               var aSystemUser = WcfClient.Instance.EndSystemUser_Login(result);
                                               result.AsyncWaitHandle.Close();

                                               if (string.IsNullOrWhiteSpace(aSystemUser.UserId))
                                               {
                                                   ShowMessageBoxInNonMainThread("登录失败:用户名称或者用户密码错误!");
                                                   return;
                                               }

                                               CommonCache.CurrentUser = aSystemUser;

                                               //SynchronizationContext和SendOrPostCallback的引入是为了解决不能在非主线程中访问主线程中创建的控件的问题
                                               SendOrPostCallback aSendOrPostCallback = delegate
                                                                                        {
                                                                                            Hide();
                                                                                            MainForm.Instance.ShowDialog();
                                                                                        };
                                               SynchronizationContext.Current.Send(aSendOrPostCallback, null);
                                           };

            var aParam = GetForm<SystemUserParameter>();
            WcfClient.Instance.BeginSystemUser_Login(aParam, aLoginCallback, null);

  

时间: 2024-09-14 01:26:11

调用WCF的异步方法的相关文章

使用Task简化Silverlight调用Wcf

原文http://www.cnblogs.com/lemontea/archive/2012/12/09/2810549.html 从.Net4.0开始,.Net提供了一个Task类来封装一个异步操作,用来简化异步 方法的调用..Net4.5更进一步,添加了async和await两个关键字,异步编程同步化,不用再写一堆散乱的回调或者完成事件处理. Silverlight5开始支持Task类,但是要用await的话就需要编译器的支持,VS2012直接支持,如果是VS2010,那就要安装Async

Winform 调用WCF客户端,所有服务端方法在运行的时候均找不到(编译没有问题)

  今天在开发过程中遇到了一个很恶心的问题,就是Form窗体ShowDialog的时候,直接报出下面的错误: 有关调用实时(JIT)调试而不是此对话框的详细信息, 请参见此消息的结尾. ************** 异常文本 ************** System.MissingMethodException: 找不到方法:"XXX.XXX.DataObject.SPI.DataObjectColumn[] XXX.XXX.WCFClient.WCFService.ServiceClient

ExtJS调用WCF系列

第三节:ExtJS调用WCF系列-----添加,修改,删除(2) 第三节:ExtJS调用WCF系列-----添加,修改,删除(1) 第二节:ExtJS调用WCF系列-----分页排序列表实现 第一节:ExtJS调用WCF系列-----实现JSON传递

第二节:ExtJS调用WCF系列-----分页排序列表实现

打开第一节中的那个项目,新建一个Paging.aspx的页面来实现分页列表. 这次我们使用一个测试的数据库CompanyInfoDB,里面有两张表,部门和员工,并外键关联,数据库调用采用Linq的Sqlmetal 命令方式,在Visual Studio 2008的命令提示符中输入以下命令:D:\Program Files\Microsoft Visual Studio 9.0\VC>sqlmetal /conn:server=172.16.1.52;database=CompanyInfoDB;

COM(VB/VBA/Script)利用服务标记调用WCF服务之四:使用配置文件

这几天友人同学说他在COM利用服务标记调用WCF服务的时候遇到一个问题,就是他返回的的Soap消息 大于65536这个wsHttpBinding的缺省值,引发调用错误.需要将MaxReceivedMessageSize更改成可以容纳 大消息内容的值.在我前面的三篇文章中使用的都是缺省的wsHttpBinding,所以不存在这个问题.现在 需要更改缺省值自然就需要增加配置来达到目的.目前最关键的问题就是:是否能让VB/VBA/Script来使 用配置文件呢?如果可以,那如何让VB,VBA, Scr

COM(VB/VBA/Script)利用服务标记调用WCF服务之三使用WSDL契约

前面我们介绍了使用MEX契约的服务标记在COM中调用WCF服务,这种方式是通过MEX终结点动态取得元 数据,使用起来是比较方便:但是有时服务的元数据中可能包含恶意用户可以利用的关于应用程序的敏感 信息,也就是说为了安全考虑有些服务可能不会通过MEX公布元数据信息.如果哦某些服务没有公布元数 据信息,用类型化有比较麻烦,针对这种情况我们该如何在COM中调用WCF服务呢?这时我们可以使用WSDL 契约来进行WCF服务的调用,使用这种方式和使用MEX类似,同样不需要进行类型的注册,信息都是通过动 态得

COM(VB/VBA/Script)利用服务标记调用WCF服务之二使用MEX契约

第一步:创建WCF服务 上一篇我们使用类型化契约的服务标记在COM中调用WCF服务,不过这个有一 定的局限性,因为需要注册类型,所以需要.Net FrameWork,但是在很多情况下COM客户端所在的环境没有 .Net Framework,比如说在Excel中,需要调用一个WCF服务来计算某个单元格的值,而且这个Excel文件可 能分发到许多机器上,你总不能给每台机器都装一个.Net Framework,同时都去给它注册所需的类型吧. 针对这种场景,我们可以使用MEX契约的服务标记来动态得到服务

jQuery实现ajax调用WCF服务的方法(附带demo下载)_jquery

本文实例讲述了jQuery实现ajax调用WCF服务的方法.分享给大家供大家参考,具体如下: 关于AJAX调用WCF服务分为跨域和不跨域两种方式,今天咱们先介绍下不跨域下的调用方法.DEMO是在VS2008写的. 经过测试与研究,发现AJAX调用WCF服务必须满足以下条件 1.wcf的通讯方式必须使用webHttpBinding 2.必须设置<endpointBehaviors>节点的值 3.服务的实现必须添加标记 复制代码 代码如下: [AspNetCompatibilityRequirem

wcf+silverlight 在ie10兼容模式下正常调用wcf服务,在标准模式下无法调用

问题描述 wcf+silverlight 在ie10兼容模式下正常调用wcf服务,在标准模式下无法调用 wcf+silverlight程序,在chrome,firfox,ie6-ie9下都能正常访问wcf服务,但是在ie10和ie11下访问wcf服务就报500错误了(我用fiddler监听看到的状态).还有在开发环境和部署在本地iis上是能正常访问的.部署到服务器后在ie10和ie11兼容模式下也可以正常访问. 我想问为什么部署到服务器后在ie10和ie11标准模式下无法调用wcf服务? 网站: