调用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-08-06 14:24:11

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

WPF异步调用WCF服务

wpf调用wcf时,第一次访问总耗时到达几秒,影响界面的用户体验,因此在wpf加载界面和加载数据时采用异步加载,即异步访问wcf服务, 由于是否采用异步加载和服务端无关,仅仅由客户端自己根据需要来选择,则我们只需要在客户端(WPF)程序中采用异步的方法.如下: //1.创建一个异步对象,访问wcfFunc<string, string, List<NodeItem>> GetDataFromWCF = new Func<string, string, List<Node

PHP调用WCF提供的方法

一.准备工作 1.安装wampserver:过程略 2.配置wampserver: 2.1打开php.ini文件,去掉 ;extension=php_soap.dll 这里那个分号. 也有说把这个 ;extension=php_openssl.dll前面的分号也去掉的. 2.2 如上图,将php_soap打上√. 2.3 如上图,打开httpd.conf文件,找到Listen 80 ,将80端口改成一个较大的端口,如8000.因为80端口也能别的程序用着. 在这个directory里面有php页

Asp.net MVC 调用WCF

asp.net 调用wcf服务有点不同,如上图,取消勾选.

spring调用wcf以及配置过程

原文出自于 http://www.blogjava.net/downmoon/archive/2010/08/24/329786.html 我们看看生成的WSDL 第二步:调用WCF生成的WSDL生成java客户端. 首先,请允许我介绍下axis2,它的官方地址:http://ws.apache.org/axis2/ 这是一个java平台的web service解决方案.我们最常用的是WSDL2Java和Java2WSDL两个功能. 关于Web service的另一个解决方案是xFire,我没试

Dynamic CRM 2013学习笔记(二十二)插件里调用WCF服务

  1. 添加service:     2.调用WCF BasicHttpBinding myBinding = new BasicHttpBinding(); myBinding.Name = "BasicHttpBinding_IAuthService"; myBinding.Security.Mode = BasicHttpSecurityMode.None; myBinding.Security.Transport.ClientCredentialType = HttpClie

Java与WCF交互(一):Java客户端调用WCF服务

最近开始了解WCF,写了个最简单的Helloworld,想通过java客户端实现通信.没想到以我的基础,居然花了整整两天(当然是工作以外的时间,呵呵),整个过程大费周折,特写下此文,以供有需要的朋友参考: 第一步:生成WCF服务 新建WCF解决方案,分别添加三个项目,HelloTimeService(类库),HelloTimehost(控制台程序),HelloTimeClient(控制台程序),项目结构如图:各个项目的主要代码:service: Host: Client: 编译通过后,测试Hos

Socket使用SOAP调用WCF

使用Socket调用WCF服务,就是要完全构造出服务调用的消息报文,服务使用的是BasicHttpBinding作为通信方式,那么就是http消息报文了,下面模拟消息报文 新建一个txt文本文档:request.txt,编写如下内容 POST /operation HTTP/1.1 Content-Type: text/xml; charset=utf-8 SOAPAction: "urlns://little.org/operation/Add" Host: localhost:80

js调用wcf 的SOA

jquery 调用wcf 的SOA架构,将三层架构运用到SOA的架构中来 经过前面3天的学习,我想大家应该对SOA的架构有了初步的了解,其实 SOA与三层架构并不冲突,而是三层架构的升级版. 来看下传统的三层架构! 一共可以分为4个层: 模型层(可有可无),客户端,服务端,公共层. 我们在原有的三层架构的基础上,我们增加一个服务中转层! 然后客户端 通过 调用 服务中转,然后在调用  服务层,因为客户端可以有多个,可以是安卓,可以是IOS, 可以是电脑,可以是linux, 因为这个不管是什么样的

记录:Web无引用无配置方式动态调用WCF服务

这几年一直用WebApi较多,最近项目中有个需求比较适合使用WCF,以前也用过JQuery直接调用Wcf的,但是说实话真的忘了… 所以这次解决完还是花几分钟记录一下 WCF服务端:宿主在现有Win服务中,在服务启动时添加代码 ,服务代码就不用写了,接口和实现按照契约实现即可 private ServiceHost serviceHost = null; //服务宿主 //启动WCF服务 if (serviceHost != null) { serviceHost.Close(); } servi