C# 将从Javascript调用的同步WCF服务转换为异步
如何使我的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)] 或用于
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)]