小编Mut*_*att的帖子

将ninject ISecureDataFormat绑定转换为Autofac

我正在将一个大型代码库从Ninject迁移到Autofac,并且正在努力解决其中一个绑定(我认为这会导致基于我的一些调试的激活错误).

Ninject:

Bind<ISecureDataFormat<AuthenticationTicket>>()
     .ToMethod(context =>
         {
             var owinContext = context.Kernel.Get<IOwinContext>();
             return owinContext
                    .Get<ISecureDataFormat<AuthenticationTicket>>("SecureDataFormat");
         });
Run Code Online (Sandbox Code Playgroud)

Autofac(我有什么):

builder.Register(
    context => context.Resolve<IOwinContext>()
        .Get<ISecureDataFormat<AuthenticationTicket>>("SecureDataFormat"))
        .As<ISecureDataFormat<AuthenticationTicket>>();
Run Code Online (Sandbox Code Playgroud)

Startup.cs:

var container = RegisterIoC(app, config);

public IContainer RegisterIoC(IAppBuilder app, HttpConfiguration config)
    {
        var builder = new ContainerBuilder();
        builder = RegisterDependencies(builder);
        builder = RegisterFilters(builder, config);

        /*builder.RegisterModule<DebuggingRequestModule>();*/

        var container = builder.Build();

        DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
        config.DependencyResolver = new AutofacWebApiDependencyResolver(container);

        app.UseAutofacMiddleware(container);
        app.UseAutofacMvc();
        app.UseAutofacWebApi(config);
        app.UseWebApi(config);

        return container;
    }
Run Code Online (Sandbox Code Playgroud)

更多:

builder.RegisterModule<ApiDependencyModule>().RegisterModule<AutofacWebTypesModule>();
builder.RegisterApiControllers(Assembly.GetExecutingAssembly());
builder.RegisterApiControllers(typeof(AccountController).Assembly);
Run Code Online (Sandbox Code Playgroud)

(貌似)相关的构造函数:

AccountController.cs:

public AccountController(ILoginService loginService,
                             IBearerTokenStore tokenStore,
                             IRememberMeCookieService rememberMeCookieService,
                             IInternalSsoChallenge ssoChallenge)
    { …
Run Code Online (Sandbox Code Playgroud)

c# ninject inversion-of-control autofac owin

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

节点/ NPM/Grunt在jscs上失败(grunt-jscs)

我有一个在javascript代码库上运行JSCS的繁琐任务,它一直在工作,直到与使用最新,稳定版本的grunt,npm/node的构建服务器集成.

这一切都在npm 1.XX.X下运行良好,但在我升级到2.XX.X后它就破了.我尝试了最新的3.XX.X,但失败的方式与2.XX.X相同.

我假设所需的相关部分是

cli输出:

$ node -v
v5.2.0

$ npm -v
3.3.12

$ grunt --version
grunt-cli v0.1.13
grunt v0.4.5

$ grunt jscs
Loading "jscs.js" tasks...ERROR
>> TypeError: fn.call is not a function
Warning: Task "jscs" not found. Use --force to continue.

Aborted due to warnings.
Run Code Online (Sandbox Code Playgroud)

的package.json:

{
"name": "Javascript",
  "version": "1.0.0",
  "private": true,
  "devDependencies": {
    "grunt": "~0.4.5",
    "matchdep": "^0.3.0",
    "grunt-contrib-watch": "~0.6.1",
    "grunt-express": "~1.4.1",
    "grunt-open": "~0.2.3",
    "grunt-chmod": "~1.0.3",
    "grunt-contrib-jshint": "~0.11.3",
    "grunt-contrib-uglify": "~0.10.0",
    "karma": "~0.13.15",
    "grunt-karma": "~0.12.1",
    "jasmine-core": "~2.3.4",
    "karma-jasmine": "~0.3.6", …
Run Code Online (Sandbox Code Playgroud)

javascript node.js gruntjs jscs

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