LoaderService去了哪里?

时间:2017-09-25 13:59:18

标签: anglesharp

将AngleSharp从0.9.6升级到0.9.9我不再编译这行代码:

return configuration.With(LoaderService(new[] { requester }));

它抱怨当前上下文中不存在LoaderService。那么LoaderService发生了什么?有替代品吗?它是否仍然存在但只是在其他地方?

1 个答案:

答案 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));
相关问题