WCF服务,使用参数下载文件,在GET请求上发送数据

时间:2014-01-07 14:49:13

标签: c# jquery .net wcf

jQuery支持使用GET请求发送数据:

jQuery.get( url [, data ] [, success(data, textStatus, jqXHR) ] [, dataType ] )

是否可以编写支持在GET请求上接收数据的WCF服务?

非常感谢一个例子。

更新:网址长度超过了IE8的限制,IE8是必需的。我需要传递很多参数,基本上是一个很大的JSON。我解决此问题的方法是发出POST请求,将参数存储在服务器端,然后将window.location设置为服务位置,调用GET请求将下载我的文件。但是,我想避免POST请求并将文件存储在服务器端,因为我在分布式系统中,我有很多问题。

2 个答案:

答案 0 :(得分:2)

当然可以:

[OperationContract]
[WebInvoke(
    Method = "GET",
    UriTemplate = "SomeUrl?param1={param1}&param2={param2}"
)]
string SomeOperation(string param1, string param2);

然后:

$.get('SomeService.svc/SomeUrl?param1=SomeValue&param2=AnotherValue', function(response) {
    console.log(response);
});

或者:

$.get('SomeService.svc/SomeUrl', {param1: 'SomeValue', param2: 'AnotherValue'}, function(response) {
    console.log(response);
});

答案 1 :(得分:0)

有可能。点击此处链接了解更多信息 - How to: Choose between HTTP POST and HTTP GET requests for ASP.NET AJAX Endpoints

但REST服务更适合AJAX和JS调用。在进行新服务时,您可以使用ASP.NET Web API。关于它的很多教程here