使用我的 Windows 服务(目标框架 = .Net 框架 4.0 客户端配置文件)我正在尝试将文件上传到机架空间云文件。
我在这里找到了一些 asp.net c# api https://github.com/rackspace/csharp-cloudfiles
但看起来它们与 Windows 服务不兼容。
任何线索如何使这项工作一起工作?
使用我的 Windows 服务(目标框架 = .Net 框架 4.0 客户端配置文件)我正在尝试将文件上传到机架空间云文件。
我在这里找到了一些 asp.net c# api https://github.com/rackspace/csharp-cloudfiles
但看起来它们与 Windows 服务不兼容。
任何线索如何使这项工作一起工作?
它是与 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。
我已经在这个问题上待了大约一个小时,VS2010 发生了奇怪的事情。虽然我已经引用了 dll 并且智能感知正在工作,但无法编译。
看起来引用的 dll 消失了。所以,如果你遇到同样的问题,我的建议是使用 .NET 3.5 的机架空间:csharp-cloudfiles-DOTNETv3.5-bin-2.0.0.0.zip
请务必将您的项目更改为相同的框架版本。它真的很好用。
供您参考,下载页面在这里:https ://github.com/rackspace/csharp-cloudfiles/downloads