как загрузить файлы в облачное хранилище, используя службы Windows - PullRequest
0 голосов
/ 15 декабря 2010

с помощью моей службы Windows (целевая платформа = .Net framework 4.0 профиль клиента) Я пытаюсь загрузить файлы в облачные файлы RackSpace.

Я обнаружил здесь несколько asp.net c # apis https://github.com/rackspace/csharp-cloudfiles

но похоже, что они не совместимы со службами Windows.

есть какие-нибудь подсказки, как заставить это работать вместе?

Ответы [ 3 ]

1 голос
/ 15 декабря 2010

Это идеальная библиотека для работы с 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 .

0 голосов
/ 05 сентября 2011

Я был вокруг этого около часа, и в VS2010 происходят странные вещи. Хотя я ссылался на dll и intellisense работает, не могу скомпилировать.

Похоже, что упомянутая dll исчезает. Итак, мой совет, если вы решите ту же проблему, используйте место в стойке для .NET 3.5: csharp-cloudfiles-DOTNETv3.5-bin-2.0.0.0.zip

Просто убедитесь, что изменили свой проект на ту же версию фреймворка. Это действительно хорошо работает.

Для справки, страница загрузки здесь: https://github.com/rackspace/csharp-cloudfiles/downloads

0 голосов
/ 29 марта 2011

У меня есть пример в C #, использующий ту же библиотеку:

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

это довольно простой CLI, но, надеюсь, это даст представление о том, как его использовать.

...