小编Fra*_*man的帖子

SQL Server用于全文索引的排名方法

我在SQL Server中使用全文搜索所使用的排名存在一些问题.

假设用户搜索两个单词"foo bar".我们假设用户打算进行OR搜索,因此我们将"foo OR bar"传递给我们的CONTAINSTABLE调用.我们发现的是,包含"foo"10次但不包含"bar"的行将具有更高的等级,然后是具有"foo"和"bar"的行.我们希望将具有两个术语的行优先于仅具有多个术语多次的行.有关如何实现这一目标的任何建议?

我找到了与RANKMETHOD修饰符相关的文档,但这似乎仅适用于SQL Enterprise搜索,而不适用于常规SQL Server 2005安装.我们也可以切换到Lucene.Net,但我希望验证它有更好的排名.我们也可能会进行多次搜索并合并结果,但随着搜索的字数增加,这似乎是不可取的.

sql-server full-text-search

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

重构LINQ IQueryable表达式以删除重复的查询部分

我有一些具有冗余的linq查询,我想分解出一段代码.这些是IQueryable的连接表达式,重要的是我不会导致查询比没有重构时更早地进行评估.

这是一个简化的查询:

var result = 
from T in db.Transactions
join O in db.Orders on T.OrderID equals O.OrderID
join OD in db.OrderDetails on O.OrderID equals OD.OrderID into OrderDetails
let FirstProductBought = OrderDetails.First().Select(OD => OD.Product.ProductName)
select new
{
  TransactionID = T.TransactionID,
  OrderID = O.OrderID,
  FirstProductBought = FirstProductBought
};
Run Code Online (Sandbox Code Playgroud)

我想要分解的是"给定订单,购买的第一个产品是什么"的逻辑.我在其他查询中使用相同的逻辑.如何将其分解为共享方法?

通常,对于代码重用和IQueryables,我能够做的是使IQueryable进入并生成IQueryable/IOrderedQueryable作为输出的代码.使用这些函数,我可以使用可重用代码构建LINQ表达式,该代码仍然会延迟查询,直到查询完全构造完毕.在这里,由于我只有一个int(orderID),我不知道如何使它工作.

谢谢

.net linq iqueryable linq-to-sql

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

如何使用有限权限远程查看Windows事件日志

为了调试一些代码,我想查看远程机器的Windows事件日志(目标是Windows2003).使用mmc.exe,我可以为远程计算机添加事件日志,但前提是我有足够的权限.对于这台远程计算机,他们不希望授予我远程登录的权限(或管理员权限).是否有特定的权限我可以查看事件日志,而不是其他许多?

event-log windows-server-2003

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

使用TFS补丁文件(补丁文件来自subversion,git等)

可以通过TFS或Visual Studio读取补丁文件吗?我想创建一个shelveset或将补丁应用到TFS中的工作区.

svn git tfs patch

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

为什么CreateProcessWithTokenW失败并出现ERROR_ACCESS_DENIED

我有一个CreateDrocessWithTokenW调用失败,访问被拒绝.任何想法如何调试这个?

对CreateProcessWithTokenW的调用如下:https://github.com/fschwiet/PShochu/blob/master/PShochu/Pinvoke/NetWrappers/ProcessUtil.cs

现在我正在为当前进程使用访问令牌,最终我将使用来自其他用户的令牌.现在,我正在使用https://github.com/fschwiet/PShochu/blob/master/PShochu/PInvoke/NetWrappers/AccessToken.cs来获取访问令牌.

如果要调试,请下拉源代码并运行build_and_test.ps1.错误堆栈是:

1) Test Error : PShochu.Tests.can_run_remote_interactive_tasks, given a psake script which writes the current process id to output, when that script is invoked interactively, then the script succeeds
   System.ComponentModel.Win32Exception : Access is denied
   at PShochu.PInvoke.NetWrappers.ProcessUtil.CreateProcessWithToken(IntPtr userPrincipalToken, String applicationName,
String applicationCommand, Boolean dontCreateWindow, Boolean createWithProfile, StreamReader& consoleOutput, StreamReader& errorOutput) in c:\src\PShochu\PShochu\PInvoke\NetWrappers\ProcessUtil.cs:line 52
   at PShochu.ProcessHandling.RunNoninteractiveConsoleProcessForStreams2(String command, String commandArguments, String& newLine) in c:\src\PShochu\PShochu\ProcessHandling.cs:line 36
   at PShochu.ProcessHandling.RunNoninteractiveConsoleProcess(String command, String commandArguments) in c:\src\PShochu\PShochu\ProcessHandling.cs:line 20
   at PShochu.Tests.can_run_remote_interactive_tasks.<>c__DisplayClass16.<>c__DisplayClass18.<Specify>b__2() in …
Run Code Online (Sandbox Code Playgroud)

pinvoke winapi createprocessasuser

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

JSON.Net:在不指定程序集的情况下反序列化多态类型

我看到使用JSON.Net,如果$type属性指定了JSON对象的特定类型,我可以解码多态对象.在我看过的所有示例中,$type包括命名空间.是否可以使这项工作包括一个简单的类型名称而不需要汇编?如果可能的话,我很乐意为JsonSerializer指定默认程序集.

我可以使用以下命令反序列化JSON:

public class SingleAssemblyJsonTypeBinder : SerializationBinder
{
    private readonly Assembly _assembly;
    private Dictionary<string, Type> _typesBySimpleName = new Dictionary<string, Type>(StringComparer.OrdinalIgnoreCase); 
    private Dictionary<Type,string> _simpleNameByType = new Dictionary<Type, string>(); 

    public SingleAssemblyJsonTypeBinder(Assembly assembly)
    {
        _assembly = assembly;
        _typesBySimpleName = new Dictionary<string, Type>();

        foreach (var type in _assembly.GetTypes().Where(t => t.IsPublic))
        {
            if (_typesBySimpleName.ContainsKey(type.Name))
                throw new InvalidOperationException("Cannot user PolymorphicBinder on a namespace where multiple public types have same name.");

            _typesBySimpleName[type.Name] = type;
            _simpleNameByType[type] = type.Name;
        }
    }

    public override Type BindToType(string …
Run Code Online (Sandbox Code Playgroud)

c# json.net

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

<ul>元素怎么能收到焦点事件?

我正在运行以下代码来跟踪在HTML文档中获得焦点的每个控件的tagName:

$(function() {
    $("*").bind("focus", function() {
        console.log("tabbed " + this.tagName);
    });
});
Run Code Online (Sandbox Code Playgroud)

当这个运行时,我可以看到firebug控制台并看到它跟踪标签,如"A"和"INPUT",我期望在我通过文档选项卡时获得焦点.然而,它也跟踪一个"UL"标签.该文档有多个UL标签,只有这一个UL标签似乎得到了关注.

任何想法如何发生这种情况?具有焦点的UL标签没有属性(名称,ID等),因此我不知道它将如何被其他脚本修改.

(在firefox中运行.我正在查看的页面非常大,所以我不包含源代码,但UL标记没有属性,包含一些LI,其中一个LI包含标记).

根据哪些HTML元素可以获得焦点?,也许是因为某些脚本在该UL标签上设置了tabindex.我找不到任何这样的剧本.

请注意,我并不是想弄清楚如何使UL成为可调焦的,而是要弄清楚为什么它是可聚焦的.

html javascript focus

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

自定义PowerShell提示符正在清除$ lastexitcode

我的powershell配置文件有一个自定义的PowerShell提示符,不幸的是导致$ lastexitcode值丢失.例如,给定一个powershell脚本"fail.ps1",内容为"exit 123",当我运行脚本时,$?$ lastexitcode为0时为$ false.如果我在没有使用自定义提示加载我的配置文件的情况下运行powershell,则在运行fail.ps1之后,$ lastexitcode为123.

以前有人见过这个问题吗?有没有办法在生成提示时保留$ lastexitcode?

我在使用Posh-git时遇到了这个问题,https://github.com/dahlbyk/posh-git,一个很好的用于git的PowerShell提示符.

powershell command-line

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

visual studio:无需启动Web调试即可附加调试器

我有一个带有六个Web应用程序项目的visual studio解决方案.我经常想将调试器附加到进程.当我这样做时,visual studio总是想要启动cassini或IIS express,或者做一些事情来运行解决方案中的Web应用程序.有没有办法可以跳过它,所以当附加到一个过程时,visual studio不会尝试在当前的解决方案中启动Web应用程序?

visual-studio-2010 visual-studio attach-to-process

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

AngularJS:为什么在您离开当前摘要之前$ http实际上不会发出http请求?

http://docs.angularjs.org/api/ng.$ http的$ http的AngularJS文档说明"$ http服务实际上不会发送请求,直到执行下一个$ digest()."

我只是想知道它为什么不立即发出HTTP请求?这似乎是一个不必要的要求,我想知道我错过了什么.

更新:有人建议这是必要的,因为完成处理程序将需要更新摘要.但是,这些完成事件需要在以后的任何一种情况下进行自己的$ apply/$ digest调用.

angularjs

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