我已在Visual Studio 2017中创建了新的.NET Core MVC应用程序并启用了 Multi-Tenancy 身份验证。
我已经完成了配置(ClientId,Author等),但是在调试应用程序时,Startup.cs中有一个异常,特别是app.useOpenIdConnectAuthentication方法。

给出的异常(exception)是



对于C#和.NET Core,我还是一个新手,所以我不确定是否缺少明显的东西。主要的症结在于调试器使用参数“值”所引用的内容,因为我在代码中看不到任何提及。除了将配置项添加到appsettings.json外,Visual Studio生成的默认模板之外没有任何更改。

最佳答案

由于问题中没有代码,因此我将尝试做出一个一般性的答案。
当您使用此重载PathString.FromUriComponent(string)并且字符串不是以/字符开头时,会出现此异常

因此,例如,以下代码将引发异常:

PathString.FromUriComponent("controllerName/actionName"); // throw exception

并修复先前的异常,您可以这样编写
PathString.FromUriComponent("/controllerName/actionName"); // working, but as relative path

当然,这将是一条相对路径。

如果您想使用绝对路径(而不是使用/开头字符串),则必须使用此方法的另一重载,该方法将Uri对象作为参数,而不是string
这是一个例子
// use an absolute path
PathString.FromUriComponent(new Uri("https://localhost:8000/controller/action/"))

10-08 16:00