在查询优化期间,我包含了sql server(Sql Server 2008 R2 Enterprise)的奇怪行为.我在表上创建了几个索引,以及一些索引视图.我有两个查询,例如:
select top 10 N0."Oid",N1."ObjectType",N1."OptimisticLockField" from ((("dbo"."Issue" N0
inner join "dbo"."Article" N1 on (N0."Oid" = N1."Oid"))
inner join "dbo"."ProductLink" N2 on (N1."ProductLink" = N2."Oid"))
inner join "dbo"."Technology" N3 on (N2."Technology" = N3."Oid"))
where (N1."GCRecord" is null and (N0."IsPrivate" = 0) and ((N0."HasMarkedAnswers" = 0) or N0."HasMarkedAnswers" is null) and (N3."Name" = N'Discussions'))
order by N1."ModifiedOn" desc
Run Code Online (Sandbox Code Playgroud)
和
select top 30 N0."Oid",N1."ObjectType",N1."OptimisticLockField" from ((("dbo"."Issue" N0
inner join "dbo"."Article" N1 on (N0."Oid" = N1."Oid"))
inner join "dbo"."ProductLink" …Run Code Online (Sandbox Code Playgroud) 我想从某些操作方法中返回一个结果,该结果将强制刷新当前页面。
我写这是为了获得这样的结果:
public class RefreshResult : ActionResult {
public override void ExecuteResult(ControllerContext context) {
Uri referrer = context.HttpContext.Request.UrlReferrer;
if(referrer == null || string.IsNullOrEmpty(referrer.AbsoluteUri)) {
return;
}
context.HttpContext.Response.Redirect(referrer.AbsoluteUri);
}
}
Run Code Online (Sandbox Code Playgroud)
在我的操作方法中,我只返回新的RefreshResult。它有效,但是我很好奇这种方法的局限性。我不愿意让客户选择直接访问返回此类结果的操作方法,因此我认为我始终能够以这种方式刷新当前页面。我对吗?
我在stackoverflow上发现了这个问题(以及其他几个问题): ActionResult返回到调用它的页面
但是我更感兴趣的是这种方法的局限性,而不是“如何做”。
提前感谢