我正在实现邮件发送模块并需要构建URL。我的意图是使用IUrlHelper,但由于它需要提供的大量依赖项,我真的很难构建此对象。
当前,我正在进行以下步骤:
ActionContext actionCtx = new ActionContext(new DefaultHttpContext(), new RouteData(), new ActionDescriptor());
_urlHelper = new UrlHelper(actionCtx);
但是用这种方式构造的urlHelper
仍然在尝试构建URL时出现异常。
异常如下:
索引超出了范围。必须是非负的且小于集合大小。参数名: index 在System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument参数,ExceptionResource资源)时 System.Collections.Generic.List`1.get_Item(Int32 index) Microsoft.AspNetCore.Mvc.Routing.UrlHelper.get_Router()
所以现在可能需要创建并设置IRouter
实例,但我发现又需要设置大量依赖项。
那么应该如何正确地完成这个操作呢?