Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 因查询字符串参数而异的Rest方法_.net_Wcf - Fatal编程技术网

.net 因查询字符串参数而异的Rest方法

.net 因查询字符串参数而异的Rest方法,.net,wcf,.net,Wcf,我想创建两个Rest方法,它们根据URI中的查询字符串参数而变化 像 这会产生以下错误: “合同”IRestService“中的“操作”GetDetailByDayAndActivity”有一个UriTemplate,该模板需要一个名为“TYPE”的参数,但该操作上没有具有该名称的输入参数。” 访问仅包含day参数的方法时,如:http://testserver/GuestService/Guest/0?day=2011-10-20 如何实现这一点?您需要将get参数映射到资源 试试这个 [We

我想创建两个Rest方法,它们根据URI中的查询字符串参数而变化

这会产生以下错误:

“合同”IRestService“中的“操作”GetDetailByDayAndActivity”有一个UriTemplate,该模板需要一个名为“TYPE”的参数,但该操作上没有具有该名称的输入参数。”

访问仅包含day参数的方法时,如:
http://testserver/GuestService/Guest/0?day=2011-10-20


如何实现这一点?

您需要将get参数映射到资源

试试这个

[WebGet(UriTemplate = "Guest/{guestId}/{day}/{type}"
第二个

[WebGet(UriTemplate = "Guest/{guestId}/{day}"
请注意,您需要更改您的调用

另一点是将所有签名更改为字符串

比如说

[WebGet(UriTemplate = "Guest/{guestId}?day={day}")]
public GuestDetail GetDetail(string guestId, **string day**)

而且,除了转换为datetime之外,还需要将get参数映射到资源

试试这个

[WebGet(UriTemplate = "Guest/{guestId}/{day}/{type}"
第二个

[WebGet(UriTemplate = "Guest/{guestId}/{day}"
请注意,您需要更改您的调用

另一点是将所有签名更改为字符串

比如说

[WebGet(UriTemplate = "Guest/{guestId}?day={day}")]
public GuestDetail GetDetail(string guestId, **string day**)

然后,我们找到了这个错误的原因。 接口中参数的名称不同。URI中使用的名称必须与接口中的名称匹配


此外,如果使用查询字符串,则不需要定义单独的方法。单一方法可以工作,在这种情况下,其他参数将具有空值。

找出了此错误的原因。 接口中参数的名称不同。URI中使用的名称必须与接口中的名称匹配


此外,如果使用查询字符串,则不需要定义单独的方法。单个方法可以工作,在这种情况下,其他参数将具有空值。

这是我们需要使用查询字符串的要求,因此无法更改它。关于签名,日期时间也起作用。当数据类型是URI的一部分时,您只需要将其用作字符串。如果它是查询字符串的一部分,则可以使用date、int等。这是我们需要使用查询字符串的要求,因此无法更改它。关于签名,日期时间也起作用。当数据类型是URI的一部分时,您只需要将其用作字符串。如果它是查询字符串的一部分,您可以使用date、int等。Dude!!我也有同样的问题。看着你的回答,我意识到我犯了同样的错误,除了我,我什么都怪!!谢谢伙计!!我也有同样的问题。看着你的回答,我意识到我犯了同样的错误,除了我,我什么都怪!!谢谢