C# 是否可以从浏览器调用具有非字符串参数的WCF JSON WebService操作?
我知道UriTemplate只支持字符串参数,除非它们的格式如下(id={id}等)。例如: 然而,我不能做以下工作。即使我将第二个参数更改为字符串(而不是字符串数组)。这种操作可以通过在地址字段中键入URL从浏览器调用吗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
[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