开发者社区> 问答> 正文

.net请求被中止请求已被取消

            使用下面这个代码,一传文件就会收到一个异常“请求被中止: 请求已被取消” InnerExcept "在写入所有字节之前不能关闭流"
            这个代码是放在子线程中执行的 ,如果用主线程就不会出错。
             try
            {
                Aliyun.OpenServices.ClientConfiguration config = new Aliyun.OpenServices.ClientConfiguration();
                config.ConnectionTimeout = -1;
                Aliyun.OpenServices.OpenStorageService.OssClient OSSClient = new Aliyun.OpenServices.OpenStorageService.OssClient(new Uri("http://oss.aliyuncs.com"), AccessKeyID, AccessKeySecret, config);
                Aliyun.OpenServices.OpenStorageService.ObjectMetadata metadate = new Aliyun.OpenServices.OpenStorageService.ObjectMetadata();
                metadate.ContentLength = model.ContentLength;
                metadate.ContentType = model.ContentType;
                Aliyun.OpenServices.OpenStorageService.PutObjectResult result = OSSClient.PutObject(Bucket, Key, model.Filestream, metadate);
            }
            catch (Aliyun.OpenServices.ServiceException sex)
            {
            }


            catch (Exception ex)
            {


            }

展开
收起
文盛文化 2014-12-26 12:37:54 12322 0
4 条回答
写回答
取消 提交回答
  • 回 4楼xtaqukq的帖子
    只有用代理的时候会有问题?目前.net的代理功能还不完备,先不要用代理功能。
    其他还有没有问题?

    -------------------------

    回 6楼xtaqukq的帖子
    情况是:一直使用代理,以前可以,现在不行了。另外,不用代理一直可以。看错误像是还没有发送完数据,发送方(代理)就关闭了请求。
    1,检查下你们代理最近有没有变动。
    2,检查下出现错误时,代理是否正常,和oss的链接有没有提前关闭。
    3,另外endpoint可以参考这里 https://help.aliyun.com/document_detail/oss/user_guide/oss_concept/endpoint.html。原有的http://oss.aliyuncs.com已经不建议使用了。
    4,如果上述都不行,私信下你旺旺,我们一起调查下。
    2015-12-29 14:13:37
    赞同 展开评论 打赏
  •                 Aliyun.OpenServices.OpenStorageService.OssClient OSSClient = new Aliyun.OpenServices.OpenStorageService.OssClient(new Uri("http://oss.aliyuncs.com"), AccessKeyID, AccessKeySecret, config);
    这句话在主线程中构造,否则有可能会在子线程中析构掉。
    2015-12-29 10:28:58
    赞同 展开评论 打赏
  • Renet请求被中止请求已被取消
    同问啊,这个是什么原因引起的?
    关键这个写法在6-8份还好用,现在就好用了!!!!

    -------------------------

    Renet请求被中止请求已被取消
    我刚刚试了一个,不是线程的问题。
    实例化OSSClient ,不用代理是通过的,但用代理实例化就报这个错误了。

    -------------------------

    回 5楼无衣蒹葭的帖子
    可是从前都是好用的,现场环境也必须走代理的呀
    2015-12-29 09:08:11
    赞同 展开评论 打赏
  • LT是个伪程序员
    主线程运行没有问题的话,应该是你的多线程程序有误,仔细检查检查呢?或者就是多个线程对同一个数据块操作产生冲突了。
    2014-12-28 13:00:20
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载