新的 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 服务;方法出现,类没有的主要内容,如果未能解决你的问题,请参考以下文章

无法启动 IIS Express

WCF分布式4:客户端访问寄宿在IIS中的WCF服务

WCF IIS 服务器 500 错误 检测到在集成的托管管道模式下不适用的ASP.NET设置的解决方法(转)

IIS异常

IIS 7 托管 WCF 服务使用域帐户作为应用程序池标识

IIS配置中增加对WCF程序的支持svc(IIS10中添加WCF支持几种方法小结)