【发布时间】:2018-01-09 20:56:48
【问题描述】:
我按照这些人的演练进行了介绍,我在其他 Stack Overflow 帖子中看到了这些内容:https://code.msdn.microsoft.com/Calling-WCF-Service-from-a-8071ceaa
我在运行存储过程时遇到错误,该存储过程调用了类库,该类库具有应该调用 Web 服务的 Web 服务引用:
未找到设置属性 xxxx
我认为从我可以从这条模糊的消息中收集到的是,在配置中没有找到端点,以便 Web 服务客户端调用它。
不幸的是,撰写上述博客文章的人对此一无所知,并且在此特定消息上搜索了几个小时却一无所获。
【问题讨论】:
-
您是否确认 .config 文件中包含该设置?您是否将编译后的 dll 移动到某处而不是复制其 .config 文件?
-
感谢你们的快速回复,只是为了澄清一下,我使用的是 Visual Studio 2013、SQL Server 2014。我确实验证了配置文件中有设置,当我移动编译的 dll到托管 SQL Server 的服务器,我也移动了配置。 @Solomon,我没有遵循该帖子的指示来打开可信赖的功能,并找到了一些 MSDN 文档,介绍了如何按照您的建议执行操作并执行这些操作以尽可能保持安全性。看起来我可能只需要使用 HttpWebRequest 就可以了,因为我今天花了一整天的时间来尝试使用服务客户端使其工作。
-
我所说的使用服务客户端的意思是,我创建了一个调用 web 服务的类库,将服务引用添加为高级选项下的 web 引用,而不是传统的服务引用,并且我的 WCF 服务运行良好,在该项目中对其进行了测试以确保安全。然后我做了第二步,用存储过程创建了一个数据库项目来调用前面列出的dll库中的静态函数,用ns.exe创建了非对称密钥,并对库和数据库项目进行了签名。使用 sql 命令编译它们,将它们移动到 SQL 服务器
-
然后在 SQL Server 中进行了非对称密钥处理,正如@Solomon 提到的那样,尽可能保证它的安全,但仍然会遇到前面提到的找不到设置的问题。我想这是 CLR 过程调用 dll 库时返回的异常消息。无论如何,如果有人对可能是什么问题有任何想法,我感谢您的反馈。
标签: c# sql-server web-services wcf sqlclr