如何检查公共MSMQ是否为空

2024-02-02

有没有办法检查公共 MSMQ 是否为空?对于私有 MSMQ 来说很简单:

private bool IsQueueEmpty(string path)
        {
            bool isQueueEmpty = false;
            var myQueue = new MessageQueue(path);
            try
            {
                myQueue.Peek(new TimeSpan(0));
                isQueueEmpty = false;
            }
            catch (MessageQueueException e)
            {
                if (e.MessageQueueErrorCode == MessageQueueErrorCode.IOTimeout)
                {
                    isQueueEmpty = true;
                }
            }
            return isQueueEmpty;
        }

我如何对公共 MSMQ 进行相同的检查?如果我尝试使用上面的代码检查公共 MSMQ,则会在 Peak 上出现错误:

System.ArgumentOutOfRangeException:长度不能小于零。


我刚刚开始使用消息队列,但我的同事有一个很好的方法来检查队列是否为空:

if (MessageQueue.Exists(fullQueuePath))
{
    // FYI, GetMessageQueue() is a helper method we use to consolidate the code
    using (var messageQueue = GetMessageQueue(fullQueuePath))
    {
        var queueEnum = messageQueue.GetMessageEnumerator2();

        if (queueEnum.MoveNext())
        {
            // Queue not empty
        }
        else
        {
            // Queue empty
        }
    }
}

使用这种方法的好处是它不会抛出异常,而且我认为它不需要你等待超时发生。

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

如何检查公共MSMQ是否为空 的相关文章

  • Blazor 与 Razor

    随着 Blazor 的发明 我想知道这两种语言之间是否存在显着的效率 无论是在代码创建方面还是在代码的实际编译 执行方面 https github com SteveSanderson Blazor https github com Ste
  • 通信对象 System.ServiceModel.Channels.ServiceChannel 不能用于通信

    通信对象System ServiceModel Channels ServiceChannel 无法用于通信 因为它处于故障状态 这个错误到底是什么意思 我该如何解决它 您收到此错误是因为您让服务器端发生 NET 异常 并且您没有捕获并处理
  • Linux TUN/TAP:无法从 TAP 设备读回数据

    问题是关于如何正确配置想要使用 Tun Tap 模块的 Linux 主机 My Goal 利用现有的路由软件 以下为APP1和APP2 但拦截并修改其发送和接收的所有消息 由Mediator完成 我的场景 Ubuntu 10 04 Mach
  • std::map 和二叉搜索树

    我读过 std map 是使用二叉搜索树数据结构实现的 BST 是一种顺序数据结构 类似于数组中的元素 它将元素存储在 BST 节点中并按其顺序维护元素 例如如果元素小于节点 则将其存储在节点的左侧 如果元素大于节点 则将其存储在节点的右侧
  • 获取从属性构造函数内部应用到哪个属性的成员?

    我有一个自定义属性 在自定义属性的构造函数内 我想将属性的属性值设置为属性所应用到的属性的类型 是否有某种方式可以访问该属性所应用到的成员从我的属性类内部 可以从 NET 4 5 using CallerMemberName Somethi
  • 如何在 VS 中键入时显示方法的完整文档?

    标题非常具有描述性 是否有任何扩展可以让我看到我正在输入的方法的完整文档 我想查看文档 因为我可以在对象浏览器中看到它 其中包含参数的描述和所有内容 而不仅仅是一些 摘要 当然可以选择查看所有覆盖 它可能是智能感知的一部分 或者我不知道它并
  • C++11 函数局部静态 const 对象的线程安全初始化

    这个问题已在 C 98 上下文中提出 并在该上下文中得到回答 但没有明确说明有关 C 11 的内容 const some type create const thingy lock my lock some mutex static con
  • C++派生模板类继承自模板基类,无法调用基类构造函数[重复]

    这个问题在这里已经有答案了 我试图从基类 模板 继承 派生类也是模板 它们具有相同的类型 T 我收到编译错误 非法成员初始化 Base 不是基类或成员 为什么 如何调用基类构造函数 include
  • 通过不同 DLL 或 EXE 中的指针或引用访问 STL 对象时发生访问冲突

    我在使用旧版 VC6 时遇到以下问题 我只是无法切换到现代编译器 因为我正在处理遗留代码库 http support microsoft com kb 172396 http support microsoft com kb 172396
  • 组合框项目为空但数据源已满

    将列表绑定到组合框后 其 dataSource Count 为 5 但组合框项目计数为 0 怎么会这样 我习惯了 Web 编程 而且这是在 Windows 窗体中进行的 所以不行combo DataBind 方法存在 这里的问题是 我试图以
  • 如何排列表格中的项目 - MVC3 视图 (Index.cshtml)

    我想使用 ASP NET MVC3 显示特定类型食品样本中存在的不同类型维生素的含量 如何在我的视图 Index cshtml 中显示它 an example 这些是我的代码 table tr th th foreach var m in
  • 从匿名类型获取值

    我有一个方法如下 public void MyMethod object obj implement 我这样称呼它 MyMethod new myparam waoww 那么我该如何实施MyMethod 获取 myparam 值 Edit
  • 无法使用 Ninject 将依赖项注入到从 Angular 服务调用的 ASP.NET Web API 控制器中

    我将 Ninject 与 ASP NET MVC 4 一起使用 我正在使用存储库 并希望进行构造函数注入以将存储库传递给其中一个控制器 这是实现 StatTracker 接口的上下文对象 EntityFramework public cla
  • 为什么我使用google'smtp'无法发送电子邮件?

    我有以下程序使用 smtp gmail com 587 发送电子邮件 namespace TestMailServer class Program static void Main string args MailMessage mail
  • 如何在 GCC 5 中处理双 ABI?

    我尝试了解如何克服 GCC 5 中引入的双重 ABI 的问题 但是 我没能做到 这是一个重现错误的非常简单的示例 我使用的GCC版本是5 2 如您所见 我的主要函数 在 main cpp 文件中 非常简单 main cpp include
  • 为什么 Ajax.BeginForm 在 Chrome 中不起作用?

    我正在使用 c NET MVC2 并尝试创建一个 ajax 表单来调用删除数据库记录 RemoveRelation 的方法 删除记录的过程正在按预期进行 删除记录后 表单应调用一个 JavaScript 函数 从视觉效果中删除该记录 Rem
  • 在基类集合上调用派生方法

    我有一个名为 A 的抽象类 以及实现 A 的其他类 B C D E 我的派生类持有不同类型的值 我还有一个 A 对象的列表 abstract class A class B class A public int val get privat
  • Swagger 为 ASP.CORE 3 中的字典生成错误的 URL

    当从查询字符串中提取的模型将字典作为其属性之一时 Swagger 会生成不正确的 URL 如何告诉 Swagger 更改 URL 中字典的格式或手动定义输入参数模式而不自动生成 尝试使用 Swashbuckle 和 NSwag 控制器 pu
  • Azure函数版本2.0-应用程序blobTrigger不工作

    我有一个工作功能应用程序 它有一个 blob 输入和一个事件中心输出 在测试版中工作 随着最新的更改 我的功能不再起作用 我尝试根据发行说明更新 host json 文件 但它没有引用 blob 触发器 version 2 0 extens
  • 从类模板参数为 asm 生成唯一的字符串文字

    我有一个非常特殊的情况 我需要为类模板中声明的变量生成唯一的汇编程序名称 我需要该名称对于类模板的每个实例都是唯一的 并且我需要将其传递给asm关键字 see here https gcc gnu org onlinedocs gcc 12

随机推荐

  • StackOverflowError 和 OutOfMemoryError 之间有什么区别

    StackOverflowError 和 OutOfMemoryError 之间有什么区别以及如何在应用程序中避免它们 简短回答 OutOfMemoryError与堆有关 StackOverflowError和栈有关 长答案 你几时开始JV
  • ArrayList过滤器[重复]

    这个问题在这里已经有答案了 如何从 Java ArrayList 中过滤掉某些内容 例如 你好吗 你好吗 Joe Mike 过滤器是 如何 删除乔和迈克 In java 8 questions tagged java 8 他们介绍了该方法r
  • Angular 2中从父容器调用子容器中的函数

    我目前正在开发 Angular 2 应用程序 并尝试在子组件中调用函数 但似乎没有任何进展 我的父组件如下所示 应用程序组件 ts Component selector piano app styleUrls app components
  • 将模板缓冲区可视化为纹理

    我正在尝试将模板缓冲区放入纹理中 以便在延迟渲染器中使用 I m getting other Color and Depth Attachments with glFramebufferTexture2D GL FRAMEBUFFER GL
  • SWT/JFace 还是 Eclipse RCP?

    选择 Eclipse 富客户端平台作为我的应用程序基础而不是仅使用 SWT JFace 的原因有哪些 Eclipse RCP 不仅仅是一个 GUI SWT JFace 而是一个OSGi https stackoverflow com que
  • jquery 获取数组的选择选项

    我有点坚持一个 大概很容易解决问题 我想创建将用于网站上所有选择元素的代码 根据分配给 选项 的 标签 属性 我想隐藏所有其他 div 元素 这些元素的类与此特定 选择 菜单中 选项 的其他 标签 值相同 让我演示一下
  • Android L 无法绘制虚线作为可绘制背景

    Android L 无法绘制虚线作为可绘制背景 如下所示
  • 如何在 PHP 中将数组值转换为小写?

    在 PHP 中如何将数组中的所有值转换为小写 就像是array change key case use array map http php net manual en function array map php yourArray ar
  • Terraform 在 Windows 上启动缓慢。已知问题还是只有我一个?

    在 Windows 上运行 Terraform 二进制文件的执行速度一再缓慢 在 mac linux 上运行应用程序 几乎可以立即启动和完成简单的操作输出 tf仅 无main tf output 0 value cidrsubnet var
  • 无法解析主机

    在我的开发计算机上 这种情况再次随机发生 它在生产服务器上运行良好 所以无论如何 但我仍然需要在这里测试一下 无法解析主机 主机名 主机未找到 我知道这些设置存在安全漏洞 但现在 我更关心的是让它发挥作用 HTTP 地址当然可以正常工作 但
  • Android TextView 视图如何换行?

    我试图让 TextView 将其文本包装在多行中 但它似乎总是在第一行末尾被截断 以下是我认为的相关 XML
  • CouchDB 与 RDBMS 相比有何优势

    我听说过很多关于couchdb http couchdb apache org 最近 我对它提供的功能感到困惑 很难以严格的优势 劣势形式解释所有差异 我建议你自己尝试一下 CouchDB 您首先会注意到的是 初始使用期间的学习曲线与 RD
  • Jquery UI 可拖动绝对而不是相对?

    我有一个包含一些jquery可拖动对象的div 但是如果在任何时候我从页面中删除其中一个可拖动对象 那么这可以移动其余的它们 因为它们是相对定位的 这是一个展示这一点的小提琴 http jsfiddle net VolatileStorm
  • 如何从全局范围内调用 jquery 函数内的方法?

    我正在寻找一种方法来调用 jquery 函数内的方法 示例 在上面的代码中 我如何调用method 全局范围的方法 function fn test function var method function alert test succe
  • 创建私有远程ivy存储库

    我已经做了很多搜索 但无法将所有部分放在一起 我想在我们的一台服务器上创建一个 ivy 存储库 我想将其锁定 使其成为私有的 然后能够从 Gradle 发布到此存储库 我知道如何使用 Gradle 进行发布 并且我可以使用 Gradle 创
  • npm 命令在 ubuntu 上不起作用

    我在 Ubuntu 14 04 上安装了 node 和 npm 当我尝试使用任何 npm 命令时 出现以下错误 usr local lib node modules npm lib config cmd list js 113 module
  • jQuery UI 的对话框无法在 ASP.NET 上运行

    我有以下测试 ASPX 页面
  • Visual Studio 2019 IntelliTest 与 .NET Core、.NET Standard 的兼容性?

    我正在最新版本的 Visual Studio Enterprise 中评估 Intellitest 据我自己在各个网站上的尝试和研究来看 IntelliTest 似乎只与 NET Framework 兼容 不兼容 NET Standard
  • HBase:复制是如何工作的?

    我目前正在将 HBase 作为数据存储进行评估 但有一个问题没有得到解答 HBase 在许多节点上存储同一对象的许多副本 也称为复制 由于HBase具有所谓的强一致性 相比之下最终一致 它保证每个副本在读取时返回相同的值 据我了解 HBas
  • 如何检查公共MSMQ是否为空

    有没有办法检查公共 MSMQ 是否为空 对于私有 MSMQ 来说很简单 private bool IsQueueEmpty string path bool isQueueEmpty false var myQueue new Messag