真的很喜欢NancyFX框架的简单性和强大功能,但我遇到了一些我找不到合适解决方案的东西;如何基于子域路由?
例如;我想定义一个匹配类似
的路线 {account}.website.com/restofroute
让我网站的其他部分对正常的www.website.com路由做出反应。基本上我希望基于主机名在我的站点中支持多租户。
我找到了一些创建和连接 TrieNode 的方法,因此我可以将主机标头与某些模式匹配并提取帐户本身,但我不知道如何将其与路线本身。不知何故,我需要在rootnode中执行此操作,因此我会覆盖 GetMatches 并将其本地捕获添加到其中。本地捕获是由某些正则表达式生成的,包含 {'account','www'} 之类的内容。
我以为我可以创建类似的东西:
Get["/", a=>a.IsWwwRoute()] = parameters =>
IsWwwRoute是一个方法扩展,查看我使用本地捕获包含的帐户参数的参数集合。如果设置为'www'让它通过,否则我们使用另一条路线(然后使用帐户参数)。但我无法在任何地方找到值(参数为空)。
那么将子域路由添加到NancyFX的最佳方法是什么?