Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将从Javascript调用的同步WCF服务转换为异步_C#_Asp.net_Wcf_Asynchronous Wcf Call - Fatal编程技术网

C# 将从Javascript调用的同步WCF服务转换为异步

C# 将从Javascript调用的同步WCF服务转换为异步,c#,asp.net,wcf,asynchronous-wcf-call,C#,Asp.net,Wcf,Asynchronous Wcf Call,如何使我的WCF图像上载服务异步而不是同步。我的SaveImage函数直接从异步javascript调用调用 合同(IImageWCFService.cs): 服务(ImageWCFService.svc.cs): 我返回void是因为这应该是一个单向调用,用户不需要从函数中获得任何结果,也不需要知道函数是否成功 现在,当这个WCF服务运行时,它将使用主线程。我希望它异步运行。我读过,推荐的方法是使用: [OperationContract(AsyncPattern = true)] 或用于

如何使我的WCF图像上载服务异步而不是同步。我的
SaveImage
函数直接从异步javascript调用调用

合同(IImageWCFService.cs):

服务(ImageWCFService.svc.cs):

我返回void是因为这应该是一个单向调用,用户不需要从函数中获得任何结果,也不需要知道函数是否成功

现在,当这个WCF服务运行时,它将使用主线程。我希望它异步运行。我读过,推荐的方法是使用:

[OperationContract(AsyncPattern = true)] 
或用于WCF的基于任务的异步模式

我读了很多文章,但仍然很困惑如何在我的函数中实现它。我需要一个代码示例,将显示我的图像上传功能的实现

注意:关于各种异步实现之间的差异,有一个很好的来源-它说实现它的最佳方法是使用基于任务的异步模式进行WCF

同样,调用是直接从JavaScript进行的,但我可以创建一个webservice(asmx)存储服务器,如果它需要的话,它将在服务器端调用WCF服务,但我还是对这一切感到困惑


谢谢。

你有没有想出解决办法?
 public void SaveImage(Stream stream)
 {
     // long running task up manipulating the image
     // some lines of code contains image upload to Amazon S3 functions
 }
[OperationContract(AsyncPattern = true)]