我以为我理解了这一点,并且有点尴尬要问,但是,有人可以向我解释为什么以下代码的异常处理程序中的断点没有被命中?
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
static void Main()
{
Thread testThread = new Thread(new ParameterizedThreadStart(TestDownloadThread));
testThread.IsBackground = true;
testThread.Start();
}
static void TestDownloadThread(object parameters)
{
WebClient webClient = new WebClient();
try
{
webClient.DownloadFile("foo", "bar");
}
catch (Exception e)
{
System.Console.WriteLine("Error downloading: " + e.Message);
}
}
Run Code Online (Sandbox Code Playgroud) 我在我的应用程序中的调度程序项目(类库)中使用quartz.NET,这是因为我希望其他项目与实际实现无关.在将来,如果我想更改Castle Scheduler或Windows Scheduler或wathever的石英...我将有灵活性来更改它.
我需要在Quartz.NET项目上对每周触发器进行单元测试,我开始研究并发现目前似乎是一个很酷的解决方案MOLES这个扩展基本上允许我更改DateTime.Now并转到未来!
在这种情况下,从现在开始一周,当触发器被安排发射时,但在等待一段时间后发现我的触发器没有被激活的悲伤,即使在改变时间和Thread.Sleeping几分钟......
我想要展望未来的原因是因为在应用程序中我正在为每种请求使用不同的方法/触发器EG Weekly,Weekly with recurrence,Monthly,Yearly
有没有其他人单位测试过这种情况?
有什么东西我路过吗?
MOLES可以吗?
在MsBuild中,可以创建build.proj.user由Microsoft.Common.Targets构建文件解析的文件.
我想有一个类似的系统,可以在文件夹的根目录中有一个.user文件,并让msbuild从这个文件中获取配置设置.
以这些路径为例:
c:\working\build.proj.user
c:\working\solution1\build.proj.user
c:\working\solution1\project1\
c:\working\solution1\project2\
c:\working\solution1\project3\build.proj.user
c:\working\solution2\
c:\working\solution2\project1\
c:\working\solution2\project2\
Run Code Online (Sandbox Code Playgroud)
我希望实现对于solution1/project1,文件c:\working\solution1\build.proj.user被读取以及对于solution2/project1文件c:\working\build.proj.user
目的是允许根据解决方案和/或项目自定义集成测试连接字符串属性.
我看到的当前解决方案是:
我不是任何一个解决方案的粉丝,并且想知道是否有更优雅的方式来实现我的目标(使用msbuild).
我正在尝试创建一个基于数据库在线状态运行的作业.例如,步骤1将检查数据库是否在线; 如果数据库在线,它将运行其余步骤,否则,它将报告作业成功.
我正在尝试进行SQL查询,其中'exists'子句中的子查询具有'having'子句.奇怪的是.没有错误,子查询作为独立查询.但是,整个查询给出了与'having'子句完全相同的结果.
这是我的查询的样子:
SELECT X
FROM A
WHERE exists (
SELECT X, count(distinct Y)
FROM B
GROUP BY X
HAVING count(distinct Y) > 2)
Run Code Online (Sandbox Code Playgroud)
所以我试图从A中选择行,其中X在B中有两个以上的Y出现.但是,结果还包括子查询中不存在的记录.我在这做错了什么?
我有一个SQL代理作业,它有多个步骤,计划在星期一到星期五的某个时间运行.我需要能够在此作业上实现停止功能,以便不在表中列出的假日上运行.
我真的不知道如何处理这个问题.我是否需要创建第一步,检查它是否是假日,如果是,则会失败?
我有一个存储过程,将检查我传递的日期,看看它是否是一个假期,我只是不知道如果结果是肯定的,它是如何强制报告失败的.任何帮助将不胜感激.
我有许多任务可以通过类似(但略有不同)的类来执行,这些类都共享一组共同的功能.
我的目的是将这个功能提取到父类中,因为我不希望这个实现,我已经标记了它abstract.
但是,所有调用类都调用单个方法 - 用于包含提取的公共功能.我不想override使用父类方法,但除了子类中定义的内容之外,我还希望它能够执行.
我最初认为这是一个部分方法的工作,但我认为这将在某种程度上打破语义.那么对我来说最好的方法是什么?在这里体验一点隧道视野.
我有一个600万+记录的表,但第一个字段有一个"在开头,最后一个字段有"在最后,我想在进行批量插入时,他们忘了删除它.我想运行一个更新查询,它将删除"来自那两个字段的示例数据 -
Field 1
"18157142
"18157152
"18157159
"18157177
"18157189
"18157191
"18157197
"18157208
"18157223
"18157224
Field 2 (Last field)
243901"
832218"
506356"
78301"
753201 - Automobile Body"
553111 - Automobile Parts & Supplies-Retail"
581203"
792903 - Music"
653118"
541105 - Grocers"
Run Code Online (Sandbox Code Playgroud)
此字段中没有任何地方可以"显示在其他任何地方,只需1"即可从字段中删除.
有任何想法吗?
我一直致力于通过多线程创建对象来提高数据库的安装速度(包含数千个对象).这导致了导致DROP PROCEDURE声明陷入僵局的不幸行为.
单线程部署需要很长时间(因为我们讨论的是很多数据库对象.当架构安装在几百个客户端时,转换架构并不是一件轻松的事情.).缓慢的部署阻碍了我们的开发/发布周期.
脚本包含以下代码
IF OBJECT_ID(N'myProc') IS NOT NULL
BEGIN
DROP PROCEDURE myProc
END
GO
CREATE PROC....
Run Code Online (Sandbox Code Playgroud)
第二个脚本包含
IF OBJECT_ID(N'myProc2') IS NOT NULL
BEGIN
DROP PROCEDURE myProc2
END
GO
CREATE PROC....
Run Code Online (Sandbox Code Playgroud)
这些程序完全不相关.没有依赖,所以每一个.
死锁图如下所示:
<deadlock-list>
<deadlock victim="process6c3dc8">
<process-list>
<process id="process6c3dc8" taskpriority="0" logused="884" waitresource="OBJECT: 25:1949249999:0 " waittime="3834" ownerId="3008593" transactionname="DROPOBJ" lasttranstarted="2011-04-28T16:34:31.503" XDES="0xa882b950" lockMode="Sch-S" schedulerid="3" kpid="2588" status="suspended" spid="59" sbid="0" ecid="0" priority="0" trancount="2" lastbatchstarted="2011-04-28T16:34:31.503" lastbatchcompleted="2011-04-28T16:34:31.503" clientapp=".Net SqlClient Data Provider" hostname="myPc" hostpid="7296" loginname="myLogin" isolationlevel="read committed (2)" xactid="3008593" currentdb="25" lockTimeout="4294967295" clientoption1="671088672" clientoption2="128056">
<executionStack>
<frame procname="adhoc" …Run Code Online (Sandbox Code Playgroud) 在SQL Server 2008 R2中"我试图在SQL Server中插入一个公式,该公式将更新LastUpdatedTimestamp字段中的当前值,即getdate()每次更新记录时.
这就是我想要做的:
我想实现的想法是这样的:
选择目录,然后输入一个字符串.转到该文件夹中的每个文件.例如,文件夹是:Directory={file1.txt,file2.txt,file3.txt}
我想首先去file1.txt,读取所有文本,成为一个字符串,看看我的字符串是否在该文件中.如果是:请转到file2.txt,依此类推.
我有两张桌子:
我希望将每个剧集的表1的代码复制到表2.目前执行此操作的代码如下:
UPDATE Table2
SET Table2.Code = (SELECT TOP 1 Code FROM Table1 WHERE Episode = Table2.Episode)
Run Code Online (Sandbox Code Playgroud)
这需要数小时和数小时.(我不确切知道多少小时,因为我在大约20小时的时候取消了它.)他们是大桌子,但肯定有更快的方法吗?
sql-server ×5
c# ×4
.net ×3
t-sql ×3
sql ×2
.net-3.5 ×1
.net-4.0 ×1
deadlock ×1
file ×1
moles ×1
msbuild ×1
optimization ×1
quartz.net ×1
streamreader ×1
string ×1
unit-testing ×1