新的 IIS 服务器; WCF 服务;方法出现,类没有
Posted
技术标签:
【中文标题】新的 IIS 服务器; WCF 服务;方法出现,类没有【英文标题】:new IIS server; WCF service; methods show up, Classes do not 【发布时间】:2020-04-27 08:36:49 【问题描述】:我有一个 WCF 服务在我们的旧 IIS 服务器上运行良好。该服务具有公开的方法和类,所有这些都使用[ServiceContract]
、[OperationContract]
和[DataContract]
正确设置。该服务在旧服务器上运行良好。该服务仅在我们的本地 Intranet 上可见。
我们正在尝试移动到新的 IIS 服务器。其他 ASP.NET 网站在新的 IIS 服务器上运行。现在,在客户端应用程序代码中,如果我尝试“添加服务引用”,我能够成功地将服务引用添加到新的 IIS 服务器。问题是,虽然这些方法有效,但来自 WCF 服务的类在客户端应用程序上不可见。如果我采用现有服务引用并在 app.config 文件中将 url 更改为新服务器,则一切正常。我查看了 WSDL 文件,其中都有类。
我已经检查了两台服务器上的“角色和功能”,并没有发现相关项目有任何差异。我做错了什么?
【问题讨论】:
***.com/questions/3000209/… 您能详细说明一下这个问题吗?我对你的问题感到困惑。如果您使用旧的 IIS Web 服务器添加服务引用。它是否正常工作(某些类是可见的)?我怀疑 WCF 服务是一种 Restful 风格,默认情况下客户端在添加服务引用时不会生成任何内容。不知道是不是你的问题。请详细说明问题。 【参考方案1】:好的,上面评论中提供的链接实际上解决了它。谢谢莱克斯李
***.com/questions/3000209/service-reference-not-generating-client-types
当我接受亚伯拉罕钱的建议并尝试向旧服务器添加新服务引用时,它与新服务器做同样的事情,没有显示类。这告诉我这是一个视觉工作室问题。然后我尝试了 Lex Li 的建议,这解决了我的问题。作为修复的简短回顾:
-
添加新服务引用时,转到“高级...”
默认情况下,选择“在所有引用的程序集中重用类型”。将此更改为“在指定的引用程序集中重用类型”
在该选项下方的框中,选中“mscorlib”。
照常完成添加服务引用。
一旦我这样做了,它就解决了我的问题。感谢大家的帮助!
【讨论】:
以上是关于新的 IIS 服务器; WCF 服务;方法出现,类没有的主要内容,如果未能解决你的问题,请参考以下文章