WCF REST上传文件

时间:2012-03-27 08:46:50

标签: wcf

当服务器端从客户端获取zip数据包时。解压缩此包并将xml数据解析到sql server。然后将成功消息返回给客户端!

但是我遇到了问题。我喜欢在客户端上传成功时将成功消息及时返回给客户端,但是在插入到数据库的数据之后没有!

你能帮我吗?提前说!抱歉我的英文不好!

 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方法将数据插入db

1 个答案:

答案 0 :(得分:0)

首先,您可以分离数据库插入代码并异步调用该函数。

参考asynch http://msdn.microsoft.com/en-us/magazine/cc164036.aspx

第二种方法是,将文件存储在文件夹A中,创建单独的win服务应用程序以从同一文件夹A中读取文件,提取并插入到sql中。然后移动到文件夹B.