小编Pau*_*aul的帖子

使用RabbitMQ的MassTransit:恢复错误队列

这可能是一个非常简单的答案,但我没有在MassTransit文档或论坛中看到明显的解决方案.

如果有一些消息已经移到RabbitMQ中的错误队列中,那么将它们带回处理队列的最佳机制是什么?此外,是否有任何内置的记录,为什么他们首先在那里移动?

masstransit rabbitmq

17
推荐指数
1
解决办法
3248
查看次数

ThreadPoolConsumerPool中的MassTransit NullReferenceException

在ASP.NET中运行MassTransit时.根据NullReferenceException此处报道的问题,Google正在抛出: Google讨论组

相关细节
当AppDomain重新加载时,有人知道如何优雅地捕获异常吗?

堆栈跟踪只能到MassTransit DLL:

NullReferenceException in ThreadPoolConsumerPool

Locating source for 'd:\BuildAgent-03\work\8d1373c869590c5b\src\MassTransit\Threading\ThreadPoolConsumerPool.cs'. (No checksum.)
The file 'd:\BuildAgent-03\work\8d1373c869590c5b\src\MassTransit\Threading\ThreadPoolConsumerPool.cs' does not exist.
Looking in script documents for 'd:\BuildAgent-03\work\8d1373c869590c5b\src\MassTransit\Threading\ThreadPoolConsumerPool.cs'...
Looking in the projects for 'd:\BuildAgent-03\work\8d1373c869590c5b\src\MassTransit\Threading\ThreadPoolConsumerPool.cs'.
The file was not found in a project.
Looking in directory 'C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\crt\src\'...
Looking in directory 'C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\atlmfc\src\mfc\'...
Looking in directory 'C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\atlmfc\src\atl\'...
Looking in directory 'C:\Program Files (x86)\Microsoft Visual Studio …
Run Code Online (Sandbox Code Playgroud)

c# asp.net masstransit

8
推荐指数
1
解决办法
438
查看次数

Resharper - 在C#中使用"prop"快捷方式时禁用"帮助"

我对Resharper的一个功能非常恼火,我无法找到如何独立禁用.

关闭Resharper,每当我输入propVS2015并按下时TAB,我会得到以下自动生成的代码:

public int MyProperty { get; set; }
Run Code Online (Sandbox Code Playgroud)

而我则能够之间切换int,并MyProperty重复按TAB一次.我也可以使用自动完成功能填写变量类型.

例如,假设我想创建一个名为"test"的属性为"string"的属性,我会执行以下操作:

  1. 类型 prop
  2. TAB以生成属性代码模板
  3. 类型 stri
  4. 按下TAB以自动完成变量类型string
  5. TAB移动到变量名称占位符
  6. 类型 test
  7. Return完成

完善.

然而,在启用Resharper的情况下,虽然步骤1,2和3仍然有效,但在此之后它们都会进入底池!

如果我按TAB尝试自动完成变量类型,光标只需移动到变量名称,将变量类型保留为stri.

如果我然后按TAB(或甚至SHIFT+TAB)再次尝试回到它,它只是完成该行.


为了让事情变得更清楚,我提供了两个GIF来证明我的问题.

第一个显示Resharper禁用时会发生什么: 在此输入图像描述

虽然这个说明了我目前在启用Resharper时遇到的挫败感: 在此输入图像描述

c# resharper autocomplete visual-studio-2015 resharper-9.2

8
推荐指数
2
解决办法
495
查看次数

在ASP.NET网页中存储数据的最佳实践

我有一组多用户的ASP.NET网页.页面使用AJAX更新面板,因此我可以避免在每次回发时更新屏幕.每个页面的生命周期如下:
1.在Page_Load期间,从Web服务获取用户的相关数据.
2.将数据(非常大)和服务引用存储在静态数据集中.
3.允许通过屏幕控制(网格,文本框)对部分数据进行各种编辑
.4.验证通过表单
5 捕获的数据.将更新的数据发送回服务

我在Page类本身中使用静态变量执行此操作,如下所示:

public partial class MyPage : System.Web.UI.Page
{
    static xxxx.DataCaptureServiceClient  m_Service; //reference to web service
    static string m_PersonID = string.Empty;  //current person_id page is viewing
    static ServResponse m_ServiceResult = null;        // reference to our data to edit ( ServResponse is a large data contract)   
    static string m_SortExpression = "Reference"; //default sort expression for grid

    const int PERSONID_COLUMN = 0;        //column index in grid for the personID column
    const int STATUS_COLUMN = 4;          //column …
Run Code Online (Sandbox Code Playgroud)

c# asp.net

5
推荐指数
1
解决办法
2967
查看次数

将TDD回溯应用到C#代码库的最佳选择

我有一个由5个C#库组成的现有框架,该框架自2006年以来使用得很好,并且是我大多数项目的主要代码库.我公司希望出于软件质量的原因推出TDD; 通过许多教程和阅读理论,我了解TDD的好处.

时间不是无限的我需要为实际的方法制定计划.据我所知,我看到的选项是:

A)可以使用一个测试项目来重叠来自所有5个库组件的对象.一系列高级测试可能是最初被视为非常大的软件库的起点.

B)5个库组件中的每一个的测试项目.这些项目将在最低级别测试功能,与其他库组件隔离.

C)由于代码被广泛认为有效,因此只需对错误修复或新功能添加单元测试.使用重现错误的步骤编写一个测试,该测试在包含错误的逻辑上失败.然后重新计算代码,直到测试通过.现在您可以确信错误已得到修复,并且以后也不会在循环中引入

无论选择哪个选项,都可能需要"Mocking"来替换外部依赖项,例如:

  • 数据库
  • 网络服务
  • 配置文件

如果有人有任何更多的输入,这将是非常有帮助的.我计划在Visual Studio 2010中使用Microsoft内置的MSTest.

c# tdd mstest mocking legacy-code

5
推荐指数
2
解决办法
650
查看次数

十进制算术溢出

我根本无法解决这个问题,我试图根据下面的条件求和TOTAL的值,这会导致ArithmeticOverflow:

var rawData = (from e in Context.TOTALS
                where (e.PAN == "2600000246701" || e.PAN == "2600000246696")
                select e.TOTAL).Sum();
Run Code Online (Sandbox Code Playgroud)

但是,如果我将条件分成两个单独的查询,它可以工作:

var rawData1 = (from e in Context.TOTALS
                where (e.PAN == "2600000246696")
                select e.TOTAL).FirstOrDefault();

var rawData2 = (from e in Context.TOTALS
                 where (e.PAN == "2600000246701")
                 select e.TOTAL).FirstOrDefault();

decimal? output = rawData1 + rawData2; //output is 696768.0186M
Run Code Online (Sandbox Code Playgroud)

该值明显符合小数,我不明白为什么会有任何缩小的转换.

我正在使用Entity Framework和Oracle后端.

.net c# linq oracle entity-framework

3
推荐指数
1
解决办法
1216
查看次数