小编Myl*_*ell的帖子

动态对象 - 运行时报告字段不存在但可以在调试器中看到它?

编辑:重启visual studio解决了这个问题没有代码更改.


我有一个ConfigSection处理程序,它使用动态类型和一个expando对象.测试失败报告'对象'不包含'SportName'的定义.我试图在一个控制台中复制,将ConfigSection处理程序排除在等式之外,但看起来像等效代码的工作正常.我很难过.

请参阅下面的test,ConfigurationSectionHandler和config xml

public class SportSection : IConfigurationSectionHandler
{
    public object Create(object parent, object configContext, XmlNode section)
    {
        var doc = XDocument.Parse(section.OuterXml);
        var root = (XElement)doc.FirstNode;

        try
        {
            var sportList = root.Element("sportList").Elements("sport").Select(ToSport);

            dynamic config = new ExpandoObject();
            config.SportList = sportList;

            return config;
        }
        catch (Exception ex)
        {
            throw new ConfigurationErrorsException("Invalid SportSection configuration", ex);
        }
    }

    private static dynamic ToSport(XElement sportElement)
    {
        try
        {
            var getAttrib = new Func<XElement, string, string>((x, atr) => x.Attribute(atr).Value);
            var getDictionary = …
Run Code Online (Sandbox Code Playgroud)

.net c# dynamic

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

更改测试运行器工作目录

使用作为resharper一部分的集成测试运行器运行/调试单元测试时是否可以更改工作目录?

.net c# resharper unit-testing visual-studio-2010

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

Mono - 通过SSL的HttpWebRequest - 写入标头时出错

下面抛出一个System.Net.WebException - 错误:SendFailure(编写标题错误)通过SSL但适用于http://www.google.com

using System;
using System.Web;
using System.Net;
using System.IO;

namespace HTTPS_Headers
{
    class MainClass
    {
        public static void Main (string[] args)
        {
            var request = (HttpWebRequest)WebRequest.Create ("https://www.google.co.uk/?q=mono");

            using(var reader = new StreamReader(request.GetResponse().GetResponseStream())) {

                Console.WriteLine (reader.ReadToEnd ());
            }

            Console.ReadLine();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我在Mono 3.4.0/Lubuntu 14.04上运行它.在Windows/.NET 4上通过SSL工作得很好.

mono

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

在.NET中传递顺序进程

我最近一直在和Go一起工作,我想到也许可以将相同的CSP模型构建到未来的.NET版本中.我不是简单地讨论一个新的库,它使用现有的线程原语来提供通道类型和类似的编程经验/模型; 我的意思是在整个VM和编译器中实现模型,以生成与Go相当的可执行代码(我相信Go生成在事件循环上执行的代码)

这可行吗?以前有人谈过吗?......或者我一直在"喝太多的kool-aid".在完全理解如何实现这一点方面,我绝对不会深入了解这一点.

.net go

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

stdout在docker容器中缓冲

我不完全确定这里发生了什么,但是当我在容器中运行代码时,似乎缓冲了stdout,但是如果我在主机或OSX上运行它,则不会.

https://github.com/myles-mcdonnell/procwrap/blob/master/procwrap.go

相关部分(为简洁起见而修改):

    cmd := exec.Command("ping", "127.0.0.1")

    logger := &lumberjack.Logger{
        Filename:   conf.LogFile,
        MaxSize:    conf.MaxLogSizeMb,
        MaxBackups: conf.MaxLogBackups,
        MaxAge:     conf.MaxLogAgeDays,
    }

    cmd.Stdout = io.MultiWriter(os.Stdout, logger)  

    err := cmd.Run()
Run Code Online (Sandbox Code Playgroud)

在容器中运行子进程运行正常,但我只是间隔地看到输出(到stdout和日志文件),就像刷新缓冲区一样.在容器外部运行它,并在生成时输出.我正在使用1.6.3.我看到以交互方式和后台运行容器的相同行为.

Docker版本:

Client:
 Version:      1.10.3
 API version:  1.22
 Go version:   go1.5.3
 Git commit:   20f81dd
 Built:        Thu Mar 10 21:49:11 2016
 OS/Arch:      darwin/amd64

Server:
 Version:      1.12.0
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   8eab29e
 Built:        Thu Jul 28 23:54:00 2016
 OS/Arch:      linux/amd64
Run Code Online (Sandbox Code Playgroud)

=======更新======

我看到基于基本图像的不同行为.在debian上运行procwrap:wheezy base我得到缓冲输出.在ubuntu上做同样的事情:相信它是同步的.下面的Dockerfiles,只需在每个上执行'docker run {image_name}'即可观察.在wheezy VM上运行procwrap(不涉及docker)不会缓冲输出.

可靠:

FROM ubuntu:trusty
RUN apt-get update …
Run Code Online (Sandbox Code Playgroud)

go docker

6
推荐指数
2
解决办法
3530
查看次数

FileBeat直接到ELS还是通过LogStash?

我们正在安装ELS和Kibana用于日志聚合/分析.第一个使用它的系统是绿地,因此我们从构成我们系统的服务输出结构化日志.鉴于我们不需要在日志中添加结构,我计划使用FileBeat将日志直接发送到ELS而不使用LogStash.这是一个明智的选择还是LogStash除了我们可能需要的解析之外还有价值?如果我们确实使用LogStash,我可以使用它来收集日志文件,还是应该使用FileBeat将日志抽取到LogStash?

elasticsearch logstash kibana filebeat

6
推荐指数
2
解决办法
4984
查看次数

如何在Go中声明gRPC错误代码客户端

给出以下gRPC服务器端代码:

import (
    "google.golang.org/grpc/codes"
    "google.golang.org/grpc/status"
    ....
)

....

func (s *Router) Assign(ctx context.Context, req *api.Request(*api.Response, error) {

    return nil, status.Errorf(codes.PermissionDenied,
}

....
Run Code Online (Sandbox Code Playgroud)

断言客户端错误是代码=的推荐技术是codes.PermissionDenied什么?

go grpc

6
推荐指数
2
解决办法
1469
查看次数

TFS2010 - 并行构建 - 单一解决方案,单一构建代理

我们有TFS2010和单个解决方案,有近200个项目(是的,我知道,不好主意,不是我的!).我在4核(8超)机器上的构建时间从大约30秒开始,从4分钟顺序完成,通过解耦代码来实现高水平的构建并发性.我现在想在构建服务器上获得它的好处,这必须是可能的,因为MSBuild支持并行构建.怎么样?

msbuild compilation visual-studio tfs2010

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

Hashtable实施

我最近被问到'你将如何实施一个可憎的'.我知道哈希算法是关键的,因为较少的冲突会带来更好的WRT性能,但是应该使用什么算法/数据结构来为插入/删除/查找提供分摊的常量时间{O(1)}?

algorithm computer-science hashtable

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

MonoDevelop - 代码窗口配色方案

有没有办法在MonoDevelop中自定义代码窗口颜色方案?如果可能的话,我想要像黑曜石之子这样的东西.

monodevelop

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