0

使用我的 Windows 服务(目标框架 = .Net 框架 4.0 客户端配置文件)我正在尝试将文件上传到机架空间云文件。

我在这里找到了一些 asp.net c# api https://github.com/rackspace/csharp-cloudfiles

但看起来它们与 Windows 服务不兼容。

任何线索如何使这项工作一起工作?

4

3 回答 3

1

它是与 rackspce 一起工作的完美库。我正在使用它。而且我确信在 Windows 服务中使用这个库是没有问题的。但我认为 .net 框架客户端配置文件和 com.mosso.cloudfiles.dll 可能存在问题。但首先尝试使用客户资料。

我还使用以下代码将文件上传到 Rackspace(配置它是我的配置类。而不是 'Configuration.RackSpaceUserName' 和 'Configuration.RackSpaceKey' 使用你自己的凭据):

  private Connection CreateConnection()
        {
            var userCredentials = new UserCredentials(Configuration.RackSpaceUserName, Configuration.RackSpaceKey);
            return new Connection(userCredentials);
        }

  public void SaveUniqueFile(string containerName, string fileName, Guid guid, byte[] buffer)
        {
            string extension = Path.GetExtension(fileName);
            Connection connection = CreateConnection();
            MemoryStream stream = new MemoryStream(buffer);
            string uniqueFileName = String.Format("{0}{1}", guid, extension);
            connection.PutStorageItem(containerName, stream, uniqueFileName);
        }

配置是这样的:

public class Configuration
{
  public static string RackSpaceUserName = "userName";
  public static string RackSpaceKey= "rackspaceKey";
}

我不想使用 com.mosso.cloudfiles.dll 很容易创建自己的机架空间驱动程序。因为实际上要将文件上传到机架空间,您只需要发送带有“X-Auth-Token”标头的 put 请求。您还可以使用firefox 插件检查请求结构,以查看文件并将其上传到 Rackspace 和firebug

于 2010-12-15T08:51:35.080 回答
0

我已经在这个问题上待了大约一个小时,VS2010 发生了奇怪的事情。虽然我已经引用了 dll 并且智能感知正在工作,但无法编译。

看起来引用的 dll 消失了。所以,如果你遇到同样的问题,我的建议是使用 .NET 3.5 的机架空间:csharp-cloudfiles-DOTNETv3.5-bin-2.0.0.0.zip

请务必将您的项目更改为相同的框架版本。它真的很好用。

供您参考,下载页面在这里:https ://github.com/rackspace/csharp-cloudfiles/downloads

于 2011-09-04T21:44:25.740 回答
0

我在这里使用相同的库在 C# 中有一些示例:

https://github.com/chmouel/upload-to-cf-cs

这是一个非常简单的 CLI,但希望它可以让您了解如何使用它。

于 2011-03-29T05:57:55.483 回答