我的合同定义如下:
[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这有点旧,而不是解决方案.
任何想法除了摆脱可以为空的参数做什么?
谢谢.