使用我的Windows服务(目标框架= .Net framework 4.0客户端配置文件)我正在尝试将文件上传到rackspace云文件。
我在这里发现了一些asp.net c#apis https://github.com/rackspace/csharp-cloudfiles
但看起来它们与Windows服务不兼容。
如何让这项工作在一起的任何线索?
答案 0 :(得分:1)
这是使用rackspce工作的完美库。我用它。我确信在Windows服务中使用这个库不是问题。但我认为.net框架客户端配置文件和com.mosso.cloudfiles.dll可能存在问题。但首先尝试使用客户端配置文件
我还使用以下代码将文件上传到Rackspace(配置它是我的配置类。而不是'Configuration.RackSpaceUserName'和'Configuration.RackSpaceKey'使用你自己的creadentials):
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非常容易创建自己的rackspace驱动程序。因为实际上将文件上传到机架空间,您只需要使用'X-Auth-Token'标头发送放置请求。您还可以使用plugin for firefox检查请求结构,以查看和上传文件到Rackspace和firebug。
答案 1 :(得分:0)
答案 2 :(得分:0)
我已经在这里待了大约一个小时,VS2010正在发生奇怪的事情。虽然我已经引用了dll和intellisense工作,但无法编译。
看起来引用的dll会消失。因此,如果您遇到同样的问题,我的建议是使用.NET 3.5的机架空间:csharp-cloudfiles-DOTNETv3.5-bin-2.0.0.0.zip
请务必将项目更改为相同的框架版本。它的效果非常好。
供您参考,下载页面位于:https://github.com/rackspace/csharp-cloudfiles/downloads