我试图在单元测试中生成视图,但我无法绕过丢失的VirtualPathProvider.大多数viewengines使用VirtualPathProviderViewEngine基类从当前的HostingEnvironment获取提供程序.
protected VirtualPathProvider VirtualPathProvider {
get {
if (_vpp == null) {
_vpp = HostingEnvironment.VirtualPathProvider;
}
return _vpp;
}
set {
_vpp = value;
}
}
Run Code Online (Sandbox Code Playgroud)
在单元测试中没有HostingEnvironment,即使我创建了一个HostingEnvironment,也没有当前的VirtualPathProvider.
我该如何解决这个问题?我是否必须创建自定义FakeWebFormViewEngine?
我正在尝试使用Windows帐户保护WCF服务.该服务应该在许多不同语言的系统上运行.如何设置具有语言无关角色名称的PrincipalPermission?
我找到了像这样的丑陋的变通方法.
[PrincipalPermission(SecurityAction.Demand, Role = "Builtin\\Administrators")] // English
[PrincipalPermission(SecurityAction.Demand, Role = "Vordefiniert\\Administratoren")] // German
public string HelloWorld()
{
return "Hello";
}
Run Code Online (Sandbox Code Playgroud)
我不认为这是一个很好的解决方案,有没有办法使这种语言独立?有没有办法使用帐户SID而不是字符串?