2016-09-12 8 views
0

私のルート属性にフラグを追加しようとしています。新しい機能のために別の場所にフラグを設定していますが、追加方法は不明です。ルート属性にフラグを追加する(有効/無効にする)

[Route("manage/articles")] 
public ActionResult Articles(Model model){ ... } 
+0

ランタイムフラグまたはコンパイル時フラグについてお話ししていますか?属性はコンパイル時にコードにコンパイルされ、実行時に変更することはできません(多くの作業を必要とせず)。実行時に変更されるパラメータをパラメータとして使用することはできません。 –

答えて

1

実際には、達成しようとしていることについて多くの情報を提供していないため、これはXY問題となる可能性があります。しかし、一般に、実行時にルートを無効にする方法はありません。利用可能なルートになるか、そうでないかのどちらかです。これはちょうどあなたが取り組んでいるいくつかの新しい機能であり、あなたはそれがすべてで利用できるようにしたくない場合は、私はお勧めでき最善のことは、単にルートをコメントアウトされています

//Route("manage/articles")] 

はしかし、それは実際にはありません実際には "最高のもの"です。まず、RouteConfig.csで既定のルートを無効にしない限り、従来の/Controller/Actionパスを使用して処理を実行できるため、何も無効にしていません。第二に、実際には、まず世界で生きる準備ができていないコードを生産に投入すべきではありません。新しい機能を使って作業している場合は、ブランチでそれを行い、ライブで使用できる状態になるまでコードをマージしないでください。その後、問題はありません。

これはベータテストなどの状況で、のユーザーのうち一部はユーザーに提供されますが、全世界では使用できません。 Authorizeに頼って、アクセスを許可されているユーザーを割り当てるロールを作成するか、アクションまたはカスタムアクションフィルターで何らかの種類のカスタム認証を行うことができます。

+0

ありがとうございます。これは恐ろしいものになるだろうし、もし何かがうまくいかないと(QAの束があっても起こり得る)旗が使用されたなら、復帰は最良の賭けのように思えるだろう(しかし、だから少し時間がかかるだろう...したがって試行)、ありがとう – Spooks

+0

ここでも分岐が起こる。展開の準備ができたら、ブランチをマスターに統合します。すべての地獄が緩んだ場合は、マージして再配置する前にマスターを元に戻すことができます。 –

関連する問題