0

从函数调用 Web 服务时出现以下错误。

我已经使用“不安全”权限集引用了 sql server 中所有必需的程序集,并已将项目程序集注册为“外部访问”,并将序列化程序程序集注册为“安全”权限集。我也查看了代码,我没有看到像消息弹出等这样的东西......这在 sql server 的上下文中是无关紧要的。我创建了另一个使用相同服务的控制台应用程序,它可以从同一台服务器正常访问该服务。还有什么可能导致这个问题?任何帮助表示赞赏。

错误:System.Security.HostProtectionException:尝试执行 CLR 主机禁止的操作。在 System.ServiceModel.Description.TypeLoader.LoadContractDescriptionHelper(类型 contractType,类型 serviceType,对象 serviceImplementation) 在 System.ServiceModel.ChannelFactory1.CreateDescription() at System.ServiceModel.ChannelFactory.InitializeEndpoint(Binding binding, EndpointAddress address) at System.ServiceModel.ChannelFactory1..ctor(Binding binding, EndpointAddress remoteAddress) at System.ServiceModel.ClientBase`1..ctor(Binding binding, EndpointAddress remoteAddress) at MWMInterfaceBeanServiceClient.MWMInterfaceBeanServiceClient..ctor(Binding binding, EndpointAddress remoteAddress) at MWMInterfaceBeanServiceClient.MWMServiceClient.GetClient( )在 MWMInterfaceBeanServiceClient.MWMServiceClient.UpdateMobileCrew(布尔值活动,布尔值可用,布尔值availForOp,字符串合同,字符串代码,字符串名称,Int32 编号,字符串船员中心,字符串船员组,字符串船员 ID,Int32 船员大小,字符串船员监督员,字符串船员类型,布尔 mdtCrew, SqlXml 成员、String 区、String 划分、String serviceArea、String mobileNum、String pagerNum、Boolean tempFlag、SqlXml 车辆)受保护的资源(仅在完全信任的情况下可用)为:所有需要的资源是:同步、外部线程

4

1 回答 1

0

所以,我将程序集标记为不安全,这使这个错误消失了,但给了我另一个错误,说它无法序列化 svcutil 生成的代理之一来发出请求。我已经在构建后任务中使用 sgen 生成了序列化程序程序集,并注册为 UNSAFE,这似乎不起作用。也许这仅适用于具有本机类型的简单方法?因此,我采用了以下链接中提到的不同方法。

http://www.vishalseth.com/post/2009/12/22/Call-a-webservice-from-TSQL-(Stored-Procedure)-using-MSXML.aspx

于 2013-02-12T16:23:49.783 回答