2012-03-27 69 views
1

服务器端从客户端获取zip数据包。解压该包并解析xml数据到sql server,然后返回成功消息到客户端!WCF REST上传文件

但我遇到问题。当客户端上传成功后,我不得不及时将成功消息返回给客户端,而不是在将数据插入数据库之后!

你能提前帮我吗?对不起,我的英语不好!

public IAsyncResult BeginAsyncUpload(string token, Stream data, string fileName, string Org, AsyncCallback callback, object asyncState) 
    { 
     if (BaseClass.HasPermission(token)) 
     { 
      return new CompletedAsyncResult<Stream>(data, fileName,Org); 
     } 
     else 
     { 
      return null; 
     } 
    } 
    public string EndAsyncUpload(IAsyncResult ar) 
    { 

     Stream data = ((CompletedAsyncResult<Stream>)ar).Data; 
     string fileName = ((CompletedAsyncResult<Stream>)ar).FileName; 
     string Organization = ((CompletedAsyncResult<Stream>)ar).Org; 
     try 
     { 
      return _streamToFile(data, fileName, Organization); 
     } 
     catch 
     { 
      return "SUCCESS!"; 
     } 
    } 

的_streamToFile方法插入数据到数据库

回答

0

第一件事情是,你可以单独的数据库插入代码和异步调用funcation。

是指用于非同步http://msdn.microsoft.com/en-us/magazine/cc164036.aspx

第二种方法是在文件夹中的存储文件,创建单独的服务赢得应用程序读取来自同一个文件夹,提取文件并插入到sql.Then移动到文件夹B.