我正在将一个大型代码库从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) 我有一个在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)