我对不同的数据层有所了解。我想在不同的sql服务器之间进行负载平衡。为此,我有以下设置:
当webapplication执行SQL请求时,“Application Proxy”会检查它是否是SELECT语句。当它是SELECT语句时,“Application Proxy”将SELECT语句发送到1个服务器。如果它不是SELECT语句,它会将请求发送到所有服务器。
现在我知道这种状态下的想法是行不通的,我必须解决很多不同的问题才能让它发挥作用(是的,已有解决方案)。但就目前而言,最大的启动问题是与实体框架的整合。
我想要的是将DbContext包装在我自己的类中,这样我就可以截取消息并自己发送。所以像这样:
public class MyDbContext : DbContext
{
public override string DoCallToServer(string sqlrequest)
{
if (sqlrequest.ToLower().StartsWith("select"))
{
return MyEngine.CallAll(sqlrequest);
}
else
{
return MyEngine.CallOne(sqlrequest);
}
}
}
这可能吗?
我搜索了互联网,但找不到任何东西。
答案 0 :(得分:0)