OpenStack Rackspace云文件.net SDK

时间:2013-08-15 14:07:33

标签: openstack rackspace-cloud rackspace cloudfiles openstacknetsdk

我正在尝试将XML文件保存到悉尼的非CDN容器中:

public void Save(XDocument document)
{
    using (MemoryStream ms = new MemoryStream())
    {
        document.Save(ms);
        ms.Position = 0;

        RackspaceCloudIdentity identity = new RackspaceCloudIdentity { Username = "username", APIKey = "xxxxxxxxxxx", CloudInstance = CloudInstance.Default };
        CloudFilesProvider provider = new CloudFilesProvider(identity);

        provider.CreateObject("XMLFiles", ms, "xmlFile1.xml", region: "syd");
    }
}

对于1MB文件,上传大约需要50秒(非常长)。

然后,尝试重新下载文件,返回一个空结果:

public void Read()
{
    RackspaceCloudIdentity identity = new RackspaceCloudIdentity { Username = "username", APIKey = "xxxxxxxxxxx", CloudInstance = CloudInstance.Default };
    CloudFilesProvider provider = new CloudFilesProvider(identity);

    using (MemoryStream ms = new MemoryStream())
    {
        provider.GetObject("XMLFiles", "xmlFile1.xml", ms, region: "syd");

        // ms.Length is 0
    }
}

我做错了什么?

2 个答案:

答案 0 :(得分:1)

唉。我在commit 799f37c中引入了这个bug(首次在v1.1.3.0中发布)。我正在寻找目前最好的解决方法。

修改:没有解决方法,但我已针对此问题提交了issue #116,并且在pull request合并之后,我们将发布版本1.1.3.1图书馆纠正问题。

答案 1 :(得分:1)

您是否可以访问mycloud.rackspace.com上的控制面板?

我使用控制面板上传XML文件,然后使用上面的代码下载XML文件。它运作良好。

我现在要使用您发布的上传代码。

只是想让你知道我正在调查这个。