【发布时间】:2017-05-16 13:56:02
【问题描述】:
使用棱镜 6
每当授予用户查看特定视图时的验证都是使用 ThreadPrincipal 完成的。此方法在 viewModel 中创建视图时有效:
try{
View someView = new View ();
mainRegion.Add(someView , "viewName");
mainRegion.Activate(someView );
}
catch (SecurityException)
{
}
而且视图有:
[PrincipalPermission(SecurityAction.Demand, Role = "Administrators")]
但是,在 viewModel 中创建视图并不是一个好习惯,所以如果使用 RequestNavigate 在视图之间导航:
_regionManager.RequestNavigate(RegionNames.ContentRegion, new Uri(viewName, UriKind.Relative));
同样的尝试,catch wrapper 被包裹起来:
try{
_regionManager.RequestNavigate(RegionNames.ContentRegion, new Uri(viewName, UriKind.Relative));
}
catch (SecurityException)
{
}
异常未被捕获。
问题: 如何捕捉异常?
【问题讨论】:
标签: c# wpf thread-safety prism principal