BizTalk WCF服务引用公共架构遇安全错误求解决方案
BizTalk WCF服务引用公共架构引发安全错误的解决方法
检查公共架构程序集的部署权限
BizTalk运行时的宿主实例账户需要具备公共架构所在GAC程序集的读取权限:- 使用
gacutil工具确认公共架构程序集已正确部署到全局程序集缓存(GAC) - 右键GAC中的目标程序集,进入「属性」→「安全」选项卡,确保BizTalk Host Instance账户拥有读取权限
- 使用
验证项目引用配置的正确性
确认BizTalk项目对公共架构的引用设置符合部署要求:- 在Visual Studio中,右键项目→「添加引用」,找到公共架构程序集,将其「复制本地」属性设置为
False(因程序集已部署到GAC,无需复制到项目输出目录) - 重新部署BizTalk应用前,确保公共架构程序集已提前部署到目标环境的GAC中
- 在Visual Studio中,右键项目→「添加引用」,找到公共架构程序集,将其「复制本地」属性设置为
排查WCF服务的身份验证与宿主权限关联
尽管站点启用匿名认证,BizTalk处理消息时仍需确保宿主账户能访问架构资源:- 打开BizTalk管理控制台,定位到对应WCF接收位置,检查其「接收处理程序」绑定的宿主实例账户是否拥有公共架构程序集的访问权限
- 检查WCF服务的绑定配置,确认没有错误的身份模拟或安全约束设置拦截架构访问
确保架构版本与依赖的一致性
避免因版本不匹配导致的加载或权限问题:- 在Visual Studio中查看引用的公共架构程序集的版本、公钥令牌信息
- 对比GAC中对应程序集的版本、公钥令牌,确保两者完全一致
内容的提问来源于stack exchange,提问作者James366
相关产品推荐
相关产品推荐

