先决条件
- 服务项目类型:.net 3.5 类库
- 服务主机:IIS 7.5 / ASP.NET 兼容模式已开启
为服务定义的单个操作DocumentsService
是UploadDocument(Stream stream)
,可通过 HTTP(webHttp 绑定)访问。
我试着用它来装饰它[OperationContract(IsOneWay=true)]
。
[OperationContract(IsOneWay=true)]
[WebInvoke(Method="POST", UriTemplate="upload", ResponseFormat=WebMessageFormat.Json, BodyStyle=WebMessageBodyStyle.Bare)]
void UploadDocument(System.IO.Stream stream);
另外我注释掉了这些行:
WebOperationContext.Current.OutgoingResponse.StatusCode = HttpStatusCode.OK;
因为我认为它没有用,因为服务本身会设置 200 状态,因为一切都很好。
我没有为服务使用任何生成的WCF客户端。我使用纯ajax请求来提交文件。
问题
这不是一个即发即弃的请求。它是同步和阻塞的。我怎样才能有真正的即发即弃的行动?我可以在没有任何c#代理客户端的情况下使用它吗?
编辑
- 我不能使用
Task
类 - 我绑定到 .net framework 3.5。 - 好吧,我有两个部分:上传本身和后处理。上传文件时如何链接这些部分或实例化异步后处理?