1

真的很喜欢 NancyFX 框架的简单性和强大功能,但我遇到了一些我找不到好的解决方案;如何基于子域进行路由?

例如; 我想定义一个匹配类似的路线

{account}.website.com/restofroute

同时让我网站的其他部分对正常的 www.website.com 路由做出反应。所以基本上我希望基于主机名在我的站点中支持多租户。

我找到了一些创建和连接TrieNode的方法,这样我就可以将主机标头与某种模式匹配并提取帐户本身,但我不知道如何将它与路由本身链接起来。不知何故,我认为我需要在根节点中执行此操作,因此我覆盖了GetMatches并将我的本地捕获添加到它。本地捕获由一些正则表达式生成并包含类似{'account', 'www'} 的内容。

我想我可以创建类似的东西:

Get["/", a=>a.IsWwwRoute()] = parameters =>

IsWwwRoute 是一个方法扩展,它查看我使用本地捕获包含的帐户参数的参数集合。如果设置为 'www' 让它通过,否则我们使用另一个路由(然后使用 account 参数)。但我无法在任何地方找到值(参数为空)。

那么将子域路由添加到 NancyFX 的最佳方法是什么?

4

0 回答 0