小编Miz*_*aeL的帖子

Simple Injector:如何注入HttpContext?

我已经开始使用Simple Injector作为我的DI容器(主要是出于性能原因:如果有人有建议,请告诉我),但我编写的一些类使用HttpContextBase作为构造函数参数.我现在已经解决了从构造函数中删除它并创建一个Property,如下所示:

    public HttpContextBase HttpContext
    {
        get
        {
            if (null == _httpContext)
                _httpContext = new HttpContextWrapper(System.Web.HttpContext.Current);
            return _httpContext;
        }
        set
        {
            _httpContext = value;
        }
    }
Run Code Online (Sandbox Code Playgroud)

但我不喜欢这个解决方案...任何建议?

.net dependency-injection httpcontext simple-injector

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

Visual Studio 2017上的JSLint

由于公司政策,我在VS 2015中使用JSLint.现在我已经转移到VS2017,但似乎没有办法安装linter,因此每次我必须编写一些javascript代码时,CI上的测试很可能会失败.

任何提示?

javascript jslint visual-studio visual-studio-2015 visual-studio-2017

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

使用基类型调用的通用方法

我有这样的情况:

public class Foo{}

public interface IBar<in TEx>
    where TEx : Exception
{
    Foo Build(TEx ex);
}

public class FooFactory{
    public Foo Create<TEx>(TEx ex) where TEx : Exception{
         // blah
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我调用FooFactory.Create方法传递任何Exception类型,一切正常.当我做这样的事情时,事情开始变得很奇怪:

// this is an external class, cannot be changed.
public class ExceptionContext{
    public Exception Ex{get; set;}
}

var context = new ExceptionContext(){ Ex = new MyCustomException (); }
var factory = new FooFactory();
var fooInstance = factory.Create(context.Ex);
Run Code Online (Sandbox Code Playgroud)

当我调用时FooFactory.Create(),传递的异常总是类型System.Exception,而不是MyCustomException我所期望的.

有什么建议吗? …

.net c#

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