我有一个Umbraco 7
个实例2 root nodes
。一个节点指向stage.sctflash.com
,另一个节点指向stage.bullydog.com
。当我导航到http://stage.bullydog.com/Products/accessories/podmount
时,Request.Url.Host
为stage.bullydog.com
。现在,如果我打开另一个标签并转到http://stage.sctflash.com/Products/accessories/podmount
,则Request.Url.Host
可能是stage.sctflash.com
,但有时,它只会更改为stage.sctflash.com
。
我注意到的一件奇怪的事情是,如果我在Umbraco
中查看配件节点,我发现它的父节点为stage.bullydog.com
,无论我是stage.sctflash.com
还是{stage.bullydog.com
1}}
我正在使用Request.Url.Host
来确定数据库的查询参数。我基本上得到这样的品牌:
if(Request.Url.Host == "stage.sctflash.com")
return "sct";
else
return bullydog";
因此,如果Request.Url.Host
间歇性错误,我会得到错误的查询参数。
要查看此操作,如果您转到http://stage.sctflash.com/Products/accessories/podmount
,您会看到一个SCT徽标,然后转到http://stage.bullydog.com/Products/accessories/podmount
,您会看到一个欺负狗徽标。这些徽标由Request.Url.Host
驱动。如果您刷新http://stage.sctflash.com/Products/accessories/podmount
,则很可能会立即看到Bully Dog
徽标,因为Request.Url.Host
现在是stage.bullydog.com
而不是stage.sctflash.com
这是我转到此页面时调用的操作方法:http://stage.sctflash.com/Products/accessories/podmount
public ActionResult GetAccessoriesByType(RenderModel model, string id)
{
string brand = Common.GetProductBrand(Request.Url.Host);
var productSearchResultsModel = new ProductSearchResultsModel
{
Accessories = _accessoryRepository.GetAccessoriesByType(id, brand)
};
return View("~/Views/accessories.cshtml", productSearchResultsModel);
}