小编Ada*_*dam的帖子

返回IQueryable但需要Raven统计信息才能插入TotalResults标头

我有一个WebApi方法,它返回一个IQueryable的RavenDB文档.调用者需要知道可能结果的数量(因为实际结果是有限的/分页的).

所以,我的WebApi方法结束时有类似的东西:

HttpContext.Current.Response.AddHeader("Total-Result-Count", 
    resultsStats.TotalResults.ToString())
Run Code Online (Sandbox Code Playgroud)

不幸的是,这不起作用,因为IQueryable还没有实际执行 - 所以统计数据将是空的.

在查询执行之后,如何推迟 stats响应标头的填充?

[UPDATE]

在控制器操作执行后,我尝试应用ActionFilter来捕获结果......但似乎在实际枚举IQueryable之前调用了ActionFilter ...

public class CountQueryableResultsActionFilter : ActionFilterAttribute
{
    public override void OnActionExecuted(HttpActionExecutedContext filterContext)
    {
        var controllerStats = filterContext.ActionContext.ControllerContext.Controller as IControllerStatistics;
        System.Web.HttpContext.Current.Response.AddHeader("Total-Result-Count", controllerStats.TotalResults.ToString());
    }
}
Run Code Online (Sandbox Code Playgroud)

如果,我在WebApi方法结束时调用了"IQueryable.ToArray()",那么Linq查询会立即执行,它会生成统计信息,一切正常 - 但这会阻止用户应用自己的OData过滤器等等...

iqueryable ravendb wcf-web-api asp.net-web-api

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

ravendb将搜索与Where结合起来

我正在C#中执行raven查询,并使用Where()和Search()扩展方法.我需要这两个功能,因为我只需要返回具有特定Guid字段的索引,以及存在于文本正文中的文本.不幸的是,Where扩展方法似乎与Search扩展方法不兼容.当我将它们组合在一起时,我得到一个像这样的Lucene查询:

    Query:  FeedOwner:25eb541c\-b04a\-4f08\-b468\-65714f259ac2 MessageBody:<<request*>>
Run Code Online (Sandbox Code Playgroud)

这似乎完全忽略了标准的'MessageBody'部分 - 所以我在'自由文本'中使用的约束并不重要,它不使用它.

我已经单独使用'搜索'进行了测试,并且它可以工作 - 所以它本身就是自由文本搜索的问题 - 只需将两者结合起来.

full-text-search ravendb

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

编写类似于程序集缓存查看器的Windows Shell扩展

我想编写一个shell扩展来完全自定义特定文件夹的显示,如组装缓存查看器(浏览到c:\ windows\assembly,你会明白我的意思).哪些COM接口负责提供这些钩子?我的"观众"将用C#编写......

谢谢!

c# shell-extensions

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

怎么会让knockout-js模板css媒体查询意识到?

我正在构建一个网站,我希望使用CSS媒体查询响应.我也在使用Knockout-js在客户端上模拟我的UI - 它真的很快就可以使用了.

我发现的是,例如,我需要渲染一些我在knockout-js模板中定义的UI ...这导致一些DIV和SPAN为每个"列表项"呈现文本.
当用户缩小屏幕时,布局会通过媒体查询响应"简化"用户界面 - 删除更详细的信息,为最重要的内容腾出空间.

我知道我可以使用css将我的标签"分组"为"详细级别",然后使用媒体查询来关闭屏幕空间减少时的"更高级别的冗长" - 这将有效地确定HTML元素不可见.

然而 - 我的模板变得非常复杂,非常快 - 因为简单地关闭div可能还不够.在我看来,我可以更有意义地定义一个模板,其中包括一个css-media-query"规则",因此当用户更改浏览器大小时,模板实际上是交换的.这将导致更清晰的HTML模板和更简单的CSS.

所以,我的问题是 - 有没有人考虑过这个问题,或许通过一些最佳实践解决了这个问题 - 也许我在KnockoutJs中缺少一些可以解决这个问题的功能?

谢谢!

javascript jquery media-queries

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

TFS 2010更改了各个代码部分的历史记录

前段时间我回忆起一个工具的早期发布视频演示,该工具允许(从Visual Studio内部)检查一段代码的历史记录.例如,右键单击某个方法并选择"查看历史记录",然后查看该方法的更改时间.谁能回忆一下这可能是什么产品?

version-control tfs code-analysis

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

ffmpeg不尊重作品输出中的采样率

我正在捕获到Opus的实时音频流,无论我为音频采样率选择什么,都可以获得48khz的输出。

这是我的命令行

./ffmpeg -f alsa -ar 16000 -i sysdefault:CARD = CODEC -f alsa -ar 16000 -i sysdefault:CARD = CODEC_1 -filter_complex join = inputs = 2:channel_layout = stereo:map = 0.1-FR \ | 1.0- FL,setsets = expr = N / SR / TB -ar 16000 -ab 64k -c:a opus -vbr off -compression_level 5 output.ogg

这是ffmpeg的回应:

输出#0,ogg,到'output.ogg':元数据:编码器:Lavf57.48.100流#0:0:音频:opus(libopus),16000 Hz,立体声,s16,延迟104,填充0,64 kb / s (默认)元数据:编码器:Lavc57.54.100 libopus

但是,ffmpeg似乎在撒谎,因为再次分析文件时,我得到:

输入#0,ogg,来自'output.ogg':持续时间:00:00:03.21,开始:0.000000,比特率:89 kb / s流#0:0:音频:作品,48000 Hz,立体声,s16,延迟156 ,padding 0元数据:ENCODER:Lavc57.54.100 libopus

我尝试了很多采样率排列,简化为单个音频输入等-总是得到相同的结果。

有任何想法吗?

ffmpeg opus

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

如何在颤振中自动聚焦文本字段

我在开发应用程序时遇到问题 - 如何在完成前一个字段的输入后自动聚焦文本字段,而无需单击文本字段?

在此输入图像描述

flutter flutter-layout

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