问题描述
我不知道我的问题是否足够清楚,但在我们的解决方案中,我们提供白标解决方案,其中来自不同域的请求根据与域名匹配的 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 (将#修改为@)