将AngleSharp从0.9.6升级到0.9.9我不再编译这行代码:
return configuration.With(LoaderService(new[] { requester }));
它抱怨当前上下文中不存在LoaderService
。那么LoaderService
发生了什么?有替代品吗?它是否仍然存在但只是在其他地方?
答案 0 :(得分:1)
好问题。很抱歉迟到了,但即使你可能已经解决了你的问题,其他人也很难搞清楚。
LoaderService
基本上只是创建加载器的助手。但是为任何创造小东西的东西提供服务都会有点过分,而且规模也不大。此外,AngleSharp.Core需要定义所有这些。因此,引入了通用机制,允许注册这样的&#34;创建者服务&#34;通过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));