ASP.net MVC4 一源码多网站
Posted
技术标签:
【中文标题】ASP.net MVC4 一源码多网站【英文标题】:ASP.net MVC4 one source code multiple websites 【发布时间】:2015-02-20 07:15:33 【问题描述】:我在 asp.net mvc4 中创建了一个网站,并使用特定的域名将其放到网上。现在我的客户要求在不同的域名上复制相同的网站,并更改一些静态文本/图像以区分这两个网站。我只想处理一个源代码并部署两次。我怎样才能做到这一点?
【问题讨论】:
放在某个子域下就行了 我认为这不是一个解决方案,因为我需要在单独的服务器、不同的数据库上拥有单独的域名,所以我需要在页面中显示不同的静态文本。可以使用多个 web.config 文件到达目标吗? 【参考方案1】:几年前我们通过一个网络应用程序做到了这一点。这是一个痛苦的**。我们有一个网站正在运行,并且在用户登录后加载了资源。 在开发过程中你总是要考虑这一点,拆分资源总是寻找登录用户等。
将已发布的应用程序复制到第二个文件夹更容易,对于静态文本,使用某种可以动态替换的资源文件。 只要您没有几 GB 大的图像和文件,复制已编译的源代码和资源应该没有问题。
【讨论】:
【参考方案2】:虽然有点晚了,但我只是想和你分享一些我的经验,你可以按照这些步骤操作,不会占用你太多时间。
-
识别各种文本/图像(如品牌徽标等),您需要将它们设为特定租户。
创建一个名为tenant settings (tenantid, key, value)的表
确定需要调整才能从此设置查找的页面,而不是硬编码值。
更新这些页面并为每个租户提供一个 UI,以便他们可以随时更改值
通过这种方式,您可以轻松实现 4 级多租户。
HTH
【讨论】:
以上是关于ASP.net MVC4 一源码多网站的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET Web API 身份验证(Web + 移动)
ASP.NET MVC4.0+EF+LINQ+bui+网站+角色权限管理系统