Это идеальная библиотека для работы с rackspce. Я использую это. И я уверен, что это не проблема, чтобы использовать эту библиотеку внутри службы Windows. Но я думаю, что возможные проблемы с профилем клиента .net Framework и com.mosso.cloudfiles.dll. Но попробуйте сначала с клиентским профилем.
Также я использую следующий код для загрузки файлов в Rackspace (Configuration это мой класс конфигурации. Вместо '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'. Также вы можете проверить структуру запроса, используя плагин для firefox для просмотра и загрузки файлов в Rackspace и firebug .