1
我得到一個500錯誤,當我嘗試訪問我的ConfigureServices
方法使用services.AddSingleton<>()
注入的對象Startup.cs
的服務:無法解析型「XYZ」
無法解析類型的服務方法Configure
的參數authProvider
的proj.Auth.IAuthProvider
,類型proj.Startup
。
據我可以看這應該是工作的 「工作」 的代碼示例告訴...
Startup.cs:
public void ConfigureServices(IServiceCollection services)
{
services.AddOptions();
services.Configure<AppSettings>(Configuration);
services.AddSingleton<IAuthProvider, TranslatorAuthProvider>();
services.AddMvc();
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, IAuthProvider authProvider)
{
...
app.Run(async context =>
{
await authProvider.GetToken();
});
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
}
TranslatorAuthProvider.cs:
namespace proj.Auth
{
public class TranslatorAuthProvider : IAuthProvider
{
public TranslatorAuthProvider(IHttpContextAccessor httpContextAccessor, IOptions<AppSettings> settings)
{
...
}
public async Task<OAuthToken> GetToken()
{
...
}
}
}
IAuthProvider.cs:
namespace proj.Auth
{
public interface IAuthProvider
{
Task<OAuthToken> GetToken();
}
}