我正在构建一个项目,其中一个主要的Web项目充当主要用户体验,还有一些其他Web项目充当插件/小部件,可以在主网站内查看(通常作为主要大页面的一部分)网站)。
我基本上就建立这个问题的最佳方法寻求建议。
到目前为止,我尝试了以下内容:
1)一个主要的Web项目和每个插件的单独项目,每个插件都有一个单独的域。然后使用iFrame将插件插入主网站。 我遇到的问题是身份验证。我在主项目上有表单身份验证,无法从相同的登录cookie中读取插件,这意味着他们在工作之前都需要登录。看到这个问题,我问:Authentication over multiple projects
我也不喜欢使用iFrame。
2)我尝试使用RazorGenerator嵌入视图,这样他们就成了项目的一部分,因此我不需要使用iFrame或担心多项目认证。
这似乎是一个很好的解决方案,但我无法获得静态内容。
我发现this似乎有点hacky this在各种情况下都没有用。
有人可以告诉我你将如何做到这一点,或者是否有办法让上述两种解决方案之一有效?
答案 0 :(得分:1)
从您的角度来看,我确定您已经完全清楚了。不幸的是,虽然我理解"概念上"你正在尝试做什么...我真的不知道"技术细节"我没有问过你,更不用说"什么,确实是错的"。
所以我们陷入了僵局。具有讽刺意味的是,如果你要按照我要求的详细程度进行解释,你可能会自己理解这个问题,并且首先不需要提出问题。 :(
SUGGESTIONS:
将解决方案分解为单独的项目绝对没有错。事实上,这绝对是正确的事情 - 它实际上是最佳实践"。
使用"组件"绝对没有错。 (我使用"泛型"意义上的单词),其实现恰好位于项目之外。这也是"最佳实践"。
我倾向于把所有" UI相关的"东西进入SAME项目。其他子项目将应用程序划分为其他功能部分。例如,对于应用程序" ABC",我有一个解决方案和七个项目:
ABC .sln
+ CodeGen.EF
+ ABC.BLL
+ ABC.DAL
+ ABC.DB
+ ABC.Entity
+ ABC.Web
<= "Scripts/", and all my Views, Controllers and View-related Models are here
+ ABC.Common
<= Application-independent stuff goes here
&#39;希望这有助于...至少一点......