小编rik*_*kit的帖子

Json.Net 中的“当前错误上下文错误与请求的错误不同”异常

语境

我用 C# 编写了一个并行作业框架,用于从 ElasticSearch 集群导入/导出大量数据。为此,我将单个项目的每个导入或导出建模为一个对象,该对象由框架在某个时刻执行。为了与 ElasticSearch 交互,我使用 NEST(官方 .NET ElasticSearch 客户端库)v1.7.1 和 JSON.Net 7.0.1。

每个导入/导出任务对象都使用 NEST 与 ElasticSearch 交互。出于性能原因,我编写了一个代理类,它将任务对象生成的搜索请求分组为固定大小的批次,以便与 NEST 的 _msearch API 一起使用。此类的调用者将被延迟,直到其批处理返回。该课程可以在这里找到

我的框架将每个导入/导出任务的结果包装为“bool”或“Exception”。即使遇到个别项目的错误,整个过程也能够继续。

问题

在几个小时的任务完成且没有错误的情况下,我发现以下异常出现了数千次:

System.InvalidOperationException: Current error context error is different to requested error.
    at _____.Matcher.<GetBestMatchAsync>d__15.MoveNext() in C:\\_work\\edc7a363\\_____\\Matcher.cs:line 266
    --- End of stack trace from previous location where exception was thrown ---
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
    _____.MatchBlock`1.<ExecuteAsyncInternal>d__19.MoveNext() in C:\\_work\\edc7a363\\_____\\MatchBlock.cs:line 111
    --- End of stack trace from previous location where exception …
Run Code Online (Sandbox Code Playgroud)

c# multithreading json.net nest elasticsearch-net

9
推荐指数
1
解决办法
4570
查看次数

密码保险库和Windows 8中的凭证管理器之间有什么区别?

我正在使用CredentialPicker类来呈现熟悉的UI.正如所料,这将凭证存储在Windows的凭据管理器中.编辑:这里的示例代码

但是,存储用户名/密码的推荐方法似乎是PasswordVault API - 在Windows 8中保存敏感数据的最佳实践 - 它看起来像一个不同的系统?

两者的正确方法是什么?介绍熟悉的用户界面和2.在地铁风格的应用程序中添加,访问和删除用户名/密码?

我正在使用C#,但C++和JS的答案会很好..

c# credentials microsoft-metro windows-8 passwordvault

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

VS2012/Blend 5:调试在设计视图中发生的异常(仅)

我正在使用C#和XAML开发Metro风格的应用程序(适用于Windows 8).我已将我的viewmodels设置为用作设计时datacontexts,如下所示:

xmlns:vm="using:hub.ViewModels"
d:DataContext="{d:DesignInstance IsDesignTimeCreatable=True, Type=vm:ViewModels
Run Code Online (Sandbox Code Playgroud)

我的应用程序在运行时似乎运行正常,但在VS 2012和Blend的设计视图中,我偶尔会得到这个(无用的)错误消息:

An Exception was thrown. TargetException: Error in the application.
Stacktrace
at System.ComponentModel.PropertyChangedEventHandler.Invoke(Object sender, PropertyChangedEventArgs e)
InnerException: None
Run Code Online (Sandbox Code Playgroud)

发生在设计视图-这意味着我不能设置周围的一切我INotifyPropertyChanged的()事件断点.

调试设计时错误的最佳方法是什么?

design-time blend microsoft-metro windows-8 visual-studio-2012

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

使用C语言中的结构联合

说我有以下类型:

typedef struct TYPEA
{
    int type;
    char[12] id;
} TYPEA;

typedef struct TYPEB
{
    int type;
    int value;
} TYPEB;
Run Code Online (Sandbox Code Playgroud)

我想使用创建这些类型和'int'的联合,这样我就可以访问"type"int而无需知道TYPEA或TYPEB是否存储在union中(int的值让我确定实际存储的是哪个那里).虽然我无法获得正确的语法.

我的工会:

typedef union MEMBER
{
    int type;
    struct TYPEA a;
    struct TYPEB b;
} MEMBER;
Run Code Online (Sandbox Code Playgroud)

通过以下方式访问联盟:

typedef struct WRAPPER
{
    union MEMBER* member;
    struct WRAPPER* next;
} WRAPPER;
Run Code Online (Sandbox Code Playgroud)

问题:

  1. (使用'w'作为指向已分配的WRAPPER结构的指针)访问使用w->member->a.id会在某些结构或联合中提供"成员'id'请求.
  2. 我可以直接将指向已经malloc的TYPEA/B的指针分配给w->成员吗?或者工会是否需要专门进行malloced?

谢谢.

c unions

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

为什么C#不直接编译到机器代码?

CIL是一种面向对象的汇编语言,完全基于堆栈.它的字节码被翻译成本机代码,或者 - 最常见的 - 由虚拟机执行.

为什么我们需要CIL?是不是可以将C#转换为本机代码而不是CIL?如果所有.Net语言都编译成CIL,为什么不使用C#而不是IL?CIL比C#或VB更具表现力吗?

c# cil compilation intermediate-language

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

Json.Net反序列化DateTimes不一致

我无法deserialising日期时间与Json.Net 6.0.3(我可以复制在6.0.6的问题).代码在Windows 8.1上的.Net 4.5中运行,文化是en-GB.

这证明了这个问题:

using Newtonsoft.Json;
using Newtonsoft.Json.Linq;

var d1 = new DateTimeOffset(2014, 12, 15, 18, 0, 0, TimeSpan.FromHours(1));
var obj = new {
    time = d1
};

var json = JsonConvert.SerializeObject(obj, Formatting.Indented);
Console.WriteLine(json);

var jo = JObject.Parse(json);

Console.WriteLine(jo.Value<string>("time") + " // jo.Value<string>(\"time\")");
Console.WriteLine(jo["time"] + " // jo[\"time\"]");
Run Code Online (Sandbox Code Playgroud)

输出:

{
    "time": "2014-12-15T18:00:00+01:00"
}
12/15/2014 17:00:00 // jo.Value<string>("time")
15/12/2014 17:00:00 // jo["time"]
Run Code Online (Sandbox Code Playgroud)

日期时间根据JObject的访问方式而有所不同 - 一个是MM/DD/YYYY DD/MM/YYYY.为什么是这样?

我不需要它们采用特定格式:问题是格式改变了.我有很多遗留代码来解析源自Json.Net的日期时间字符串.该代码也将在世界各地的不同计算机上运行,​​可能具有不同的文化.

有没有办法让Json.Net始终以相同的格式返回日期时间?

c# datetime json date json.net

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

动态生成Tkinter按钮

我想生成n个不同的Tkinter按钮.我有这个代码:

import Tkinter as tk

for i in range(boardWidth):
    newButton = tk.Button(root, text=str(i+1), 
        command=lambda: Board.playColumn(i+1, Board.getCurrentPlayer()))
    Board.boardButtons.append(newButton)
Run Code Online (Sandbox Code Playgroud)

如果boardWidth是5,虽然我得到标记为1-5的按钮,但是当它们单击时它们都会执行Board.playColumn(5,Board.getCurrentPlayer()).

我需要第一个按钮来执行Board.playColumn(1,Board.getCurrentPlayer()),第二个按钮来执行Board.playColumn(2,Board.getCurrentPlayer())等等.

谢谢你的帮助!

python user-interface tkinter button

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

如何根据数字/非数字拆分字符串(使用正则表达式?)

我想将字符串拆分为python中的列表,具体取决于数字/非数字.例如,

5 55+6+  5/
Run Code Online (Sandbox Code Playgroud)

应该回来

['5','55','+','6','+','5','/']
Run Code Online (Sandbox Code Playgroud)

我现在有一些代码循环遍历字符串中的字符并使用re.match("\ d")或("\ D")测试它们.我想知道是否有更好的方法来做到这一点.

PS:必须与python 2.4兼容

python regex string tokenize

0
推荐指数
1
解决办法
2377
查看次数