我想用这个签名构建一个web服务,如果param2留空,它不会抛出异常.这可能吗?
[WebMethod]
public string HelloWorld(string param1, bool param2) { }
Run Code Online (Sandbox Code Playgroud)
异常是在尝试将空字符串转换为布尔值时抛出的System.ArgumentException.
到目前为止没有奏效的想法:
Web服务不允许使用方法重载,例如
public string HelloWorld(string param1)
{
return HelloWorld(param1, false);
}
Run Code Online (Sandbox Code Playgroud)如建议在这里:
bool可空的bool?.同样的例外.我的问题与这个问题有关,但唯一的答案是WCF合同,我还没有使用过.
我有一个ASP.NET Web服务.这个Web服务工作正常.但是,WSDL将一些参数列为可选(minoccurs = 0),将其他参数列为非可选参数.一些可选参数实际上不是可选的,其他标记为非可选参数实际上是可选的.我想解决这个问题,但我找不到这些信息的来源.
在我看来,所有原始类型(int,boolean等)都是非可选的,所有其他参数都标记为可选.但是,我找不到可以更改此位置的位置.我想指定原始值的默认值(如果它们在请求中缺失)并指定哪个非基本参数实际上是可选的.我在哪里这样做?