我想使用Visual Studio数据库项目在我的数据库中启用更改跟踪.
命令是
ALTER DATABASE ##database name##
SET CHANGE_TRACKING = ON
(CHANGE_RETENTION = 2 DAYS, AUTO_CLEANUP = ON)
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚格式字符串以获取数据库名称
在我的MVVMC应用程序中,我有一个包含多个步骤的过程,基本上是一个向导.
我的控制器解析了我的外部视图(调用它WizardView)并将其添加到主区域.
WizardView包含一个痕迹痕迹,用于显示向导的进度,以及一个子区域,用于加载其他视图(调用此方法WizardRegion).Step1View是第一个加载到的视图WizardRegion.
每个视图都使用Unity容器将ViewModel注入到构造函数中.
WizardViewModel 订阅由步骤视图模型发布的多个事件聚合事件.
当每个步骤完成后,View Model会发布一个WizardViewModel用于存储状态的事件,这意味着WizardViewModel在我们进行时从每个步骤收集数据.步骤ViewModel还调用控制器来加载下一步WizardRegion.
在最后一步WizardViewModel保存向导的结果,并MainRegion导航回其他屏幕.
下次进入向导时,我们会创建所有Views和ViewModel的新实例,但上一个向导中的事件订阅仍然存在.
如何让我的视图模型意识到它们已被取消激活,以便我可以取消订阅我的活动?
另一种选择是取消订阅事件处理程序中的事件.这可能会有效但当我退回向导并需要再次重新订阅事件时会增加复杂性.
我编写了一个自定义授权过滤器,用于AngularJS XSRF方法,但是没有调用过滤器.
奇怪的是,我从另一个项目复制它,它似乎在那里工作正常.
这是attrubute/filter代码.
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = false, Inherited = true)]
public sealed class ValidateAngularAntiForgeryTokenAttribute : FilterAttribute, IAuthorizationFilter
{
public void OnAuthorization(AuthorizationContext filterContext)
{
string token = filterContext.RequestContext.HttpContext.Request.Headers["X-XSRF-TOKEN"];
object sessionToken = filterContext.RequestContext.HttpContext.Session["XSRF-TOKEN"];
if (string.IsNullOrEmpty(token) || sessionToken == null || sessionToken.ToString() != token)
{
throw new UnauthorizedAccessException();
}
}
}
Run Code Online (Sandbox Code Playgroud)
在这里它是在WebAPI控制器中装饰一个动作.
[Authorize]
public class WorksOrdersController : ApiController
{
[HttpPost]
[ValidateAngularAntiForgeryToken]
public void EmailJob(int id, EmailModel model)
{
// do something
}
}
Run Code Online (Sandbox Code Playgroud)
我是否必须在Web.config中添加一些内容才能使其正常工作?在实际工作的项目的web.config中,我看不到任何显着不同的东西.
public class Person
{
public string Name { get; set; }
}
List<Person> listOfPerson=new List<Person>();
listOfPerson.Add(new Person(){Name="Pramod"});
listOfPerson.Add(new Person(){Name="Prashant"});
listOfPerson.Add(new Person(){Name="Sachin"});
listOfPerson.Add(new Person(){Name="Yuvraj"});
listOfPerson.Add(new Person(){Name="Virat"});
Run Code Online (Sandbox Code Playgroud)
我想要一个LINQ解决方案,它将返回Name属性以" pra " 开头的对象列表
我有一个带有ng-show指令的元素,当我使用UnderscoreJS辅助函数_.isNull时,它的工作原理与使用标准的===运算符相同.
所以这显示newJobWorkPercentage的内容为null.
<div class="form-group" ng-show="newJobWorkPercentage === null">
... some content
</div>
Run Code Online (Sandbox Code Playgroud)
但事实并非如此
<div class="form-group" ng-show="_.isNull(newJobWorkPercentage)">
... some content
</div>
Run Code Online (Sandbox Code Playgroud)
我可以在我的应用程序中使用===,我只是好奇为什么帮助程序不起作用.