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

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

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

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

非常感谢一个例子。

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

你当然可以:

 [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); }); 

有可能的。 链接以获取更多信息 – 如何:在ASP.NET AJAX端点的HTTP POST和HTTP GET请求之间进行选择

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