从函数调用Web服务时出现以下错误。
我已使用“unsafe”权限集引用了sql server中所有必需的程序集,并使用“external access”注册了项目程序集,并使用“safe”权限集注册了序列化程序程序集。我也查看了代码,我没有看到任何类似消息弹出等...在sql server的上下文中无关紧要。我创建了另一个使用相同服务的控制台应用程序,它可以从同一台服务器访问该服务。还有什么可能导致这个问题?任何帮助表示赞赏。
错误:System.Security.HostProtectionException:尝试执行CLR主机禁止的操作。在System.ServiceModel.Description.TypeLoader.LoadContractDescriptionHelper(类型合约类型,类型的serviceType,对象serviceImplementation)在System.ServiceModel.ChannelFactory 1.CreateDescription() at System.ServiceModel.ChannelFactory.InitializeEndpoint(Binding binding, EndpointAddress address) at System.ServiceModel.ChannelFactory
1..ctor在System.ServiceModel.ClientBase`1(绑定结合,的EndpointAddress remoteAddress)位于MWMInterfaceBeanServiceClient.MWMServiceClient.GetClient()的MWMInterfaceBeanServiceClient.MWMInterfaceBeanServiceClient..ctor(绑定绑定,EndpointAddress remoteAddress)中的..ctor(绑定绑定,EndpointAddress remoteAddress)MWMInterfaceBeanServiceClient.MWMServiceClient.UpdateMobileCrew(布尔活动,布尔可用,布尔availForOp,字符串合约) ,串码,字符串名称,的Int32数字,字符串crewCenter,字符串crewGroup,字符串crewId,的Int32 crewSize,字符串crewSupervisor,字符串crewType,布尔mdtCrew,的SqlXml成员,串区,弦乐师,字符串serviceArea,字符串mobileNum,字符串pagerNum,布尔tempFlag,SqlXml vehicles)受保护的资源(只有完全信任才能获得):所有需求的资源是:同步,外部线程
答案 0 :(得分:0)
所以,我将程序集标记为UNSAFE并且使得此错误消失但是又给了我一个错误,表示它无法序列化由svcutil生成的代理之一来发出请求。我已经在后期构建任务中使用sgen生成了序列化程序集并注册为UNSAFE,它似乎不起作用。也许这只适用于本机类型的简单方法?因此,我采用了以下链接中提到的不同方法。