2

我正在构建一个项目,其中一个主要 Web 项目充当主要用户体验,而其他几个 Web 项目充当插件/小部件,可在主网站内查看(通常作为主网站上较大页面的一部分)。

我基本上是在寻求有关构建它的最佳方式的建议。

到目前为止,我已经尝试了以下方法:

1) 一个主 web 项目和一个单独的项目,每个插件都有一个单独的域。然后将插件插入到带有 iFrame 的主网站中。我遇到的问题是身份验证。我在主项目上有表单身份验证,无法让插件从同一个登录 cookie 中读取,这意味着它们每个都需要登录才能工作。看到我问的这个问题:Authentication over multiple projects

我也不喜欢使用 iFrame。

2)我尝试使用 RazorGenerator 嵌入视图,这样它们就成为项目的一部分,所以我不需要使用 iFrame 或担心多项目身份验证。

这似乎是一个很好的解决方案,但我无法找到静态内容。

我发现似乎有点老套,而且在各种情况下都不起作用。

谁能告诉我你将如何去做,或者是否有办法让上述两种解决方案中的一种工作?

4

1 回答 1

1

从你的角度来看,我相信你已经完全清楚了。不幸的是,虽然我“从概念上”理解你想要做什么......我真的不知道我没有问你哪些“技术细节”,更不用说“什么,到底出了什么问题” .

所以我们陷入了僵局。具有讽刺意味的是,如果您要解释到我要求的详细程度……您可能会自己理解问题,并且不需要一开始就问:(

建议:

  1. 将您的解决方案分成单独的项目绝对没有错。事实上,这绝对是正确的做法——它实际上是“最佳实践”。

  2. 使用“组件”(我在“通用”意义上使用这个词)绝对没有错,其实现恰好位于您的项目之外。这也是“最佳实践”。

  3. 我倾向于将所有“与 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

'希望这会有所帮助......至少有点......

于 2017-05-08T01:12:02.160 回答