小编Joh*_*ohn的帖子

MongoVue和Boolean

我想知道如何使用MongoVue工具插入布尔值.

我试过了

{
  "IsGlobal": True,
}
Run Code Online (Sandbox Code Playgroud)

//单击插入按钮时出错

{
  "IsGlobal": "True",
}
Run Code Online (Sandbox Code Playgroud)

//它变成了一个字符串

{
    "IsGlobal": new Boolean("True"),
}
Run Code Online (Sandbox Code Playgroud)

//我得到"无法解析Json:new Boolean ..."

任何帮助将是欣赏.

多谢你们 !

mongodb

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

使窗体形式通用

在SO上发布类似问题一年之后. 通用Windows表单模板

你知道是否有一种更好的方法来使窗体形式通用,这就是我想做的事情:

public partial class EntryPointEditForm<T>  : Form where T : ICriteriaObject<T>
{}
Run Code Online (Sandbox Code Playgroud)

但是抛出一个错误告诉我:没有找到合适的方法来覆盖
该方法:

protected override void Dispose(bool disposing)
Run Code Online (Sandbox Code Playgroud)

c# winforms

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

ConfigureServices 中的 AddHttpContextAccessor 与每个 HttpClient

在 ConfigureServices 方法中一次添加 httpContextAccessor 与为每个 HttpClient 配置添加 HttpContextAccessor 之间有什么区别。

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);

    // FIRST VERSION
    services.AddHttpContextAccessor();

    // SECOND VERSION
    var myService1 = services.AddHttpClient<TestHttpClient1>(c =>
    {
        c.BaseAddress = new Uri(Configuration["TestHttpClient1"]);
    });
    myService1.Services.AddHttpContextAccessor();

    var myService2 = services.AddHttpClient<TestHttpClient2>(c =>
    {
        c.BaseAddress = new Uri(Configuration["TestHttpClient2"]);
    });
    myService2.Services.AddHttpContextAccessor();
}
Run Code Online (Sandbox Code Playgroud)

我的猜测是认为在第二个版本中,我们有两个单例,一个用于类 TestHttpClient1,另一个用于 TestHttpClient2 但我不明白为什么要这样做,因为我在生产中看到了这段代码。

c# asp.net-core httpclientfactory

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

C#使用属性getter调用InvokeRequired

我想让我的getter线程安全.当我这样做时,我收到一个错误:

public ApplicationViewModel SelectedApplication
    {
        get
        {
            if (InvokeRequired)
            {
                BeginInvoke((Action<ApplicationViewModel>)SelectedApplication);
            }

            return _applicationsCombobox.SelectedItem as ApplicationViewModel;
        }
    }
Run Code Online (Sandbox Code Playgroud)

我有错误:

Cannot cast expression of type 'Foo.Model.ApplicationViewModel' to type 'Action<ApplicationViewModel>'
Run Code Online (Sandbox Code Playgroud)

c# invokerequired

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

将此20110811T131446 + 0200转换为C#dateTime对象

我正在json中从teamcity webservice检索数据.其中一个数据是由此字符串表示的DateTime:20110811T131446 + 0200

我想解析这个字符串,将其转换为C#.net对象.

我怎样才能做到这一点 ?

谢谢.

PS:它看起来像xml数据,我可以使用XmlConvert,但格式不包含任何" - "作为此字符串2009-10-29T18:52:53.43-05:00

c# datetime

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

将MongoDB Rest的Guid转换为C#CLR

我在Rest上使用mongodb。每个文档都由一个字段Id(Guid)和Name(字符串)组成

这是我访问网页时显示的内容:

"_id" : { "$binary" : "Oq4RFClrRUOtIp89AQTGPw==",
        "$type" : "03"
"name" : "HelloWorld"
Run Code Online (Sandbox Code Playgroud)

在mongodb中,我的Guid转换为UUID(例如,我的JMongoBrowser),并显示为46eb229f-b493-5630-b0d7-aa00499fafa0。

但是,当我访问其余网页时,它被分为两部分(二进制文件和一种类型)。那么如何将其转换为C#对象呢?

谢谢

c# mongodb mongodb-.net-driver

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

处理我刚用ActiveMQ和C#发送的消息

我是使用ActiveMQ和C#的初学者.我用一个按钮和一个标签创建了一个简单的窗体.当我点击按钮时,我会向队列发送一条消息,并使用我刚刚发送的消息初始化标签.当然,我可以直接初始化我的标签,但我希望我的表单更愿意使用队列中的消息来更新我的标签.

问题是我无法以相同的形式处理消息来更新我的标签.我的消费者代码根本没有调用,但它在我的表单的Load事件中初始化.这是代码

    protected override void OnLoad(EventArgs e)
    {
        base.OnLoad(e);
        InitializeHandlerAMQ();
    }

    private void InitializeHandlerAMQ()
    {
        Tchat tchat = null;
        IDestination dest = _session.GetQueue(QUEUE_DESTINATION);
        using(IMessageConsumer consumer = _session.CreateConsumer(dest))
        {
            IMessage message;
            while((message = consumer.Receive(TimeSpan.FromMilliseconds(2000))) != null)
            {
                var objectMessage = message as IObjectMessage;
                if(objectMessage != null)
                {
                    tchat = objectMessage.Body as Tchat;
                    if (tchat != null)
                    {
                        textBox2.Text += string.Format("{0}{1}", tchat.Message, Environment.NewLine);
                    }
                }
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

如果我关闭我的窗体并重新启动它,那么我的标签已更新,但我不想关闭它并重新打开它.

你有什么想法吗?

c# activemq-classic windows-forms-designer

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

为什么DateTime.TryParse与文化US和AdjustToUniversal一样慢

这是两个测试,第一个使用:

  • DateTime.TryParse(dateToParse,out date)

        var dateToParse = "2012-09-17";
    
        var startNew = Stopwatch.StartNew();
        for (int i = 0; i < 4059; i++)
        {
            DateTime date;
            if (!DateTime.TryParse(dateToParse, out date))
                continue;
    
    
        }
        Console.WriteLine(startNew.GetTimeString()); 
    
    Run Code Online (Sandbox Code Playgroud)

- >输出:19,1 ms闪电快

第二个使用:

  • DateTime.TryParse(dateToParse,new CultureInfo("en-US"),DateTimeStyles.AdjustToUniversal,out date)

        var dateToParse = "2012-09-17";
    
        var startNew = Stopwatch.StartNew();
        for (int i = 0; i < 4059; i++)
        {
            DateTime date;
            if (!DateTime.TryParse(dateToParse, new CultureInfo("en-US"), DateTimeStyles.AdjustToUniversal, out date))
                continue;
    
    
        }
        Console.WriteLine(startNew.GetTimeString()); 
    
    Run Code Online (Sandbox Code Playgroud)

- >输出:11,6秒真的很慢!!!

两个问题.

1 - 为什么美国文化中的转换如此缓慢

2 - 我可以使用什么替代解决方案在datetime中使用US-Culture转换字符串

c#

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

如何在Linq中使用ContainsKey并在未找到密钥的情况下管理案例

你如何将此代码转换为Linq lambda表达式?

var list = new List<string[]>();
foreach (var @char in _word)
{
     if (mapping.ContainsKey(@char.ToString()))   // I tried with TryGetValue but my brain has thrown a stackoverflow.
          list.Add(mapping[@char.ToString()]);
     else
           list.Add(mapping["?"]);
}
Run Code Online (Sandbox Code Playgroud)

如果有我在以前的代码中没有其他组成部分,LINQ表达式会像下面的代码,但我不知道该怎么到这里管理关键是没有找到的情况.

var list = _word.ToCharArray()
                .Where(mot => mapping.ContainsKey(mot.ToString()))
                .Select(mot => mapping[mot.ToString()]);
Run Code Online (Sandbox Code Playgroud)

解决方案必须保留订单.

c# linq

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