小编Gre*_*ean的帖子

log4net与Nlog

有人都有经验吗?他们如何相互叠加?

我们计划使用其中一个登录企业应用程序.

参考文献:

log4net的

n日志

编辑:我们没有nlog或log4net的现有依赖项.

log4net nlog

355
推荐指数
12
解决办法
13万
查看次数

是否对SQL WHERE子句进行了短路评估?

例如:

SELECT * 
FROM Table t 
WHERE @key IS NULL OR (@key IS NOT NULL AND @key = t.Key) 
Run Code Online (Sandbox Code Playgroud)

如果@key IS NULL的计算结果为true,那么@key IS是否为NULL并且@key = t.Key是否已计算?

如果不是,为什么不呢?

如果是,是否有保证?它是ANSI SQL的一部分还是特定于数据库?

如果是数据库特定的,SqlServer?甲骨文?MySQL的?

参考:短路评估

sql short-circuiting

135
推荐指数
6
解决办法
5万
查看次数

适用于Windows的SVN挂钩

我做了一点谷歌搜索,发现没有真正的Windows资源SVN挂钩.所以我想我会在这里开始一个wiki来集中它.

如果您贡献,请务必注明:

  1. 钩子的名字
  2. 脚本的功能
  3. 实际的脚本

注意:我怀疑发布一个史诗脚本将没有用.

svn repository svn-hooks

35
推荐指数
3
解决办法
2万
查看次数

将整数除以3的最快方法是什么?

int x = n / 3;  // <-- make this faster

// for instance

int a = n * 3; // <-- normal integer multiplication

int b = (n << 1) + n; // <-- potentially faster multiplication
Run Code Online (Sandbox Code Playgroud)

optimization bit-manipulation division

33
推荐指数
6
解决办法
4万
查看次数

你预编译你的网站,为什么/为什么不呢?

我想了解社区是否预编译的脉搏.我知道它的冷启动时间更快,并且它隐藏了代码.然而,有一些不好的东西,IMO.也许它的名字,编译网站听起来不正确.

一般来说,您如何部署Web应用程序?

asp.net deployment

17
推荐指数
2
解决办法
5983
查看次数

Redux + Normalizr分离(删除)操作

我使用redux和normalizr来规范化服务器的响应,基本上遵循现实世界的例子.这种方式entitiesreducer非常简单,只需合并响应即可.我现在遇到的问题是一种delete操作.我发现这个问题#21 of normalizr repo但仍然无法弄清楚如何解决这个问题.例如,

目前的状态是

{
  entities:
    product_categories: {
      ...
      13: {
        ...
        products: ["1", "2"], <--------------- [i] Current state
        ...
      }
    },
    products: {
      1: {
        id: "1"
      }
    }
}
Run Code Online (Sandbox Code Playgroud)

标准化的响应是

{
  ...
    product_categories: {
      ...
      13: {
        ...
        products: ["1"], <---------------- [2] Normalized result
      }
  ...
}
Run Code Online (Sandbox Code Playgroud)

如您所见,后端api只返回属于此类别的所有产品ID,在这种情况下,"2"将被分离.当'entities'reducer合并这个响应时,"2"仍然存在.现在我只是重新加载页面,但我想知道是否有更好的方法来处理这种情况?

entitiesreducer中,我只是像现实世界中的例子一样合并它.

return merge({}, state, action.payload.entities);

redux normalizr

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

更改SVN修订版的时间戳

我们的电源故障耗尽了我们的UPS,随后关闭了我们的SVN机器.当它启动时,系统时间不正确.

不幸的是,直到有些人已经做出改变之后才发现这种情况.所以现在我们有一些修改,比第一次修订早几年.

有没有办法纠正这个日期,所以事情是有序的?

svn version-control

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

任何人都知道一个好的.Net国际象棋引擎

我正在寻找一个体面的.Net国际象棋引擎.如果有一个好的国际象棋现有的,任何建议,一个好的候选人移植到.Net?

.net chess

10
推荐指数
2
解决办法
7729
查看次数

sp_start_job等待工作完成

可能重复:
从存储过程执行SQL Server代理作业并返回作业结果

有没有办法确定sql代理作业何时在使用sp_start_job启动后完成?

sql-server sql-server-agent

7
推荐指数
2
解决办法
3万
查看次数

打开文件没有(真的)锁定它?

是否可以以允许后续删除/重命名其父文件夹的方式打开文件?

我知道你可以这样做:

File.Open("foo.bar", FileMode.Open, FileAccess.Read, FileShare.Read | FileShare.Delete)
Run Code Online (Sandbox Code Playgroud)

这将允许在关闭文件句柄时删除文件.但是,如果它不允许删除父文件夹而没有错误.

我在框架中找不到任何东西.我是否忽略了某些内容,或者是否存在我可以互操作的原生API.

注意:在使用已删除文件的流时,我不在乎是否出现异常.事实上,这将是理想的.

更新:

所以最有希望的想法是Hardlink,但是我无法让它发挥作用.当我尝试删除父目录时,我仍然最终拒绝访问.这是我的代码:

class Program
{
    [DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Auto)]
    static extern bool CreateHardLink(string lpFileName, string lpExistingFileName, IntPtr lpSecurityAttributes);

    static void Main(string[] args)
    {
        string hardLinkPath = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName());
        string realPath = @"C:\foo\bar.txt";
        if (CreateHardLink(hardLinkPath, realPath, IntPtr.Zero))
        {
            using (FileStream stream = File.Open(hardLinkPath, FileMode.Open, FileAccess.Read, FileShare.Delete | FileShare.ReadWrite))
            {
                Console.Write("File locked");
                Console.ReadLine();
            }

            File.Delete(hardLinkPath);
        }
        else
            Console.WriteLine("LastError:{0}", Marshal.GetLastWin32Error());
    }
}
Run Code Online (Sandbox Code Playgroud)

.net c# interop

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