我正在尝试将Gzip中间件添加到我的ASP.net核心应用程序中.
我添加了以下包:
"Microsoft.AspNetCore.ResponseCompression":"1.0.0"
在我的startup.cs for Configure Services方法中,我有以下内容:
public void ConfigureServices(IServiceCollection services)
{
services.Configure<GzipCompressionProviderOptions>(options => options.Level = CompressionLevel.Fastest);
services.AddResponseCompression(options =>
{
options.Providers.Add<GzipCompressionProvider>();
});
services.AddMvc();
}
Run Code Online (Sandbox Code Playgroud)
在我的Configure方法中,我有以下内容:
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddDebug();
app.UseResponseCompression();
app.UseMvc();
}
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试加载页面时,它不会像压缩Gzip那样通过.我已经使用了字符串响应和输出视图.chrome中的响应标头如下所示:
我在视觉工作室开发的Windows机器上.运行应用程序时,我尝试从Visual Studio(通过F5)运行,并从命令行使用"dotnet run"命令.既没有输出GZip压缩.
我通过.net SDK使用Azure ServiceBus队列.OnMessageHandler/OnMessageOptions上有一个名为"AutoRenewTimeout"的标志,但似乎对这个值的实际含义感到困惑.
在这里的官方文档https://msdn.microsoft.com/en-us/library/microsoft.servicebus.messaging.onmessageoptions.aspx它建议AutoRenewTimeout应该大于队列锁定.
获取或设置自动续订锁定的最长持续时间.该值应大于最长的消息锁定持续时间; 例如,LockDuration属性.
这似乎表明AutoRenewTimeout或多或少是处理消息所需的最长时间.例如,如果您的锁定持续时间为1分钟,并且自动续订时间为5分钟,则该消息将在放弃之前更新总共5次并再次在队列中显示.还有其他StackOverflow答案确认这种情况,例如/sf/answers/2523598591/
要处理长消息处理,您应该设置AutoRenewTimeout == 10分钟(在您的情况下).这意味着每次LockDuration过期时,锁定将在这10分钟内更新.
因此,例如,如果您的LockDuration为3分钟且AutoRenewTimeout为10分钟,则每3分钟锁定将自动续订(3分钟,6分钟和9分钟后),并且自消息消耗后12分钟后锁定将自动释放.
然而,在更多的研究中,我偶然发现了一条旧的推文(https://twitter.com/clemensv/status/649940087267041284),看起来是微软消息传递的首席架构师.在这条推文中,似乎暗示AutoRenewTimeout是调用"RenewLock"方法的间隔.
它是在回调处于活动状态时在消息上调用https://msdn.microsoft.com/en-us/library/microsoft.servicebus.messaging.brokeredmessage.renewlock.aspx的时间间隔
因此,例如,如果你的锁定是1分钟,AutoRenewTimeout应该是30秒,以确保在释放之前更新消息锁定.
在我自己的测试中,我倾向于前者是正确的,但推文让我怀疑的事实可能我不知道充分利用AutoRenewTimeout
我只使用一个简单的DataGridView来保存一堆数据(搞笑).
我在特定列中有小数.但是当按照那个十进制列排序时,它会错误地命令它.例如 :
开始订单可能是:
结束顺序是:
如您所见,它从第一个数字开始对其进行排序.然后以这种方式命令它.
我想可能我可以将列设置为不同的"ColumnType",并且可以自动执行此操作.但是没有"数字"或"十进制"列类型.
我在MSDN上查找问题,我可以找到可以在DataGridView上使用的"排序"方法.但是解释有点过头了,示例没有使用数字,只有文字,所以我无法看到我应该如何切换.
任何帮助将非常感激.
我甚至不确定我是否正确地这样做了.但基本上我有一个由类构建的对象列表.从那里,我将列表绑定到Windows窗体上的数据网格视图(C#)
从那里,它在datagrid视图中显示对象的所有公共属性.但是,我仍然需要从我的应用程序的其他部分访问一些属性,但实际上并不需要在DataGridView中可见.
那么有一个属性或类似的东西,我可以在属性上面写,以排除它显示.
PS Im在运行时绑定.所以我无法通过设计师编辑列.
PPS请不要只是公共变量的答案(虽然这是唯一的方法,让我知道:)).
我试图测试添加到C#中的"in"关键字的性能(或者不是).in关键字应该能够将值类型的只读引用传递给方法,而不是先将值复制然后传入.
通过绕过这个副本,应该更快,但在我的测试中它似乎没有任何更快.
我正在使用BenchMarkDotNet来对我的代码进行基准测试.代码如下:
public struct Input
{
public decimal Number1 { get; set; }
public decimal Number2 { get; set; }
}
public class InBenchmarking
{
const int loops = 50000000;
Input inputInstance;
public InBenchmarking()
{
inputInstance = new Input
{
};
}
[Benchmark]
public decimal DoSomethingRefLoop()
{
decimal result = 0M;
for (int i = 0; i < loops; i++)
{
result = DoSomethingRef(ref inputInstance);
}
return result;
}
[Benchmark]
public decimal DoSomethingInLoop()
{
decimal result = 0M;
for …Run Code Online (Sandbox Code Playgroud) 在我的 elasticsearch 索引中,我索引了一堆工作。为简单起见,我们只说它们是一堆职位。当人们在我的搜索引擎中输入职位时,我想“自动完成”可能的匹配。
我在这里调查了完成建议:http : //www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-suggesters-completion.html
但是,我发现的所有示例都涉及在索引上创建一个新字段,并在编制索引/河流时手动填充该字段。
有没有办法在现有领域有一个完成建议?即使这意味着重新索引数据也没关系。例如,当我想保留原始的 not_analysis 文本时,我可以在映射中执行以下操作:
"JobTitle": {
"type": "string",
"fields": {
"Original": {
"type": "string",
"index": "not_analyzed"
}
}
}
Run Code Online (Sandbox Code Playgroud)
这可能与建议者有关吗?
如果没有,是否可以进行非空白标记化/N-Gram 搜索来获取这些字段?虽然它会更慢,但我认为这会奏效。
我们需要定期,我们将运行构建配置,其中包括重新创建令牌/登录等.我们希望将这些作为环境变量保存回Team City.我们随后执行的构建将要查看此Environment Variable存储,并根据需要在我们的配置中执行字符串替换.
我看了看:
##teamcity[setParameter name='env.TEST' value='test']
Run Code Online (Sandbox Code Playgroud)
但是从阅读文档来看,这仅用于在同一构建中的构建步骤之间传递变量.它实际上并没有将变量保存回Team City.
是否有任何方法(最好来自powershell脚本),调用Team City并告诉它添加环境变量(或任何其他变量).
c# ×5
datagridview ×2
winforms ×2
.net-core ×1
asp.net ×1
asp.net-core ×1
azure ×1
benchmarking ×1
data-binding ×1
datasource ×1
lucene ×1
performance ×1
powershell ×1
teamcity ×1