加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

ASP.NET Web服务中的可选参数

发布时间:2020-12-16 00:09:44 所属栏目:asp.Net 来源:网络整理
导读:我有一个ASP.NET Web服务.这个Web服务工作正常.但是,WSDL将一些参数列为可选(minoccurs = 0),将其他参数列为非可选参数.一些可选参数实际上不是可选的,其他标记为非可选参数实际上是可选的.我想解决这个问题,但我找不到这些信息的来源. 在我看来,所有原始类
我有一个ASP.NET Web服务.这个Web服务工作正常.但是,WSDL将一些参数列为可选(minoccurs = 0),将其他参数列为非可选参数.一些可选参数实际上不是可选的,其他标记为非可选参数实际上是可选的.我想解决这个问题,但我找不到这些信息的来源.

在我看来,所有原始类型(int,boolean等)都是非可选的,所有其他参数都标记为可选.但是,我找不到可以更改此位置的位置.我想指定原始值的默认值(如果它们在请求中缺失)并指定哪个非基本参数实际上是可选的.我在哪里这样做?

解决方法

我假设当您说ASP.net Web服务时,您正在使用ASMX扩展创建Web服务.我认为在这种情况下发生的是所有可空类型变为可选,非可空变为非可选.

您也许可以手动编辑生成的WSDL文件.但是如果重新生成wsdl,那么你将不得不重做那项工作.

我建议您使用basisHttpBinding切换到WCF(除了您的服务名称,您的客户不应该注意到差异).

使用WCF,您只需根据需要在数据协定中标记参数:

[DataMember(IsRequired="false")]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读