小编reg*_*ike的帖子

使用调用构造函数的静态方法有什么好处(语义或其他)?

我刚刚更新了Visual Studio 2013,我注意到在MVC应用程序的项目模板中,ApplicationDbContext类现在有一个静态方法,它只调用构造函数:

public static ApplicationDbContext Create()
{
    return new ApplicationDbContext();
}
Run Code Online (Sandbox Code Playgroud)

这似乎对我来说很混乱,但我想有一些语义原因我现在应该开始使用ApplicationDbContext.Create()而不是new ApplicationDbContext().这样做有什么好处吗?

c# constructor static-methods

12
推荐指数
2
解决办法
648
查看次数

脚手架视图时为什么要指定数据上下文类?

使用下图所示的Add View对话框向ASP.NET MVC 5项目添加新视图时,我被邀请选择一个模板和一个模型类,这使我可以快速生成一个表单来创建模型的新实例或显示模型属性的视图.但为什么视图应该关心数据上下文类是什么?在我的项目中,无论我是否指定数据上下文类,都会生成相同的视图,但我猜测有一个场景可以产生影响.可能是什么?

ASP.NET MVC

asp.net asp.net-mvc

10
推荐指数
1
解决办法
4005
查看次数

为什么OutputCache是​​ASP.NET MVC中的结果过滤器而不是动作过滤器?

OutputCache属性通常作为ASP.NET MVC中结果过滤器的示例给出.这个MSDN页面是一个地方.因此它包装了ActionResult对象的执行.但是,在动作方法结束时执行的对象不是吗?我很困惑它如何允许使用缓存的响应,并且如果它只在该方法结束时包含ActionResult的执行,则会阻止操作本身执行.我知道缓存有效,所以显然有一些我不知道的明显部分.

asp.net asp.net-mvc

6
推荐指数
1
解决办法
1183
查看次数

当Mercurial/TortoiseHg图形线没有点时,它意味着什么?

我和其他3位开发人员一起工作,大部分时间我们都在匿名分支机构的同一个Mercurial存储库上工作,并定期与默认分支合并.昨天,其他一位开发人员决定更新到之前的版本并继续在那里工作.在做出改变然后拉动和合并之后,我们发现TortoiseHg中的图形(见下图)有一些奇怪的行为,这是我们以前从未见过的.基本上我们有一些图形线不是以点结尾但只是跟踪并且永远不会合并回任何其他分支.这用普通英语意味着什么?

Mercurial/TortoiseHg图

更新:我倾向于"bug",但在最新的图表中,我有一种类似的线条,它在整个图形中编织,似乎根本没有任何用途.这里可以看到图表最底部变更集0左侧的浅蓝色.

在此输入图像描述

更新:hg glog的ASCII输出如下所示.TortoiseHg图在rev 281附近有未连接的线,但在这里看起来很好.所以...错误?

@    297 277f72eb6da3
|\
| o  296 eb2505095090
| |
o |  295 7f44b8354252
| |
| o  294 b4b7e3fa683a
| |
| o    293 e2e16967987f
| |\
+---o  292 e5d13c14417e
| |
| o  291 f12a6a3fa06a
| |
| o  290 ea93c6fe6244
| |
| o  289 fbc2e750a98d
| |
| | o  288 987fd06bad0d
| | |
o | |    287 b91bd794ca84
|\ \ \
| o | |  286 063968c4a406
| |\| …
Run Code Online (Sandbox Code Playgroud)

mercurial tortoisehg branching-and-merging

5
推荐指数
0
解决办法
756
查看次数

为什么在Fiddler中的请求中可见的cookie在Request.Cookies集合中不可用?

我正在使用相同的域但不同的子域在.NET 2.0站点和.NET 4.0站点之间进行SSO.在一台机器上的开发环境中一切正常,但我无法让4.0生产站点接受2.0生产站点生成的auth cookie.这两个站点位于不同的服务器上,一个运行IIS 6,只安装了2.0框架,另一个运行IIS 7.5,安装了4.0框架.我已经阅读了其他问题的所有其他答案,这些问题指出了<machineKey>元素和<authentication><forms>元素的问题,并且相信我,所有这些东西都已正确设置,并且所有4个站点都具有与这些元素完全相同的属性值.

起初我认为这是加密的一个问题,但是当我仔细研究Fiddler发生了什么时,我发现auth cookie正在请求中正确传递,但似乎在某些时候消失了,然后不是可在Request.Cookies集合中找到.

4.0生产站点位于负载均衡器后面,但Web场中当前没有其他服务器联机.负载均衡器能否以某种方式丢弃cookie?cookie是否未添加到Request.Cookies集合中,因为它不是有效的身份验证cookie?如果是这样,为什么它不合法?

总而言之,当我在请求的页面上执行以下操作时:

HttpCookie AuthCookie = Request.Cookies.Get(".SSOAUTH");

AuthCookie为null,即使我可以在Fiddler的请求标头中看到具有该名称的cookie.

asp.net forms-authentication .net-4.0 .net-2.0 single-sign-on

2
推荐指数
1
解决办法
1495
查看次数