【问题标题】:Sharing page across websites in ASP.NET在 ASP.NET 中跨网站共享页面
【发布时间】:2012-10-11 03:04:49
【问题描述】:

在我们公司,我们正试图弄清楚如何在 ASP.NET 中创建一个页面并跨域共享它。

我们想为所有客户网站创建一个简单的“购物车”页面,这样我们就可以从一个中心位置(例如http://ourwebsite.com/thecart.aspx)包含该页面,而无需重复代码,并且仍然可以能够将每个客户端的 CSS 样式和品牌应用到页面。

我们如何在 ASP.NET 中跨网站共享单个页面?

我们客户的每个网站都位于不同的域中,在某些情况下也可能位于不同的服务器上。

【问题讨论】:

  • 如果你在同一个机器上托管,你可以使用虚拟目录指向同一个地方
  • 就像我上面所说的那样,在某些情况下,我们不会将网站托管在同一台服务器上,因此我们不能依赖虚拟目录在网站之间共享页面。
  • 哇.. 我是一名太空学员。抱歉,我完全错过了“服务器部分”
  • 我不确定您是否可以在不使用 iframe 的情况下“包含”该页面。您可以允许在您的 thecart 页面上发布帖子,但您仍然需要为其编写前端代码。
  • 服务器将托管页面并呈现它,你会认为是的。不过,我认为爱尔兰酋长正朝着更好的方向前进。你可以看看创建一个 UC 或 dll 什么的

标签: asp.net webpage multi-tenant


【解决方案1】:

我认为您想要做的是管理一个页面并让它自动更新您客户网站上的其他页面,理想情况下与“共享资源”相同,不是吗?为此,您不一定需要“共享”页面,您需要一个简单的过程来部署单个页面的多个站点,errr ....我认为?在任何情况下,如果不通过 iframe 加载页面,或创建像“cart.somedomain.net”这样的中心点,然后将信息向后和第四次推送(我假设你会有购物车项目),你需要一个在不同网站上自动发布页面的方法。

即使您将“购物车”页面设为自己的解决方案,然后将其包含在各个站点中,您仍然会遇到部署问题。我认为您有几个选择,其中一些之前提到过:

  1. 创建一个从外部源加载页面的 iframe。
  2. 为所有域创建一个中心位置,以便将信息推送到其结帐过程(store.somedomain.net 或 somdomain.net/cart.aspx)并进行相应处理。
  3. 创建一个应用程序或脚本,自动将更新的资源部署到多个站点(我不知道有什么工具可以做到这一点,否则我会向您提供名称,我很抱歉)。

无论如何,我希望这会有所帮助,祝你好运。

【讨论】:

  • 很有帮助的想法,谢谢。我倾向于选项#2 之类的东西,该页面将从任何域推送到一个中心位置。现在的复杂性实际上是保留会话状态并跨域使用 AJAX。
【解决方案2】:

从自定义库中继承并创建页面作为另一个服务器控件。您当然会在源代码管理中拥有它。

其实它不需要是一个“页面”,而是一个自定义的服务器购物车控件。

【讨论】:

  • 好有趣。那么理论上,这个控件是否也可以使用 Session 变量和 AJAX 进行通信??
  • 每个会话在每个 Web 服务器上都是唯一的,对吗?如果您需要会话,它可以作为常规自定义控件为您服务。如果代码在一个实例上发生更改并且没有推送到其他实例,您唯一需要注意的是源代码控制版本控制。
  • 如果我创建一个包含控件的 DLL 并在所有客户端的网站中引用它会怎样?
  • 这正是我的意思。您将从自定义库中部署 DLL。它的美妙之处在于,如果您想要升级代码或随着时间的推移添加代码,它会扩展。
猜你喜欢
  • 2011-05-13
  • 1970-01-01
  • 2023-03-11
  • 1970-01-01
  • 1970-01-01
  • 2011-05-10
  • 2019-01-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多