C# 是否可以从浏览器调用具有非字符串参数的WCF JSON WebService操作?

C# 是否可以从浏览器调用具有非字符串参数的WCF JSON WebService操作?,c#,json,web-services,wcf,uritemplate,C#,Json,Web Services,Wcf,Uritemplate,我知道UriTemplate只支持字符串参数,除非它们的格式如下(id={id}等)。例如: 然而,我不能做以下工作。即使我将第二个参数更改为字符串(而不是字符串数组)。这种操作可以通过在地址字段中键入URL从浏览器调用吗 [WebGet(ResponseFormat = WebMessageFormat.Json, UriTemplate = "id={id}/legend={legend}/x={x}/y={y}")] public Stream GetMapPictur

我知道UriTemplate只支持字符串参数,除非它们的格式如下(id={id}等)。例如:

然而,我不能做以下工作。即使我将第二个参数更改为字符串(而不是字符串数组)。这种操作可以通过在地址字段中键入URL从浏览器调用吗

[WebGet(ResponseFormat = WebMessageFormat.Json, 
        UriTemplate = "id={id}/legend={legend}/x={x}/y={y}")]
public Stream GetMapPicture(int id, string[] legend, double x, double y)
如果我将参数更改为字符串并键入:

http://localhost:8732/Service1/id=732/legend=[343434, 555]/x=43/y=23

谢谢

在我的问题链接中有一个答案:

可能应该是必须解析/反序列化的字符串

但是,对于一个int和一个double,它看起来是这样的:

[ServiceContract]
public interface IService1
{
    [OperationContract]
    Stream GetMapPicture(int id, double x);
…
 public class Service1 : IService1
 {
    [WebGet(ResponseFormat = WebMessageFormat.Json, 
        UriTemplate = "MapPicture/?id={id}&x={x}")]
    public Stream GetMapPicture(int id, double x)
    {
http://localhost:8732/service1/MapPicture/?id=3&x=6.21
然后它从浏览器中消耗,如下所示:

[ServiceContract]
public interface IService1
{
    [OperationContract]
    Stream GetMapPicture(int id, double x);
…
 public class Service1 : IService1
 {
    [WebGet(ResponseFormat = WebMessageFormat.Json, 
        UriTemplate = "MapPicture/?id={id}&x={x}")]
    public Stream GetMapPicture(int id, double x)
    {
http://localhost:8732/service1/MapPicture/?id=3&x=6.21
因为没有人将此标记为重复,所以我也在这里发布了一个答案。链接的不同之处在于,这里有两个与符号(&)组合的参数

-m