您好我正在像这样
在Global.ascx中初始化界面List<Book> bookList = isbnList.parallelStream()
.map(isbn -> {
try {
List<String> pageContents = getUrlContents(webLink + isbn);
return new Book(
parseBookTitle(pageContents),
isbn,
parseRank(pageContents)
);
} catch (IOException ex) {
throw new RuntimeException(ex);
}
}).collect(Collectors.toList());
但我收到了错误
lazily-initialized类型没有公共的无参数构造函数。
我在这里做错了什么?
或者,如果我使用以下
更改代码private static SimpleMembershipInitializer _initializer;
private static object _initializerLock = new object();
private static bool _isInitialized;
public SimpleMembershipInitializer(IAccountHelper iAccountHelper)
{
_accountHelper = iAccountHelper;
_accountHelper.SimpleMembershipInitializer();
}
#endregion
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
SimpleInjector.SetupDependencyInjection();
// Ensure ASP.NET Simple Membership is initialized only once per app start
LazyInitializer.EnsureInitialized(ref _initializer, ref _isInitialized, ref _initializerLock);
}
代码工作正常。
任何人都可以告诉我出错的代码有什么问题。
任何帮助将不胜感激。
提前致谢
答案 0 :(得分:1)
LazyInitializer.EnsureInitialized
需要您的类具有公共无参数构造函数。如果您的类构造函数具有参数,则初始化程序不知道如何获取或实例化这些参数。
我建议您使用依赖注入库来初始化依赖项。