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 Core

ASP.NET Web API 身份验证(Web + 移动)

ASP.NET MVC4.0+EF+LINQ+bui+网站+角色权限管理系统

vs2012发布asp.net mvc4的网站到iis上,发布后在访问数据库的地方出错?

Asp.net Mvc4默认权限详细(下)

快速开发之代码生成器(asp.net mvc4 + easyui + knockoutjs)