iis服务器助手广告
返回顶部
首页 > 资讯 > 精选 >客户端如何执行WCF异步调用
  • 631
分享到

客户端如何执行WCF异步调用

2023-06-17 20:06:38 631人浏览 独家记忆
摘要

这篇文章主要为大家展示了“客户端如何执行WCF异步调用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“客户端如何执行WCF异步调用”这篇文章吧。客户端究竟应该如何执行WCF异步调用呢?如果采用编程

这篇文章主要为大家展示了“客户端如何执行WCF异步调用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“客户端如何执行WCF异步调用”这篇文章吧。

客户端究竟应该如何执行WCF异步调用呢?如果采用编程方式获得服务代理对象,这一问题会变得比较糟糕。因为我将服务契约的定义单独形成了一个程序集,并在客户端直接引用了它。然而,在这样的服务契约程序集中,是没有包含异步方法的定义的。因此,我需要修改在客户端的服务定义,增加操作的异步方法。这无疑为服务契约的重用带来障碍。至少,我们需要在客户端维持一份具有异步方法的服务契约。

所幸,在客户端决定采用异步方式调用我所设计的服务操作时,虽然需要修改客户端的服务契约接口,但并不会影响服务端的契约定义。因此,服务端的契约定义可以保持不变,而在客户端则修改接口定义如下:

[ServiceContract]  public interface IDocumentsExplorerService  {  [OperationContract]  Stream TransferDocument(Document document);   [OperationContract(AsyncPattern = true)]  IAsyncResult BeginTransferDocument(Document document,  AsyncCallback callback, object asyncState);   Stream EndTransferDocument(IAsyncResult result);  }

注意,在BeginTransferDocument()方法上,必须在OperationContractAttribute中将AsyncPattern属性值设置为true,因为它的默认值为false。合理地利用服务的异步调用,可以有效地提高系统性能,合理分配任务的执行。特别对于UI应用程序而言,可以提高UI的响应速度,改善用户体验。在我编写的应用程序中,下载的文件如果很大,就有必要采用异步方式。WCF异步调用方式如下:

BasicHttpBinding binding = new BasicHttpBinding();  binding.SendTimeout = TimeSpan.FromMinutes(10);  binding.TransferMode = TransferMode.Streamed;  binding.MaxReceivedMessageSize = 9223372036854775807;  EndpointAddress address = new EndpointAddress  ("http://localhost:8008/DocumentExplorerService");  ChannelFactory factory =  new ChannelFactory(binding,address);  m_service = factory.CreateChannel();   ……  IAsyncResult result = m_service.BeginTransferDocument(doc,null,null);  result.AsyncWaitHandle.WaitOne();  Stream stream = m_service.EndTransferDocument(result);

以上是“客户端如何执行WCF异步调用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: 客户端如何执行WCF异步调用

本文链接: https://www.lsjlt.com/news/292634.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 客户端如何执行WCF异步调用
    这篇文章主要为大家展示了“客户端如何执行WCF异步调用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“客户端如何执行WCF异步调用”这篇文章吧。客户端究竟应该如何执行WCF异步调用呢?如果采用编程...
    99+
    2023-06-17
  • Ajax客户端如何异步调用服务端
    这篇文章主要为大家展示了“Ajax客户端如何异步调用服务端”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Ajax客户端如何异步调用服务端”这篇文章吧。ajax的...
    99+
    2024-04-02
  • 如何实现WCF异步调用
    小编给大家分享一下如何实现WCF异步调用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!原来上网我下了很多WCF异步调用Demo。而我用的是VS2005,我在使用这...
    99+
    2023-06-17
  • WCF如何实现异步调用
    这篇文章主要为大家展示了“WCF如何实现异步调用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“WCF如何实现异步调用”这篇文章吧。异步调用是编程中不可缺少的,在工作中积累一点经验,现在我们里关注...
    99+
    2023-06-17
  • 如何解决WCF客户端配置问题
    小编给大家分享一下如何解决WCF客户端配置问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!WCF经过长时间的发展,很多用户都很了解WCF客户端配置了,这里我发表...
    99+
    2023-06-17
  • 怎么对WCF异步调用进行服务操作
    本篇内容主要讲解“怎么对WCF异步调用进行服务操作”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么对WCF异步调用进行服务操作”吧!我将服务契约的定义单独形成了一个程序集,并在客户端直接引用了...
    99+
    2023-06-17
  • J2EE如何运行web客户端
    这篇“J2EE如何运行web客户端”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“J2EE如何运行web客户端”文章吧。运行w...
    99+
    2023-06-03
  • 如何使用VS Code的REST客户端插件进行API调用
    这篇文章主要介绍“如何使用VS Code的REST客户端插件进行API调用”,在日常操作中,相信很多人在如何使用VS Code的REST客户端插件进行API调用问题上存在疑惑,小编查阅了各式资料,整理出简单...
    99+
    2024-04-02
  • VNC客户端是Windows,VNC客户端是Windows如何进行操作
    IIS7服务器管理工具是一款VNC的客户端,它能够进行VNC的操作;除此之外,它还是一款FTP的客户端,也是能够进行FTP的相关操作;它还可以连接Windows和Linux系统下的服务器和PC,并且实时监测他们的连接情况!下载地址:[服务器...
    99+
    2023-06-04
  • 如何运行J2EE应用程序客户端
    这篇文章主要介绍“如何运行J2EE应用程序客户端”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何运行J2EE应用程序客户端”文章能帮助大家解决问题。在终端窗口中,进入到examples/src/E...
    99+
    2023-06-03
  • C#如何使用Task执行异步操作
    目录为什么要使用 Task Task 和 Thread 区别 Task 介绍 Task 简单实现 Task 执行状态 1.等待(Wait) 2. 返回值 3. Task.Delay ...
    99+
    2024-04-02
  • 如何使用 delve 调试器单步执行可执行文件?
    学习Golang要努力,但是不要急!今天的这篇文章《如何使用 delve 调试器单步执行可执行文件?》将会介绍到等等知识点,如果你想深入学习Golang,可以关注我!我会持续更新相关文章的,希望对大...
    99+
    2024-04-05
  • async/await如何让异步操作同步执行
    小编给大家分享一下async/await如何让异步操作同步执行,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一.前言我们经常会遇到这样的麻烦事,多个函数按顺序执行,返回结果却不是我们预期的...
    99+
    2024-04-02
  • jQuery如何执行异步 HTTP (Ajax) 请求。
    ...
    99+
    2024-04-02
  • java代码如何实现异步执行
    在Java中,可以使用多线程或者使用Java 8之后引入的CompletableFuture来实现异步执行。 使用多线程: Th...
    99+
    2023-10-25
    java
  • Laravel如何实现supervisor执行异步进程
    今天小编给大家分享一下Laravel如何实现supervisor执行异步进程的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。问...
    99+
    2023-07-04
  • linux 中如何使用svn客户端
    今天就跟大家聊聊有关linux 中如何使用svn客户端,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1、将文件checkout到本地目录 svncheckoutpath(path是服...
    99+
    2023-06-13
  • SpringBootEvent事件如何实现异步延迟执行
    目录SpringBoot Event 事件实现异步延迟执行使用它只需要三样东西总结SpringBoot Event 事件实现异步延迟执行 Spring的事件(Application ...
    99+
    2023-02-14
    SpringBoot Event事件 异步延迟执行 SpringBoot实现异步
  • PureFTPd之如何使用Windows命令行FTP客户端和ls
    小编给大家分享一下PureFTPd之如何使用Windows命令行FTP客户端和ls,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Pureftpd是一款快速,高质量...
    99+
    2023-06-16
  • JavaScript如何实现异步调用
    小编给大家分享一下JavaScript如何实现异步调用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!问题可修改下面的 aa() ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作