我有一个带代码的WCF服务:
var ctx = new PrincipalContext(IsLocalMachine(strDomain) ? ContextType.Machine : ContextType.Domain);
Principal principal = Principal.FindByIdentity(ctx, name)
我有3种不同的测试环境:
1:IIS 8.5 .NET v4.5应用程序池,Win 8.1,strDomain = "testdomen1"
name = "testdomen1\testuser"
- 环境没有错误。
2:IIS 7.5 .NET v4.5应用程序池,Win Server 2008 r2,strDomain = "testdomen1", name = "testdomen1\testuser"
- 环境没有错误。
3:IIS 8.5 .NET v4.5应用程序池,Win 8,strDomain = "testdomen2"
name = "testdomen2\testuser2"
- 环境有错误。
在线
Principal principal = Principal.FindByIdentity(ctx, name)
argument exception
Value was invalid.
Parameter name: sddlForm
StackTrace
at System.Security.Principal.SecurityIdentifier..ctor(String sddlForm)
如果我为此行使用Debug> BreakPoint并且"添加Watch"或者"快速观察",我得到一个结果。但在按下F10之后,我收到了错误。
可能是什么原因?