C# CA1813&x9;避免MVC项目中未密封的属性
CA 1813避免在FilterConfig.cs页面(模型视图控制器项目的默认页面)中引发未密封属性代码审阅错误。我已经添加了代码属性用法(根据Microsoft的建议)。但是代码分析仍然报告了这个问题 请建议如何解决这个问题。 请查找下面的代码片段C# CA1813&x9;避免MVC项目中未密封的属性,c#,asp.net-mvc,C#,Asp.net Mvc,CA 1813避免在FilterConfig.cs页面(模型视图控制器项目的默认页面)中引发未密封属性代码审阅错误。我已经添加了代码属性用法(根据Microsoft的建议)。但是代码分析仍然报告了这个问题 请建议如何解决这个问题。 请查找下面的代码片段 public class FilterConfig { public static void RegisterGlobalFilters(GlobalFilterCollection filters) {
public class FilterConfig
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
}
// The attribute is valid for type-level targets.
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Enum | AttributeTargets.Interface | AttributeTargets.Delegate)]
public class NoCache : ActionFilterAttribute
{
public override void OnResultExecuting(ResultExecutingContext filterContext)
{
if (filterContext != null)
{
filterContext.HttpContext.Response.Cache.SetExpires(System.DateTime.UtcNow.AddDays(-1));
filterContext.HttpContext.Response.Cache.SetValidUntilExpires(false);
filterContext.HttpContext.Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches);
filterContext.HttpContext.Response.Cache.SetCacheability(HttpCacheability.NoCache);
filterContext.HttpContext.Response.Cache.SetNoStore();
base.OnResultExecuting(filterContext);
}
}
}
}
正如在《关于<代码>CA 1813》中所述,避免未密封的属性和错误内容。将
sealed
关键字添加到属性
类中
public sealed class NoCache : ActionFilterAttribute
Microsoft建议密封属性类型或将其抽象化。。你也没做。你也应该给你的类命名
NoCacheAttribute
,但这只是一个命名约定。。。