2014-08-27 78 views
0

我明白,UriTemplate只支持字符串參數,除非你像下面的形式(id = {id}等)。這裏有個例子:WCF JSON可以從瀏覽器中調用非字符串參數的WebService操作嗎?

Can I pass non-string to WCF RESTful service using UriTemplate?

但是我不能讓下面的工作。即使我將第二個參數更改爲字符串(不是字符串數組)。通過在地址字段中輸入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 

謝謝!

回答

1

有一個在鏈接我有這個問題的答案:

Can I pass non-string to WCF RESTful service using UriTemplate?

String[] 

大概應該是字符串,它必須被解析/反序列化。

但是具有一個int和一個雙它看起來像這樣:

[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

相關問題