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

前端之家收集整理的这篇文章主要介绍了ASP.NET Web服务中的可选参数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个ASP.NET Web服务.这个Web服务工作正常.但是,WSDL将一些参数列为可选(minoccurs = 0),将其他参数列为非可选参数.一些可选参数实际上不是可选的,其他标记为非可选参数实际上是可选的.我想解决这个问题,但我找不到这些信息的来源.

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

解决方法

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

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

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

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

[DataMember(Isrequired="false")]

猜你在找的asp.Net相关文章