0

我正在使用样板示例代码在 Azure 媒体服务中创建单个资产,当尝试上传资产文件时,我返回 System.Net.WebException '远程服务器返回错误:(404)未找到。

这是一个全新的媒体服务帐户,带有一个全新的存储帐户(尝试重新创建)。存储帐户有一个资产容器(由媒体服务 API 创建),但没有 blob。

Fiddler 显示应用程序试图访问 blob 并取回 404 -

HTTP/1.1 404 指定的资源不存在。

编码

static public IAsset CreateAssetAndUploadSingleFile(AssetCreationOptions assetCreationOptions, string singleFilePath)
        {
            var assetName = "UploadSingleFile_" + DateTime.UtcNow.ToString();
            var asset = CreateEmptyAsset(assetName, assetCreationOptions);

            var fileName = Path.GetFileName(singleFilePath);

            var assetFile = asset.AssetFiles.Create(fileName);

            Console.WriteLine("Created assetFile {0}", assetFile.Name);
            Console.WriteLine("Upload {0}", assetFile.Name);

            assetFile.Upload(singleFilePath);
            Console.WriteLine("Done uploading of {0} using Upload()", assetFile.Name);

            return asset;
        }

资产在媒体服务中创建正常,失败的行是assetFile.Upload,其余操作是对blob的HEAD请求,该请求尚不存在-

HEAD /asset-c3546046-9ffc-46f1-ae19-0071cd93c9f1/video1.mp4?se=2014-05-23T04%3A54%3A48Z&sr=c&si=23fe7a43-27a2-44ff-afc2-53225e950ace&sv=2012-02-12& 2BapRVKnDmsbKRYrS1dKlw24quVYKH3QB3suMfwiKd4%3D&timeout=90 HTTP/1.1

我错过了什么?

4

2 回答 2

1

这个平庸的答案有点晚了,但我希望它对某人有所帮助。在最近遇到这个问题并使用相同的代码创建多个单独的解决方案后,我决定为我的原始解决方案找到一个答案,该解决方案有几个项目。

更令人沮丧的是,在同一个解决方案中创建新项目并没有帮助。结果,我将该解决方案中的两个项目目录(负责 MediaServices)复制到了一个新位置,打开了这些复制的项目并保存了新的解决方案文件。令我惊讶的是,一切都运作良好。(哇?!)

我回到原来的解决方案位置,删除了 .suo 文件(解决方案用户选项)并重新打开了原来的解决方案。一切运作良好。(呃!)

于 2014-10-16T17:25:56.127 回答
0

恐怕没有出色的解释,看起来项目中的某些内容已损坏,将代码剪切并粘贴到另一个项目中,一切正常。

感谢 JuliaKo 在MSDN 论坛上的帮助

于 2014-05-23T15:24:37.273 回答