为什么Session在控制器的构造函数中为null?它可以从Action方法访问.据推测,因为MVC路由框架负责新建一个Controller,所以它当时没有(重新)实例化Session.
有谁知道这是否是设计的,如果是的话,为什么?
[我已设法通过使用延迟加载模式来解决问题.]
如果我有以下控制器动作......
public void DoSomething()
{
}
Run Code Online (Sandbox Code Playgroud)
框架实际上会将其转换为此吗?
public EmptyResult DoSomething()
{
return new EmptyResult();
}
Run Code Online (Sandbox Code Playgroud) 背景:Visual Studio 2008,C#,.Net 3.5.
我有许多实用程序类,它们不是单元可测试的.这主要是因为它们与资源(例如数据库,文件等)交互.
有没有办法可以装饰这些类,以便Visual Studio代码覆盖引擎会忽略它们,所以不减少代码覆盖百分比?
我有一个包含2个asmx文件的Web服务(public.asmx和private.asmx).在IIS6上,我可以转到private.asmx的属性,然后从"文件安全性"选项卡中拒绝除localhost的IP地址之外的所有计算机访问.
在IIS7中,我似乎只能为整个文件夹执行此操作.我错过了什么?
我已成功创建(并手动编辑)一个项目模板,该模板将在一个'镜头'中添加多个文件.我希望这些文件都可以在应该同时创建的文件夹下创建.
在项目模板.vstemplate文件中,我可以指定一个Folder元素,但架构不允许在Item模板中使用一个.
任何人都知道这是否可行,还是我必须开始考虑扩展IDE?
我刚刚重构了一个同事的代码,粗略地看起来像这样......
public class Utility
public void AddHistoryEntry(int userID, HistoryType Historytype, int companyID)
{
// Do something...
}
public void AddHistoryEntry(int userID, HistoryType historyType, int companyID, string notes)
{
// Do something...
}
}
Run Code Online (Sandbox Code Playgroud)
对此......
public class HistoryEntry
{
public long UserID { get; private set; }
public HistoryType HistoryType { get; private set; }
public long CompanyID { get; set; }
public string Notes { get; set; }
public HistoryEntry(long userID, HistoryType historyType)
{
this.UserID = userID;
this.HistoryType = historyType; …Run Code Online (Sandbox Code Playgroud) 我有一个包含大约30个项目的Visual Studio 2008解决方案.其中一些是Web服务/ WCF服务/ ASP.NET MVC应用程序.
当我运行所有单元测试(Ctr + R,A)时,它坚持要为这些不同的项目启动所有开发服务器.这意味着运行测试需要太长时间,实际上,我的单元测试都不需要这些框架.
那么,我如何阻止Visual Studio这样做呢?
unit-testing webdev.webserver visual-studio-2008 visual-studio
我们有一个ASP.NET MVC应用程序,我们已经开发了自己的自定义RoleProvider类.没有缓存,它将访问每个请求的数据存储 - 不好.我们可以找到唯一的缓存选项(在web.config中)通过存储在客户端机器上的cookie.我的两个问题是:
有没有人有替代路线?我明白在Session中缓存这些信息也不好?
我有一个存储在TFS源代码控制(2008)中的项目正在由2个开发人员处理.所有3个版本(Developer1,Developer2和Server)都是最新的.但是,两位开发人员都报告解决方案资源管理器中的某些文件说"由其他人或其他地方签出" - 但在源代码管理资源管理器中查看的相同文件表明它们可用.似乎工作空间已经混淆但实际文件"很好".
有人可以帮忙吗?
tfs tfs2008 source-control-explorer visual-studio-2008 visual-studio
我在MVC应用程序的控制器中使用了2个属性.AttributeA扩展了System.Web.Mvc.AuthorizeAttribute,AttributeB扩展了System.Web.Mvc.ActionFilterAttribute.我希望AttributeB始终先运行.
我已经尝试了基于本文的所有可能的Order组合,但AttributeA 始终在AttributeB之前运行.有人可以帮忙吗?
asp.net-mvc ×4
asp.net ×2
unit-testing ×2
.net ×1
attributes ×1
c# ×1
caching ×1
class-design ×1
code-design ×1
iis ×1
iis-6 ×1
iis-7 ×1
roleprovider ×1
roles ×1
session ×1
tfs ×1
tfs2008 ×1