我希望真的很简单。我只想做
Url.action("Someaction","SomeController",new { id = 3 });
但是在服务类中。不在控制器类或IactionResult方法中
在普通的旧服务类中。由于该服务调用具有所有数据,因此我不想传递其他信息,因此我的服务调用非常干净。
我已经接近了,但是似乎什么也没做,要么就是做不到,要么
我试图依赖注入
services.AddScoped<IUrlHelper>(x => x
.GetRequiredService<IUrlHelperFactory>()
.GetUrlHelper(x.GetRequiredService<IactionContextaccessor>().actionContext));
在我的服务电话中,我使用了(DI)
public AdminService(...,IUrlHelper urlHelper)
所以在我的服务方式中,我可以做到这一点
string editUrl = _urlHelper.action("EditRole","Admin",new { id = 0 });
它消除了所有红色的弯曲,但是在运行时,这有点给我带来了麻烦
.GetUrlHelper(x.GetRequiredService<IactionContextaccessor>().actionContext));