为啥 ASP.NET 试图为 Web 服务引用生成一个临时类?

Posted

技术标签:

【中文标题】为啥 ASP.NET 试图为 Web 服务引用生成一个临时类?【英文标题】:Why is ASP.NET trying to generate a temporary class for a Web Service reference?为什么 ASP.NET 试图为 Web 服务引用生成一个临时类? 【发布时间】:2011-03-25 22:46:49 【问题描述】:

在 Visual Studio 2008 中,我有一个类库项目(称为 Media),我向其中添加了一个 Web 引用(不是服务引用)到第三方 Web 服务 (wsdl)。在类库项目中,为使用该服务创建了一个代理类,并为该服务中使用的类型创建了几个类。

我还有第二个类库(称为 Sync)引用第一个。然后我有一个引用第二个类库的网站项目。所有这些都是 .NET 3.5

So Web Site > Class Library (Sync) > Class Library with web service reference (Media)

我想进入生成的代码,所以我在 IIS 7.5 中启动网站并触发对第二个类库 (Sync) 中的方法的调用,该方法又应该调用网络服务代理。我完全期待着达到断点,但却得到了一个异常:

无法生成临时类 (结果=1)。错误 CS0029:不能 隐式转换类型 Media.WebService.multiValuedAttribute 到 Media.WebService.multiValuedAttribute[]

为什么 ASP.NET 试图生成一个临时类?我不是已经从第一个类库 (Media) 中生成了类吗?它试图生成什么样的类?

谢谢!

【问题讨论】:

【参考方案1】:

您有一个生成的类,允许您调用 Web 服务。 ASP.NET 正在自动生成一个临时类来将 XML 序列化/反序列化为。

【讨论】:

谢谢!根据您的信息,我在 MSDN 上找到了这篇解释整个过程的文章:msdn.microsoft.com/en-us/library/aa302290.aspx

以上是关于为啥 ASP.NET 试图为 Web 服务引用生成一个临时类?的主要内容,如果未能解决你的问题,请参考以下文章

从 Web 服务 (asmx) 页面引用 asp.net 页面上的字段

从另一个项目/dll 引用的 Asp.NET 用户控件具有 NULL 属性

ASP.Net Core 2.0 - 引用“Microsoft.NET.Sdk.Web”且“PreserveCompilationContext”属性未设置为 false

为啥asp.net响应很慢

ASP.NET HTTP 错误 403.14 - 禁止 Web 服务器配置为不列出此目录的内容

如何使用 ASP.NET C# 在使用 ajax 完成 Web 服务时生成警报