如何在App中添加引用Web Service public Struct

时间:2010-06-15 18:13:24

标签: c# web-services data-structures asmx

最初发布于: http://www.experts-exchange.com/Programming/Languages/C_Sharp/Q_21355401.html

我有一个包含两个项目的解决方案:一个Web服务项目和一个Web应用程序项目,它有一个Web服务项目的Web引用(Web应用程序项目只是一个测试用例)。

我的webservice项目包含一个包含多个公共结构的类文件。我可以在webservice项目本身中使用这些。但是,我无法在Web应用程序项目中查看或引用结构。

当您向Web服务添加Web引用时,您实际上是否获得了Web服务的“对象”版本?在这种情况下,我希望能够访问网络服务的任何公共成员。

我以前创建了引用相关项目的服务,当我使用该服务时,我可以访问引用的项目及其成员。为什么我无法访问与服务位于同一项目中的类文件?

webservice(asmx)的命名空间和类文件(cs)是相同的。在Web应用程序中,我有一个用于Web引用的using语句。我可以访问asmx中的web方法,而不是相关的类文件及其公共成员...

我遇到同样的问题,有人可以告诉我解决方案是什么? 我想在WebService上发送一个公开可用的参数结构列表。

1 个答案:

答案 0 :(得分:1)

首先,您应该使用WCF而不是ASMX Web服务进行所有新开发。

其次,当您添加Web引用(或最好是服务引用)时,您将获得Web服务的所有公开类型的代理副本。如果服务返回包含某种结构类型的公共属性的类,那么您将获得返回类的代理副本,以及结构类型的代理副本。

你会得到一个班级,BTW,而不是结构。 “struct”的概念不会跨越服务边界。