白标解决方案:如何在不重新部署/回收应用的情况下添加HttpModule使用的信息

问题描述

我不知道我的问题是否足够清楚,但在我们的解决方案中,我们提供白标解决方案,其中来自不同域的请求根据与域名匹配的 customerId 显示具有不同徽标/样式的网站。

我使用 HttpModule 以这种方式实现它:

public class WhiteLabel: IHttpModule {

    public void Init(HttpApplication context) {
        context.BeginRequest += ...
    }

    void context_BeginRequest(object sender,EventArgs e) {
        var domainName = context.Request.Url.Authority;

        var customerId = GetCustomerId(domain); // <===== that's the problem...

        // Load a list of rewrite URL and use raw url to pass parameters
        // ex: customer-abc.com/products = customer-abc/products.aspx?customerId={customerId},}
}

此实现的问题是 GetCustomerId()一个switch/case,每次我们有新客户时都需要部署不同的域名。我们这样做的原因是为了减少 HttpRequest 上的 IO,但它不可扩展。

当我可以在不重新部署或回收应用程序的情况下推送新客户时,我会尝试找出解决方案。使用内存缓存?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...