我理解这个警告的概念(类似于这个问题),但是这段代码有什么问题?
private async Task LogWarningAsync(short? userCodeId, string message, params object[] args)
{
_logger.LogWarning(message, args);
// Do something on the database...
}
Run Code Online (Sandbox Code Playgroud)
警告:
CA2254
日志消息模板在调用“LoggerExtensions.LogWarning(ILogger, string?, params object?[])”之间不应有所不同
我想在不同的文件夹中检查项目的旧版本,因为我不想打扰我修改的本地内容,所以我想我会删除映射并将其映射到另一个文件夹,然后将其映射回来.
我很震惊地看到它开始删除我的文件!我快速点击取消.幸运的是,它似乎没有删除我的修改和本地文件.
我该怎么做这样的事情?
这发生在Visual Studio 2010的Team Foundation Server上,但我确信它适用于所有版本.
忙于C#中的自动化测试用例,我们需要在每次测试后恢复数据库快照.问题是,当运行多个测试时,它会失败,因为"当其他用户正在使用数据库时,无法更改数据库状态".
我们SqlConnection.ClearAllPools();在恢复之前使用,但在第四次测试之后,它将不会再次恢复运行,并且似乎池停止清除.(为什么四个?见编辑2)
我怎样才能让它更可靠?
编辑
也许我应该提供有关该系统的更多信息.这些是服务的单元集成测试.测试引用服务dll(没有服务引用,我们直接访问服务方法).因此,除了在每个测试块之后恢复数据库快照之外,测试中没有SQL.
这是一项服务,因此我们无法完全管理连接.我们有一个中心点,我们创建数据库对象,从中我们获取DbCommands来执行存储过程.
sp_who2在SQL studio中使用,我观察到以下内容:前四个测试块有一个到DB的会话(其中每个块由a ClearAllPools()和快照恢复分隔),但是从第五个测试块开始,有三个会话对应它.(为什么?这可能是问题的线索.)(快照恢复打开了与主数据库的附加连接.)所有打开的连接都有状态休眠,等待命令,甚至是阻止快照恢复连接的连接.
编辑2
为什么五个?我认为测试用例会随机执行,但我错了.我找到了罪魁祸首.打开多个连接,系统仅使用最后一个连接,其他连接处于挂起状态,直到退出后才会清除.
情况:共享单个后端服务器(WCF RIA或其他Web服务)的多个前端(例如Silverlight,ASP).
我正在寻找一个标准,以防止多人编辑同一个表格.我知道这不是一个容易的主题,但要求是要求.
以前我使用DB上次修改日期来对提交的数据进行处理,如果数据在加载后被修改,则会发出警告或错误.初始系统只是在没有任何警告的情况下覆盖数据.问题是我有一个新的要求来防止这两种情况.会有很多UI,因此锁定系统可能是一个挑战,并且显然无法保证客户端不会在编辑过程中关闭窗口/浏览器.
我将不胜感激任何帮助.
我知道如何从SourceTree中删除标签.只需右键单击,删除并勾选"从所有遥控器中删除标记".然后执行以下操作(-c diff.mnemonicprefix=false -c core.quotepath=false为了便于阅读,我省略了标志):
git tag -d my_tag
git push -v origin :refs/tags/my_tag
Run Code Online (Sandbox Code Playgroud)
这有效.
这是问题所在.
一段时间后,其他开发人员将其功能分支推送到源,SourceTree将自动将所有本地标签推送到远程服务器.这将重新创建我刚刚删除的标签.
我知道这个想法是标签不会"被认为"被删除,例如标记版本,但有时会发生错误.
有什么建议?
我有一个递归 CTE 查询,但是在创建循环时它失败了。我已经修复了简单的循环(例如 1 -> 2 -> 1),但无法修复更复杂的循环(例如 1 -> 2 -> 3 -> 2)。
测试表有两列:Base 和Parent。我想要一个所有祖先的列表。
如果您从 test2 开始,我的查询适用于下面的示例数据,但在您从 test1 开始时则无效。
样本数据
Base Parent
---- ------
test1 test2
test2 test3
test3 test2
Run Code Online (Sandbox Code Playgroud)
SQL 查询(我尝试的修复已在注释中标记)
;with sample_data (Base, Parent) as (
select 'test1', 'test2'
union select 'test2', 'test3'
union select 'test3', 'test2'
),
nt_list (Base, Ancestor, [level]) as (
select Base,
Parent Ancestor,
1 [level]
from sample_data
where Base = 'test1' -- START HERE
union all
select ntl.Base, …Run Code Online (Sandbox Code Playgroud) c# ×3
sql ×2
git ×1
session ×1
silverlight ×1
snapshot ×1
sourcetree ×1
tags ×1
tfs ×1
unit-testing ×1
wcf ×1