小编Nei*_*oss的帖子

TDD可以留下什么样的故障模式?

请注意我还没有在TDD上看到"光明",也没有真正理解为什么它拥有主要支持者宣传的所有好处.我并没有解雇它 - 我只是保留了可能由于无知而产生的保留.所以无论如何都要嘲笑下面的问题,只要你能纠正我:-)

使用TDD会让您对实施的意外副作用持开放态度吗?"满足测试的最少量代码"的概念建议用最狭隘的术语思考特定问题,而不必考虑更大的图景.

我正在考虑持有或依赖于状态的对象(例如内部字段值).如果您有单独实例化对象的测试,初始化该对象然后调用测试中的方法,您会如何发现一种方法留下了会对第一种方法的行为产生负面影响的无效状态?如果我已正确理解问题,那么您不应该依赖于测试执行的顺序.

我可以想象的其他失败包括非关闭流,不处理GDI +对象等.

这甚至是TDD的问题领域,还是整合和系统测试应该抓住这些问题?

在期待中感谢....

tdd

11
推荐指数
1
解决办法
270
查看次数

在SQL Server Management Studio中查看结果集的架构

在Sql Server Management Studio(2008)中有什么办法可以查看查询结果中每个字段的数据类型吗?

在这种情况下,我正在运行一个返回结果集的存储过程,我想知道nvarchar列的长度和小数的精度.

在过去,我创建了一个视图,其中包含存储过程中的基础查询,然后查看列列表,但在这种情况下,过程中的查询过于复杂.

有任何想法吗?

ssms sql-server-2008

9
推荐指数
1
解决办法
1928
查看次数

无论父sql server路径如何,报告服务实例的WMI查询都会返回所有实例

我们有一些代码来识别SQL Server实例及其关联的Reporting Server实例,这些实例会返回意外结果.

一机的两个实例SQL Express (2008) - (local)/SQLEXPRESS(local)/EXPRESS_BOB-每个都有自己的报告服务器.

使用WMI,我们识别SQL Server实例,并按预期工作.对于每个实例,我们然后查询RS实例,如下所示:

public void QueryServers(string wmiPath)
{
    using (
        var searcher = new ManagementObjectSearcher(
           wmiPath, 
           "Select * from MSReportServer_ConfigurationSetting"))
    {
        ManagementObjectCollection moc = searcher.Get();
        //
        // Process objects in moc
        //
    }
}
Run Code Online (Sandbox Code Playgroud)

这是针对wmiPath的两个值运行的(注意 - 需要以管理员身份运行):

  • wmiPath ="root\Microsoft\SqlServer\ReportServer\RS_SQLEXPRESS\v10\Admin"
  • wmiPath ="root\Microsoft\SqlServer\ReportServer\RS_EXPRESS_5fBOB\v10\Admin"

无论价值如何wmiPath,moc集合始终包含两个值:

  • moc [0] ["InstanceName"] ="SQLEXPRESS"
  • moc [1] ["InstanceName"] ="EXPRESS_BOB"

如何在指定的SQL Server实例的WMI路径下的查询返回(我希望)生活在不同路径下的Report Server实例?

这是查询的正确途径吗?

c# wmi reporting-services ssrs-2008

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

C#异步聚合和调度

我无法同化c#Task,异步和等待模式.

Windows服务,.NET v4.5.2服务器端.

我有一个Windows服务接受各种传入记录的来源,通过自托管的web api进行外部ad-hoc.我想批量处理这些记录,然后将它们转发给另一个服务.如果批处理记录的数量超过阈值,则应立即调度该批处理.此外,如果时间间隔已经过去,也应该调度原样的批次.这意味着记录永远不会超过N秒.

我正在努力将其融入基于任务的异步模式.

在过去的日子里,我会创建一个Thread,一个ManualResetEvent和一个System.Threading.Timer.线程将在重置事件上循环等待.Timer会在触发时设置事件,当批量大小超过阈值时,代码会执行聚合.在Wait之后,Thread将停止Timer,执行调度(HTTP Post),重置Timer并清除ManualResetEvent,循环返回和Wait.

然而,我看到民众说这是'坏'因为等待阻止了一个有价值的线程资源,而async/await是我的万能药.

首先,他们是对的吗?我的方式是过时的,效率低下还是JFDI?

我发现的例子在这里的配料和这里的间隔任务,而不是两者的组合.

这个要求实际上是否与async/await兼容?

c# async-await

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