将 AngleSharp 从 0.9.6 升级到 0.9.9 我这行代码不再编译:
return configuration.With(LoaderService(new[] { requester }));
它抱怨LoaderService
在当前上下文中不存在。那么发生了LoaderService
什么?有替代品吗?它是否仍然存在但只是在其他地方?
将 AngleSharp 从 0.9.6 升级到 0.9.9 我这行代码不再编译:
return configuration.With(LoaderService(new[] { requester }));
它抱怨LoaderService
在当前上下文中不存在。那么发生了LoaderService
什么?有替代品吗?它是否仍然存在但只是在其他地方?
好问题。很抱歉迟到了,但即使你可能已经解决了你的问题,其他人也很难弄清楚。
LoaderService
本质上只是创建加载器的助手。但是,为任何创造小东西的东西提供服务将是矫枉过正,而且规模不大。AngleSharp.Core 也需要定义所有这些。因此,引入了一种通用机制,允许通过Func<IBrowsingContext, TService>
.
但是,为了解决您的一段代码,我想下面的行可以解决问题:
return configuration.WithDefaultLoader(requesters: requester);
这会使用默认选项(选项涉及一些中间件等)注册默认加载程序创建者服务(一个用于文档,一个用于文档内的资源)。
在引擎盖下(除了其他一些事情)正在发生以下情况:
// just one example, config.Filter is created based on the passed in options
return configuration.With<IDocumentLoader>(ctx => new DocumentLoader(ctx, config.Filter));