小编Pyn*_*ynt的帖子

UserPrincipals.GetAuthorizationGroups枚举组时发生错误(1301).升级到Server 2012域控制器后

研究:

与解决方法类似的问题,但不是对现有问题的实际解决方案

类似的问题指向Microsoft End Point更新为罪魁祸首

上面的链接最适合我的问题,我也在创建这篇文章时查看了Stack Overflow列出的每个类似问题,只有上面引用的问题符合我的问题.

背景:

我一直在使用UserPrincipal.GetAuthorizationGroupsC#.NET 4.0 Web表单站点上Server 2008 R2上运行IIS 7.5的特定页面访问权限2年半.2013年5月15日,我们删除了运行Server 2008(而不是r2)的主域控制器,并将其替换为Server 2012域控制器.第二天,我们开始收到下面列出的例外情况.

我使用Principal Context进行表单身份验证.用户名/通过握手成功并且正确设置了auth cookie,但是后续的Principal Context调用也会UserPrincipal.GetAuthorizationGroups间歇性地调用失败.我们已经解决了Server 2012域控制器中出现的一些BPA问题,但这还没有解决问题.我还建立了一个在两个独立服务器上运行的cron.虽然它们运行相同的代码库,但两个服务器将在不同的时间以组SID解析失败.(开发环境和生产环境).

该问题在Web服务器重启时暂时解决,并且在开发服务器上它将在12小时不能运行后自行解决.生产服务器通常会停止正常运行,直到重新启动而不解决自身.

此时,我正在尝试优化针对网络中特定域控制器的cron以及新DC,并使用当前未能产生更多目标异常时间的标准LDAP查询.到目前为止,我们已经在一台Web服务器上发现它失败的日子没有模式,但它将在大约12小时内恢复.最新结果显示,在上午8点至晚上8点之间,集团SID解决方案失败,然后恢复,几天后它将在晚上8点失败并在早上8点恢复,然后再运行12小时并再次失败.我们希望看看它是否只是一个特定的服务器通信问题,或者看它是否是整个域控制器集.

例外:

Exception information: 
Exception type: PrincipalOperationException 
Exception message: An error (1301) occurred while enumerating the groups.  
The group's SID could not be resolved.
at System.DirectoryServices.AccountManagement.SidList.TranslateSids(String target, IntPtr[] pSids)
at System.DirectoryServices.AccountManagement.SidList..ctor(SID_AND_ATTR[] sidAndAttr)
at System.DirectoryServices.AccountManagement.AuthZSet..ctor(Byte[] userSid, NetCred credentials, ContextOptions contextOptions, String flatUserAuthority, StoreCtx userStoreCtx, Object userCtxBase)
at System.DirectoryServices.AccountManagement.ADStoreCtx.GetGroupsMemberOfAZ(Principal p)
at System.DirectoryServices.AccountManagement.UserPrincipal.GetAuthorizationGroups()
Run Code Online (Sandbox Code Playgroud)

题:

鉴于以上信息,有没有人知道为什么退出Windows Server 2008(而不是r2)并实施新的Server …

c# active-directory domaincontroller windows-server-2012

27
推荐指数
2
解决办法
2万
查看次数

无法将类型为"Microsoft.OData.Edm.Csdl.CsdlSemantics.UnresolvedType"的对象强制转换为"Microsoft.OData.Edm.IEdmCollectionType"

在Visual Studio 2013中,我使用Nuget中的OData客户端代码生成器来使用OData V4端点.出乎意料的是,本周t4模板给出了错误:无法将类型为"Microsoft.OData.Edm.Csdl.CsdlSemantics.UnresolvedType"的对象强制转换为"Microsoft.OData.Edm.IEdmCollectionType".

我正在使用7个OData端点,并且只有其中一个在后端需要重新保存*.tt文件的更新.保存后出现错误并将输出*.cs文件留空.然后,我尝试在OData端点保存一个没有模型更改的*.tt文件,以查看它的行为方式.思考过程可能是端点模型的变化可能与客户端代码生成器不兼容.不幸的是,一个失败并产生了一个空白的*.cs文件以及相同的错误.

幸运的是,所有内容都使用git进行版本控制,我能够回滚文件以保持项目正常运行.

将此放在此处以防其他任何人升级他们的OData客户端代码生成器并感到沮丧.

c# visual-studio odata odata-v4

4
推荐指数
1
解决办法
2324
查看次数