WCF流模式确实很慢

2024-05-24

我想知道为什么流模式下的 WCF 与缓冲模式相比确实很慢。

基本上,我从服务器读取大量数据(数据库访问),然后通过 WCF 将大量数据传输到其他客户端。

我通过比较两种不同的传输模式进行了一些测试和基准测试。

我创建了 2 个端点。第一个正在使用transferMode="Buffered"另一个正在使用transferMode="StreamedResponse".

通过从 SQL Server(虚拟表)加载相同的 100 万行,结果如下:

  • 缓冲的:20447毫秒。
  • 流媒体:109417毫秒。

流媒体是这样完成的Q/A https://stackoverflow.com/a/52083534/1504370。基本上,数据存储在IEnumerable<T>然后流式传输到使用它的客户端。

我可以提供WCFapp.config文件(如果需要)。

顺便说一句,我已经看过其他类似的问题,例如:

WCF NetTcpBinding 缓冲与流性能问题 https://stackoverflow.com/q/2111844/1504370

但他们并没有真正给出合适的答案。


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WCF流模式确实很慢 的相关文章

随机推荐

  • 原始 PDO 将 IOCTL 发送到上层过滤器驱动程序 (kbfiltr/moufiltr) 以启用/禁用设备

    我对驱动程序开发非常陌生 并尝试编写一个简单的过滤驱动程序来启用或禁用键盘或鼠标设备 如果我能让它工作 我想在插入鼠标时使用它来禁用笔记本电脑上的触摸板 我意识到可能已经有软件可以做到这一点 但我对设备驱动程序非常感兴趣并且想要自己学习如何
  • Qt:删除富文本

    对于明文有QFontMetrics elideText https doc qt io qt 5 qfontmetrics html elidedText https doc qt io qt 5 qfontmetrics html eli
  • 使用 Scala Slick 创建组合主键

    我正在尝试使用两列作为 Scala Slick 表的主键 这是我的表的定义方式 class NbaPlayerBoxScoreTable tag Tag extends Table NbaPlayerBoxScore tag player
  • 赋值运算符继承

    有这样的代码 include
  • GoLang 中的 HTML 部分

    我刚刚开始使用 Go 我想用它创建一个网络应用程序 我现在尝试的是以handlebarsjs 式的方式使用模板 我想将页眉和页脚从主页中取出 以便可以将它们注入到每个网页上 我当前的设置应该是解析主页 页眉和页脚 HTML 文件并缓存它们
  • 使用 Windows 命令行将多行环境变量回显到文本文件

    我有一个环境变量 SSH PRIVATE KEY 并希望使用命令行将其打印到文件中 而不使用批处理文件 这是因为我需要在 Gitlab Ci yml 脚本中使用此文件 在 Linux 中 这很简单 echo SSH PRIVATE KEY
  • HTML - 如何在 HTML 页面上创建递增/递减文本框?

    How can i create a increment decrement text box in HTML Page using jquery or Javascript 我还想设置最大值和最小值 我该如何实现这个目标 简单的 HTML
  • 测量以指定宽度包裹的文本高度

    如何计算渲染以指定宽度包裹的文本所需的高度 我在中找到了以下方法Graphics graphicsObj MeasureString text font width 但它需要一个实例Graphics当时我还没有图形实例 事实上 我更喜欢使用
  • 有哪些扩展内置对象的有用 JavaScript 方法? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 扩展内置 JavaScript 对象 如字符串 数组 日期 布尔值 数学等 的最有用 最实用的方法是什么 String format
  • [node][mocha]使用 mocha 测试时无法访问全局变量

    我正在尝试为快速节点应用程序创建单元测试 我希望用于测试的配置与生产中使用的配置不同 因此我实现了以下内容 In my index js 我将配置加载到全局变量中 如下所示 global env global env config requ
  • 谁决定 Java 中数据类型的大小

    Java中int等数据类型的大小由谁决定 JVM 操作系统还是处理器 int 大小为 4 字节 无论操作系统或处理器如何 它总是 4 字节吗 The Java语言规范 http docs oracle com javase specs jl
  • android 想要导航到多个目的地吗?

    有什么办法可以导航到多个目的地吗 就像你可以在谷歌地图上做的那样 您可能知道 您可以使用以下未记录的方式导航到目的地 startActivity new Intent Intent ACTION VIEW Uri parse google
  • 返回承诺与在承诺内返回未定义之间的区别

    我不太确定我是否理解这两种常见场景之间的区别 假设我们有这个 user save then function val anotherPromise1 val then function val anotherPromise2 val cat
  • 从会话 0(服务)启动提升的用户进程[重复]

    这个问题在这里已经有答案了 大家早 这个问题似乎已被问过几次 但我找不到它是否真的可能 我已发布于here http social msdn microsoft com Forums windowsdesktop en US 80e4e75
  • 跨计算机共享 Eclipse 工作区?

    我需要设计或使用 5 到 10 台 PC 使用 Eclipse 但具有相同的工作空间 我该怎么做 我已经尝试过 但无法共享工作区的文件夹 请帮忙 实际上 你想实现什么目标 因为工作区应该是特定于用户的 它包含诸如设置 视角如何设置 哪个视图
  • 将字符串数组添加到组合框

    我有一个组合框 我想加载一个从方法返回的字符串数组 我目前只是用 for 循环加载它 但我认为应该可以将字符串数组直接分配给组合框 我只是想改进我的代码 我已经做了一些搜索 并且看到了使用数据范围或数据源的答案 但这些似乎都不起作用 我也尝
  • 如何在 Django-admin 中呈现自定义嵌套复选框树视图?

    我有一个bugs映射到的模型categories 类别可以拥有其他类别 class Bug models Model categories models ManyToManyField Category name models CharFi
  • 如何将外部 JAR 包含在我自己的项目 JAR 中

    我有一个 Java 应用程序 创建了一个 JAR 文件并部署了它 该应用程序使用外部 JAR 例如 Log4J JAR 创建 JAR 文件时 如何将所有外部依赖 JAR 包含到我的存档中 为了让我的应用程序正常工作 我必须将 Log4J J
  • Mysql UUID_SHORT() 与 UUID() 相当吗

    如果您愿意的话 请快速提出问题或意见 我需要为数据库表生成一些 UUID 自动递增密钥不会减少它 因为我还需要密钥在数据库和系统中保持唯一 UUID 工作正常 但其输出对于行将导出到的某些系统来说太长 UUID SHORT 做得很好 我已经
  • WCF流模式确实很慢

    我想知道为什么流模式下的 WCF 与缓冲模式相比确实很慢 基本上 我从服务器读取大量数据 数据库访问 然后通过 WCF 将大量数据传输到其他客户端 我通过比较两种不同的传输模式进行了一些测试和基准测试 我创建了 2 个端点 第一个正在使用t