2017-01-24 34 views
5

Visual Studio 2017で新しい.NET Core MVCアプリケーションを作成し、マルチテナント認証を有効にしました。
私は構成(ClientId、Authorityなど)を完了しましたが、アプリケーションをデバッグするときにStartup.csに例外があります。具体的にはapp.useOpenIdConnectAuthenticationメソッドです。Startup.cs - 'value'のパスは '/'で始まる必要があります

指定された例外は

System.ArgumentExceptionのです: '価値' のパスは '/' で開始する必要があります。

私はC#と.NETコアについては少し初心者ですので、明らかに何か不足しているかどうかはわかりません。主な固執点は、デバッガがパラメータ 'value'を参照していることです。コード内でそれが何も言及されていないからです。 appsettings.jsonに設定項目を追加する以外に、Visual Studioによって生成されるデフォルトのテンプレートを超える変更はありません。

+2

startup.csコードを質問に含めると便利です。 'value'はあなたのコードからの何かの名前ではなく、*パラメタの名前です。 – Amy

+1

LoginPathや同様のパスがauth configで設定されていますか?これらのパス/ルートは '/'で始まる必要があります – Developer

+0

おそらくOpenIdConnectAuthenticationOptionsプロパティの1つに無効なURLがあります。 #Amyの言うとおり、コードを投稿する必要があります。 – RaoulRubin

答えて

2

質問にはコードがありませんので、私は可能な限り一般的な回答をしようとします。

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

と修正する:あなたは、このオーバーロードPathString.FromUriComponent(string)を使用して文字列が

ので/文字で始まらないとき
は、前の例外は、例えば、次のコードは、例外がスローされます表示されます 以前の例外は次のように書くことができます

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

もちろんこれは相対パスになります。あなたは、絶対パスを書く(そして/を使用して文字列を起動しない)したい場合には

、その後、あなたはここでstring

の代わりにUriをとり、この方法の別のオーバーロードを使用する必要があります

例です
PathString.FromUriComponent(new Uri("https://localhost:8000/controller/action/")) 
関連する問題