NancyFX フレームワークのシンプルさとパワーは本当に気に入っていますが、良い解決策が見つからない問題に遭遇しました。サブドメインに基づいてルーティングする方法は?
例えば; 次のようなものに一致するルートを定義したい
{account}.website.com/restofroute
サイトの他の部分を通常の www.website.com ルーティングに反応させながら。したがって、基本的に、ホスト名に基づいてサイトでマルチテナントのサポートが必要です。
ホスト ヘッダーを特定のパターンと照合してアカウント自体を抽出できるように、 TrieNodeを作成して接続する方法をいくつか見つけましたが、これをルート自体とリンクする方法がわかりません。どういうわけか、ルートノードでこれを行う必要があると思うので、GetMatchesをオーバーライドしてローカル キャプチャを追加します。ローカル キャプチャは正規表現によって生成され、{'account', 'www'} のようなものが含まれます。
私は次のようなものを作成できると思いました:
Get["/", a=>a.IsWwwRoute()] = parameters =>
IsWwwRoute は、ローカル キャプチャを使用して含めたアカウント パラメーターのパラメーター コレクションを参照するメソッド拡張です。「www」に設定されている場合は通過させます。それ以外の場合は、別のルートを使用します (アカウント パラメーターを使用します)。しかし、どこにも値が見つかりません (パラメーターは null です)。
では、NancyFX にサブドメイン ルーティングを追加する最良の方法は何でしょうか?