相关疑难解决方法(0)

WCF服务合同可以有一个可以为空的输入参数吗?

我的合同定义如下:

[OperationContract]
[WebGet(UriTemplate = "/GetX?myStr={myStr}&myX={myX}", BodyStyle = WebMessageBodyStyle.Wrapped)]
string GetX(string myStr, int? myX);
Run Code Online (Sandbox Code Playgroud)

我得到一个例外:[InvalidOperationException:合同'IMyGet'中的'GetX'操作有一个名为'myX'的类型为'System.Nullable 1[System.Int32]', but type 'System.Nullable1 [System.Int32]' 的查询变量'不能被'QueryStringConverter'转换.UriTemplate查询值的变量必须具有可由"QueryStringConverter"转换的类型.

找不到任何有关此错误的信息,除了以下链接:http: //blog.rolpdog.com/2007/07/webget-and-webinvoke-rock.html有点旧,而不是解决方案.

任何想法除了摆脱可以为空的参数做什么?

谢谢.

c# rest wcf nullable

12
推荐指数
3
解决办法
2万
查看次数

标签 统计

c# ×1

nullable ×1

rest ×1

wcf ×1