小编wa4*_*ant的帖子

尝试创建资产时出现System.NotSupportedException

我试图使用Azure MediaService API与一起Azure Storage APIAPI Service中主持Azure.

用户将视频流发送到服务HttpPost,服务将视频保存为我的存储帐户中的blob,媒体服务对视频进行编码,当视频链接准备就绪时,将其返回给用户.

但是,当我试图创建Asset一个System.NotSupportedException被抛出与消息:

抛出异常:Microsoft.Data.Services.Client.dll中的'System.NotSupportedException'抛出异常:mscorlib.dll中的'System.NotSupportedException'iisexpress.exe错误:0:Exception = System.NotSupportedException:此目标框架不支持您直接枚举数据服务查询.这是因为枚举会自动向数据服务发送同步请求.由于此框架仅支持异步操作,因此必须调用BeginExecute和EndExecute方法来获取支持枚举的查询结果.

我使用以下版本的所需依赖项:

Microsoft.Data.Services.Client - 5.6.2.0
Microsoft.WindowsAzure.MediaServices.Client - 3.0.0.8
Microsoft.WindowsAzure.Storage - 3.1.0.1
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

CloudMediaContext _context;
IAsset asset;
using (MemoryStream Ms = new MemoryStream(data.Data))
{
    _context = new CloudMediaContext("accountName", "accountKey");
    asset = await _context.Assets.CreateAsync("blobContainerName",
        AssetCreationOptions.None,CancellationToken.None);
    ...
    ...
}
Run Code Online (Sandbox Code Playgroud)

data.Data包含byte[]视频.CreateAsync调用时抛出异常.我试着_context.Assets.Create没有运气.

重要编辑

我创建了一个新的控制台应用程序,使用了我在API服务中使用的代码并且它已成功执行.所以问题出在API服务中.

这是我的类和方法定义

public class UploadController : ApiController
{

    [HttpPost]
    public …
Run Code Online (Sandbox Code Playgroud)

c# azure azure-storage-blobs async-await azure-media-services

42
推荐指数
1
解决办法
1820
查看次数