在另一个项目中重用路由

时间:2012-02-27 18:29:44

标签: asp.net-mvc asp.net-mvc-3 castle-windsor

我有一个标准的MVC web项目,它在global.asax中注册路由。我的MVC项目包括ContentService,它使用从特殊语法到html的不同转换,包括将特殊格式的文本转换为内部链接。它有方法Render(Urlhelper url, string text)。我使用WindsorInstaller来注册没有依赖关系的ContentService。

我有另一个项目与我的服务,我想在这里放置ContentService以在另一个Web项目中重用。如果我将它放在服务项目中,Render方法应该以任何方式获取UrlHelper。我试着在我的windsor安装程序中注册UrlHelper,但它的ctor取决于RequestContext,我不知道下一步要做什么。

绝对的目标是在生成内容网址时重用我的主要Web项目在另一个Web项目中的路由。可以使用区域来组织不同的项目,并且它允许我不将ContentService放置到服务项目中,但是这个解决方案不适合我,因为我需要将这些站点放在不同的服务器上。

您的解决方案? (使用Windsor Container /创建安装路线/其他东西的特殊组件?)

1 个答案:

答案 0 :(得分:1)

您始终可以实现动态路由,即从数据库或xml文件中获取路由。

看一下这篇文章的简单解决方案: Dynamic Routing