在我的eleasticsearch索引中,我有两个索引如下的文档:
POST dyn-props/item
{
"name": "bar foo",
"properties": [
{
"type": "foo",
"value": 1.45
},
{
"type": "bar",
"value": 256.34
},
{
"type": "foobar",
"value": 43.43
}
]
}
POST dyn-props/item
{
"name": "foo bar",
"properties": [
{
"type": "foo",
"value": 33.34
},
{
"type": "bar",
"value": 22.23
}
]
}
Run Code Online (Sandbox Code Playgroud)
在此项类型上,我想查询具有值大于10的foo属性的项.我可以使用以下查询过滤掉具有类型为foo的属性的项目的结果:
POST dyn-props/item/_search
{
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"term": {
"properties.type": "foo"
}
}
}
}
} …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用.NET编译器平台(roslyn)实现代码重构.但是,出于某种原因,我不能使ObjectCreationExpression与ArgumentList一起使用.这是我的方法(整个代码可以在这里找到):
private aync Task<Document> AddGuardAsync(Document document, ParameterSyntax parameter, BaseMethodDeclarationSyntax methodDeclaration, CancellationToken cancellationToken)
{
BinaryExpressionSyntax binaryExpression = SyntaxFactory.BinaryExpression(SyntaxKind.EqualsExpression,
SyntaxFactory.IdentifierName(parameter.Identifier),
SyntaxFactory.LiteralExpression(SyntaxKind.NullLiteralExpression));
NameOfExpressionSyntax nameOfExp = SyntaxFactory.NameOfExpression(
"nameof",
SyntaxFactory.ParseTypeName(parameter.Identifier.Text));
SeparatedSyntaxList<ArgumentSyntax> argsList = new SeparatedSyntaxList<ArgumentSyntax>();
argsList.Add(SyntaxFactory.Argument(nameOfExp));
ObjectCreationExpressionSyntax objectCreationEx = SyntaxFactory.ObjectCreationExpression(
SyntaxFactory.ParseTypeName(nameof(ArgumentNullException)),
SyntaxFactory.ArgumentList(argsList),
null);
ThrowStatementSyntax throwStatement = SyntaxFactory.ThrowStatement(objectCreationEx);
IfStatementSyntax ifStatement = SyntaxFactory
.IfStatement(SyntaxFactory.Token(SyntaxKind.IfKeyword), SyntaxFactory.Token(SyntaxKind.OpenParenToken), binaryExpression, SyntaxFactory.Token(SyntaxKind.CloseParenToken), throwStatement, null)
.WithAdditionalAnnotations(Formatter.Annotation);
SyntaxNode root = await document.GetSyntaxRootAsync(cancellationToken);
SyntaxNode newRoot = root.InsertNodesBefore(methodDeclaration.Body.ChildNodes().First(), new[] { ifStatement });
return document.WithSyntaxRoot(newRoot);
}
Run Code Online (Sandbox Code Playgroud)
这奇怪地产生了以下没有nameof参数的代码修复建议(即使没有花括号):

我在这里失踪的是什么?
我已经在VS 2010上创建了数百个项目,但"文件>最近的项目和解决方案"部分不存在!通常,应该是这样的

但我的就像下面;

正如你所看到的,同样在起始页面上,"最近项目"部分只有两个项目,鉴于具体情况,这个项目很奇怪.
我该怎么办才能让它奏效?
在此先感谢您的帮助.
编辑
这是自定义窗口的外观;

这是注册表;

我在Windows上,对URI进行POST操作的最简单,最快捷的方法是什么?我可以使用命令行或PowerShell实现此目的吗?
什么好看的JQuery这是一个伟大的JavaScript库是为了能够得到你的工作作为返回值的元素.这是我所指的一个例子:
$(function() {
$("#poo").css("clear", "both").css("margin", "10px");
});
Run Code Online (Sandbox Code Playgroud)
我想在这里尝试实现的内容与上面的C#代码完全相同IDictionary interface.我的意图是能够正确编码如下:
IDictionary<string, string> myDictionary =
new Dictionary<string, string>().
Add("key1", "value1").
Add("key2", "value2").
Add("key3", "value3");
Run Code Online (Sandbox Code Playgroud)
所以我创建了一个扩展方法,如下所示IDictionary:
public static IDictionary<string, string> AddAndReturn(this IDictionary<string, string> dictionary, string key, string value) {
dictionary.Add(key, value);
return dictionary;
}
Run Code Online (Sandbox Code Playgroud)
现在我可以像以下一样使用它:
IDictionary<string, string> poo =
new Dictionary<string,string>().
AddAndReturn("key1", "value1").
AddAndReturn("key2", "value2").
AddAndReturn("key3", "value3");
Run Code Online (Sandbox Code Playgroud)
所以,至于这里的问题,我想知道的是我是否在这里遵循正确的道路.
我正在做一个穷人流畅的界面实现还是完全无关?
在C#中是否有任何已知的此实现案例?
我正在尝试创建一个路由约束但不确定什么是最好的.这是没有约束的路线:
context.MapRoute(
"Accommodation_accomm_tags",
"accomm/{controller}/{action}/{tag}",
new { action = "Tags", controller = "AccommProperty" },
new { tag = @"" } //Here I would like to put a RegEx for not null match
);
Run Code Online (Sandbox Code Playgroud)
什么是最好的解决方案?
我只RazorViewEngine在我的一个ASP.NET MVC 3应用程序上使用,并使用以下代码在Application_Start我的Global.asax.cs文件的方法中清除了Web窗体视图引擎
ViewEngines.Engines.Clear();
ViewEngines.Engines.Add(new RazorViewEngine());
Run Code Online (Sandbox Code Playgroud)
我决定看到一些可靠的东西,以便我对这两行代码的努力感到满意,并尝试渲染一个不存在的局部视图,我得到了这个结果:
未找到局部视图"_ResortMapPartialView"或视图引擎不支持搜索的位置.搜索了以下位置:〜/区域/住宿/视图/度假村/ _ResortMapPartialView.cshtml~/Areas/Accommodation/Views/resort/_RortortMapPartialView.vbhtml~/Areas/Accommodation/Views/Shared/_ResortMapPartialView.cshtml~/Areas/Accommodation /Views/Shared/_ResortMapPartialView.vbhtml~/Views/resort/_RortortMapPartialView.cshtml~/Views/resort/_RortortMapPartialView.vbhtml~/Views/Shared/_RortortMapPartialView.cshtml~/Views/Shared/_RortortMapPartialView.vbhtml
它看起来好一点.现在它寻找比以前更少的物品.但是带有.vbhtml扩展名的文件仍然让我变得无法形容.
问题是:我们怎样才能摆脱它们?
我刚买了一本关于使用Razor View Engine的ASP.NET MVC的书.有一个叫做的小节Usage of @ Operator,这个小节标题让我......好吧,不舒服.
是@所谓的运营商的Razor视图引擎里面?
UPDATE
我想我的问题不是那么清楚.我想知道是否@是剃刀视图引擎内的操作符.例如,< > = != >= =>这些在C#语言中称为运算符.@内部Razor视图引擎是否相同?
在ASP.NET MVC 3上,我创建了一个动作过滤器,用于从整个html中删除空白区域.它的工作方式与我预期的大部分时间相同,但现在我需要更改RegEx以便不触及pre元素内部.
我从令人敬畏的Mads Kristensen的博客中获得了RegEx逻辑,我不确定如何为此目的修改它.
这是逻辑:
public override void Write(byte[] buffer, int offset, int count) {
string HTML = Encoding.UTF8.GetString(buffer, offset, count);
Regex reg = new Regex(@"(?<=[^])\t{2,}|(?<=[>])\s{2,}(?=[<])|(?<=[>])\s{2,11}(?=[<])|(?=[\n])\s{2,}");
HTML = reg.Replace(HTML, string.Empty);
buffer = System.Text.Encoding.UTF8.GetBytes(HTML);
this.Base.Write(buffer, 0, buffer.Length);
}
Run Code Online (Sandbox Code Playgroud)
过滤器的整个代码:
任何的想法?
编辑:
大注:
我的意图完全没有加快响应时间.事实上,这可能会减慢速度.我GZiped页面,这个缩小使我每页获得大约4 - 5 kb,这没什么.
我在这里做的很糟糕.我问的是一个问题,没有先尝试跳跃,有人知道一个简单的方法.
我们有机会使ASP.NET MVC路由系统区分大小写吗?我希望以下两个网址不同:
example.com/a
example.com/A
我们有一个简单的解决方案或应该为此编写我们自己的处理程序.
asp.net-mvc ×5
asp.net ×4
c# ×3
razor ×2
regex ×2
.net ×1
command-line ×1
dictionary ×1
global-asax ×1
http ×1
http-post ×1
ide ×1
idictionary ×1
javascript ×1
powershell ×1
roslyn ×1
windows ×1