WCF - Binding.ReceiveTimeout 和 ReliableSession.InactivityTimeout

2023-12-24

我正在尝试创建一个使用客户端回调的 WCF 服务。我希望只要有连接(互联网、网络)并且客户端或通道没有明确关闭通道,通道就保持打开状态。

为了保持通道开放(即使没有活动),我找到了 WCF 支持的可靠会话。我发现通过使用可靠会话,需要考虑两个计时器:Binding.ReceiveTimeoutReliableSession.InactivityTimeout.

在网上搜索后,我仍然无法理解这两者到底是如何协同工作的。我知道如果两次超时,连接就会进入故障状态。

我的第一个问题:启用可靠会话时到底会发生什么?

我的第二个问题:Here http://msdn.microsoft.com/en-us/library/system.servicemodel.channels.binding.receivetimeout.aspx,为什么msdn这么说?

由于如果任一不活动计时器触发,连接就会断开, 一旦 InactivityTimeout 大于 ReceiveTimeout,则增加 InactivityTimeout 没有影响。这两个超时的默认值为 10 分钟, 所以你总是必须同时增加它们才能产生影响 使用可靠的会话。


要获得第一个问题的答案,请查看此问题的精彩答案:

WCF可靠会话的目的是什么? https://stackoverflow.com/questions/2911221/what-is-the-purpose-of-wcf-reliable-session

对于我来说,msdn 网站上的解释很清楚: 当达到 ReceiveTimeout 中指定的时间(例如 10 分钟)时,它将结束连接,即使可靠会话已发送保持活动蜂鸣(例如每 1 分钟一次)。

每分钟发送的保持活动蜂鸣将确保永远不会达到 inactivityTimout(例如 5 分钟) - 因此通道将无限期地保持打开状态 - 但在 ReceiveTimeout 中指定的时间之后,会话/通道仍将关闭。

因此,据我了解,ReceiveTimeout 应该始终高于或与 inactivityTimeout 相同。

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

WCF - Binding.ReceiveTimeout 和 ReliableSession.InactivityTimeout 的相关文章

  • Sitecore - 隐藏功能区中的按钮

    我为特定内容项创建了上下文功能区 我有两个按钮 可以将项目 升级 或 降级 到某一类别 该部分只能有一个 是否可以根据某种隐藏代码中的内容状态隐藏其中一个按钮 我了解如何链接到 Click 事件 但我想知道是否有某种加载事件可供自定义功能区
  • 找不到 Microsoft.Office.Interop Visual Studio

    我正在开发一个使用 C 发送电子邮件的应用程序 该应用程序将能够使用邮件模板等 问题是我无法找到任何 Office Interop 引用 这意味着我无法使用 Outlook 我的计算机上安装了 Office 但我也尝试从此链接安装 PIAh
  • 为什么当要求修剪“PRN.NUL”时,TrimStart 会更多地修剪字符?

    这是代码 namespace TrimTest class Program static void Main string args string ToTrim PRN NUL Console WriteLine ToTrim string
  • VB.NET 中的静态方法实现

    我很困惑Static在 VB NET 中的实现 在 C 中 我们可以创建静态类和静态方法来为我们的应用程序编写实用方法 现在 VB NET 让我们创建Module代替静态类 如果我们在模块中创建一个方法 默认情况下它会变成静态的 但在我的应
  • 如何在 Linq to SQL 中使用distinct 和 group by

    我正在尝试将以下 sql 转换为 Linq 2 SQL select groupId count distinct userId from processroundissueinstance group by groupId 这是我的代码
  • 如何在 Android 中使用 C# 生成的 RSA 公钥?

    我想在无法假定 HTTPS 可用的情况下确保 Android 应用程序和 C ASP NET 服务器之间的消息隐私 我想使用 RSA 来加密 Android 设备首次联系服务器时传输的对称密钥 RSA密钥对已在服务器上生成 私钥保存在服务器
  • 取消任务

    我尝试运行一个关于取消任务的简单示例 如下所示 CancellationTokenSource tokenSource2 new CancellationTokenSource CancellationToken token2 tokenS
  • SQLite .NET 性能,如何加快速度?

    在我的系统上 约 86000 个 SQLite 插入需要长达 20 分钟 意味着每秒约 70 个插入 我要做数百万 我怎样才能加快速度 对每一行的 SQLiteConnection 对象调用 Open 和 Close 会降低性能吗 交易有帮
  • 如何在C#背后的代码中动态创建数据模板并绑定TreeView分层数据

    我有一个场景 其中树视图动态更改其数据模板和数据绑定定义 我在 XAML 中创建了一个树视图 如下所示
  • NuGet:包含 .pdb 文件并排除“Content”文件夹

    我已将以下行合并到 CI 构建中在每个构建上创建一个私有 NuGet 包 nuget pack C Projects Test Test vbproj OutputDirectory nas1 NuGet The 读取AssemblyInf
  • 在 Azure DevOps 中为 Wix MSI 文件生成 GUID

    我正在为 Web 服务器应用程序和 Sitecore 前端应用程序设置 Wix 安装程序 我的问题并非特定于 Web 服务器或 Sitecore 我的问题是 Wix 以及如何使用它进行持续交付 1 Wix 需要每个文件和产品本身的 GUID
  • 为什么 new String("Hello") 在 C# 中无效?

    制作背后的逻辑 原因是什么 String s new String Hello World 在 C 中非法 错误是 string String char 的最佳重载方法匹配有一些无效参数 我对 API 文档不感兴趣 我感兴趣的是为什么这是非
  • WPF:Prism 对于小型应用程序来说是不是太过分了?

    如果我不将我的应用程序分成不同的模块 否则我会认为 Prism 确实是可行的方法 我应该使用 Prism 吗 我知道 Prism 提供了一个方便的实现ICommand 我可以自己在一页代码中完成 并为我们提供IEventAggregator
  • Windows 7 任务栏:捕获缩略图

    是否可以从 Win7 任务栏捕获 实时 缩略图 我想在我的应用程序中显示 另一个窗口的 预览 但如何使用 NET 提取这些预览 Yes MSDN 杂志解释了如何 http msdn microsoft com en us magazine
  • 如何计算最低系统要求?

    对于我用 Visual C 编写的应用程序 Testing 不 真的 这就是全部
  • WCF RIA 服务 - 加载多个实体

    我正在寻找一种模式来解决以下问题 我认为这很常见 我正在使用 WCF RIA 服务在初始加载时将多个实体返回给客户端 我希望两个实体异步加载 以免锁定 UI 并且我想利用 RIA 服务来执行此操作 我的解决方案如下 似乎有效 这种方法会遇到
  • 如何从c#中的窗口服务获取登录用户和机器名?

    如何在c 中从窗口服务获取登录用户 交互式用户 和机器名 当我尝试使用环境和其他类来登录用户名时 它只从窗口服务返回 NT AUTHORITY SYSTEM 该服务在 SYSTEM 帐户下执行 因此您在Environment班级 机器名称应
  • 为什么两个不同的 Base64 字符串的转换会返回相等的字节数组?

    我想知道为什么从 base64 字符串转换会为不同的字符串返回相同的字节数组 const string s1 dg const string s2 dq byte a1 Convert FromBase64String s1 byte a2
  • C#中如何移动PictureBox?

    我已经使用此代码来移动图片框pictureBox MouseMove event pictureBox Location new System Drawing Point e Location 但是当我尝试执行时 图片框闪烁并且无法识别确切
  • C# - OutOfMemoryException 在 JSON 文件上保存列表

    我正在尝试保存压力图的流数据 基本上我有一个压力矩阵定义为 double pressureMatrix new double e Data GetLength 0 e Data GetLength 1 基本上 我得到了其中之一pressur

随机推荐

  • XInitThreads() 的缺点是什么?

    I know XInitThreads 将允许我从主线程以外的线程调用 X 服务器 如果我想使 Xlib 中的并发线程支持是必要的使用 Qt 从辅助线程调用 OpenGL http doc qt digia com qq qq06 glim
  • Restful 是仅适用于 Web 服务还是同时适用于 Web 服务和网页?

    我读了很多 PHP 的 Restful 教程 我不想深入探讨为什么我不使用RoR 这是因为团队对PHP更加熟悉 因为我们计划未来扩展 API 所以我了解到实现 Restful Web 服务非常重要 我看过诸如此类的教程 http www g
  • 在什么情况下,c++析构函数不会被调用? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • tools.jar 似乎不在 Windows 8 上的 Android Studio 类路径中

    我安装了 Android Studio 但它给了我错误 我需要安装 JDK 但 JDK 已经安装了 然后我意识到它要求安装64位版本的JDK 无论如何 我刚刚下载了最新的 JDK 64 位版本并在环境变量中设置了以下内容 但 Android
  • 如何让 docker-machine 在特定位置创建虚拟机

    我的开发机器是一台笔记本电脑 配有小型 SSD 和巨大的外部磁盘 理想情况下 我希望 docker machine 使用外部驱动器 而不是填满我的内部磁盘 我知道我可以用安装等方式破解它 但是有没有办法让 docker machine 命令
  • Drupal Android 应用程序登录持久性

    我已经成功设置了一个 Android 应用程序 可以登录到我的 drupal 网站 我的问题是登录的用户会话不会持续很长时间 该网站清楚地显示我的用户已登录该网站 但在一个小时左右的时间内 该用户不再在该网站上显示为活动状态 我猜测是因为我
  • 在fabricJS 中如何使用transformMatrix 变换点?

    我正在尝试放置点 通过fabric Circle 在一个角落fabric Polygon 用户可以移动 缩放或旋转多边形 但是 每次修改后我都希望获得多边形的新坐标来将我的圆放置在那里 在深入研究这个主题时我发现this http www
  • ASP .NET MVC 中 web.config 中的 TargetFramework 设置有何含义?

    我们的 ASP NET MVC 5 Web 应用程序之一具有以下 web config 设置
  • 如何阅读XMI?

    我需要读取序列化为 XMI 的 UML 图 是否有任何库可以让我方便地阅读 UML XMI 方便我的意思是有一些方法来迭代模型中的类 包 方法 属性测试等 我尝试了 EMF 但找不到任何教程来展示如何导入包含 UML 的 XMI 我也发现了
  • Android:如何将整个ImageView转换为Bitmap?

    我的应用程序显示不同比例的图像 并在 centerInside imageView 内调整大小 我需要的是从 ImageView 创建位图 包括背景 在本例中为黑色 例如 我的设备屏幕为 320x480 全屏 imageView 的图像大小
  • 使用字符串参数调用 Web api

    我有一个 Web api 其中有 2 种方法 一种没有参数 两种具有不同类型的参数 字符串和整数 调用字符串方法时它不起作用 我在这里缺少什么 public class MyControllerController ApiControlle
  • 来自对象库和 DLL 导出的 CMake 共享库

    背景 我使用 cmake 构建一个开源库 https github com simulton gpds 该项目设置为执行以下操作 构建一个cmakeOBJECT图书馆名为gpds objs Build a STATIC图书馆名为gpds s
  • 在 pygame 中渲染文本会导致延迟

    I have write我的函数模块中的函数如下所示 def write size writing color x y font pygame font SysFont corbel size text font render writin
  • MySql 偏移量查询不起作用

    我有 MySql Workbench 6 2CE 希望这有帮助 我正在尝试像这样的偏移查询 SELECT id FROM nameTable OFFSET 10 ROWS 但它给了我一个关于 10 的语法错误 在这个位置不是有效的输入 有谁
  • 停止页面加载并在内容脚本中重定向

    我正在 Chrome 中制作扩展程序 需要停止页面加载 不完全加载页面 并重定向到 url 如果与 ajax 查询匹配 我在用content scripts 并尝试使用 window location replace http facebo
  • Android Studio 3.1.3 中缺少 LogCat

    我最近在我的笔记本电脑上安装了 Android Studio 3 1 3 以便开始学习 android 移动开发 我对这一切仍然陌生 不过 LogCat 选项似乎丢失了 参见下图 为了解决这个问题我尝试做的事情 卸载并重新安装android
  • 如何将 Django 模型设置为只读?

    是否可以将 Django 模型设置为只读 无需创建 更新等 注意 这个问题不同于 将 Django 模型设置为只读 https stackoverflow com questions 4334049 make a django model
  • Symfony2/Doctrine2:在侦听器内管理多个实体管理器的问题

    我正在按照那个食谱做http docs doctrine project org projects doctrine mongodb odm en latest cookbook blending orm and mongodb odm h
  • 如何修复剥离失败“因为它是在重定位中命名的”

    我正在构建一个静态库 并试图删除所有非公共例程 但出现此错误 strip not stripping symbol g722 state update because it is named in a relocation 我该如何解决这个
  • WCF - Binding.ReceiveTimeout 和 ReliableSession.InactivityTimeout

    我正在尝试创建一个使用客户端回调的 WCF 服务 我希望只要有连接 互联网 网络 并且客户端或通道没有明确关闭通道 通道就保持打开状态 为了保持通道开放 即使没有活动 我找到了 WCF 支持的可靠会话 我发现通过使用可靠会话 需要考虑两个计