Comments (13)
看来.NET确实是二等公民,java/node.js这种一等公民确实占优势。后来我们就自己写了,不仅仅是考虑异步编程,还写了一个云存储抽象层,以后从OSS换到AWS S3/Azure Blob会更方便。
但还是真心希望阿里云官方能够提供异步操作的SDK,可以省我们自己不少事情,这里不得不吐槽一下阿里云的文档:API文档看上去很全很强大什么都有,但质量实在是不高,信息也很分散,很多API看完文档后根本不能成功调用,必须要配合看某个语言的SDK实现(特别是认证这块,把我们折腾够了,一个OSS的上传回调的用法就足够开发人员喝一壶的了,比如验证回调请求是从OSS服务器过来的这种操作)。总之就是:阿里云文档感觉不是Technical Writer写的,而是把文档任务分配给开发人员,在完成代码以后写的,文档的顶层设计、结构和细节质量比较像小作坊的做法,是为了把信息记录下来写文档而不是帮助开发人员更有效理解和使用API写文档,也是难为阿里云的开发团队了。
竞品分析:没关注过国内其他云提供商,AWS的.NET SDK对.NET Core只提供Async风格的接口(没看错,只有Async没有同步),而微软的Azure SDK在Blob Storage的操作全部提供三种接口:
- 同步接口
- Begin/End风格的接口
- 基于Task的异步Async接口
.NET是微软的亲生儿子但是贵,而AWS在**的市占率惨不忍睹,阿里云胜在便宜又大碗,基础的产品功能够用,其他细节质量牺牲一点市场也会买单的,谁让阿里云那么便宜。
我个人感觉:如果是非常大的项目大量使用云平台的服务,使用阿里云在开发和应用变更成本上会比使用AWS和Azure高,但运营成本会更低,看怎么选了。
from aliyun-oss-csharp-sdk.
是啊,都9102年了
from aliyun-oss-csharp-sdk.
这就是国内云平台第一大厂的效率?真实有够好笑的呢^^
from aliyun-oss-csharp-sdk.
大家可以用c#官方提供的wrapper将BeginInvoke/EndInvoke方式的包装成async/await方式的方法
var result = await Task.Factory.FromAsync((cb, o) => client.BeginPutObject(bucketName, objectName, stream, cb, o), client.EndPutObject, null);
看看参数形式,就会发现其余的函数的包裹方法类似。
@RainingNight @likan971 @Afanyiyu
from aliyun-oss-csharp-sdk.
@crucialize 这样看着不优雅啊。。。。。。
from aliyun-oss-csharp-sdk.
2021年了都,还不支持 Async/Await 。。。
from aliyun-oss-csharp-sdk.
马上2022年了。。。。
from aliyun-oss-csharp-sdk.
感人的alioss。。。
from aliyun-oss-csharp-sdk.
2022了,还是不支持?
from aliyun-oss-csharp-sdk.
这个问题提出已经4年了,访问网络服务基本上都是异步操作,到处都是async await,希望阿里云的技术管理者重视该问题,与时俱进
from aliyun-oss-csharp-sdk.
新版OSS SDK可以关注此仓库。底层使用的HttpClient,有纯异步的API。Nuget搜索AlibabaCloud.SDK.Oss20190517
即可。
from aliyun-oss-csharp-sdk.
from aliyun-oss-csharp-sdk.
卧槽,四年了,终于支持了
from aliyun-oss-csharp-sdk.
Related Issues (20)
- 你好,我使用httpclient 请求post policy一直提示MethodNotAllowed HOT 4
- 在window下运行报错,但在mac上可以成功 HOT 1
- 高并发下,OssClient单例,大量的连接处于TIME_WAIT HOT 2
- 在.net 5.0下运行运行失败
- 简单上传按照官网上示例加了md5校验一直提示SignatureDoesNotMatch,去掉就可以了
- 使用URL授权策略的时候签名错误 HOT 1
- DoesObjectExist异常 ,errorResponse 可能为null,没有判断, 导致NullReferenceException
- 好像API方法里面没有检测文件夹是否存在 HOT 1
- 使用断点续传时会报未加载程序集Aliyun.OSS.XmlSerializers的错误,这个程序集在哪里的
- No exception is thrown when internet is down using OssClient.BeginPutObject and OssClient.BeginGetObject
- client.ListObjects 无法使用
- Crc64 validation failed. Expected hash not equal to calculated hash
- EEFileLoadException HOT 1
- 2.13版在unity上ListObjects报错,v2.8却可以正常 HOT 2
- 2.13 ComputeContentCrc64 大于2g文件报错 之前的版本正常 严重影响验证导致重复下载流量亏损 HOT 1
- 代码质量有点差,能公开API接口请求的信息吗?
- 代码真是垃圾 HOT 3
- linux系统下,bucketname出错,win系统正常
- System.IO.IOException: Unable to write data to the transport connection: Broken pipe.
- unity压根跑不动呀2023年了,不知道什么问题 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from aliyun-oss-csharp-sdk.