2

我有一个带有代码的 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 并使用“Add Watch”或“Quick Watch”,我会得到一个结果。但是按F10后,我得到了错误。

可能是什么原因?

4

0 回答 0