2010-12-15 55 views
0

en utilisant mon service Windows (target framework = .Net Framework 4.0 profil client) J'essaye de télécharger des fichiers vers des fichiers cloud de rackspace.comment télécharger des fichiers vers le cloud Rackspace en utilisant les services Windows

J'ai trouvé quelques asp.net C# apis ici https://github.com/rackspace/csharp-cloudfiles

mais regarde comme ils ne sont pas compatibles avec les services Windows.

des indices pour que cela fonctionne?

+0

Ce lien GitHub est actuellement mort. – Brett

Répondre

1

C'est la bibliothèque parfaite pour le travail avec rackspce. Je l'utilise. Et je suis sûr que ce n'est pas un problème d'utiliser cette bibliothèque dans le service Windows. Mais je pense que les problèmes possibles avec le profil client .net framework et com.mosso.cloudfiles.dll. Mais essayez d'abord avec le profil du client.

Aussi j'utiliser le code ci-dessous pour télécharger des fichiers sur Rackspace (configuration, il est ma classe de configuration au lieu de 'Configuration.RackSpaceUserName' et 'Configuration.RackSpaceKey' utiliser yous propres 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); 
     } 

Configuration quelque chose comme ceci:

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

Je vous ne voulez pas utiliser com.mosso.cloudfiles.dll créer très facilement vous possédez pilote pour Rackspace. Parce que pour télécharger un fichier dans rackspace, il suffit d'envoyer la requête put avec l'en-tête 'X-Auth-Token'. Aussi, vous pouvez vérifier la structure de la demande en utilisant plugin for firefox pour afficher et télécharger des fichiers sur Rackspace et firebug.

+0

Pas très clair pour moi. Pouvez-vous partager le code de la classe de configuration? – JewelThief

+0

J'ai mis à jour ma réponse. –

0

J'ai quelques exemples en C# en utilisant cette même bibliothèque ici:

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

c'est un CLI assez simple mais nous espérons que cela devrait donner une idée comment l'utiliser.

0

Cela fait environ une heure que je tourne autour de ça et des choses bizarres se produisent dans VS2010. Bien que j'ai référencé la DLL et IntelliSense fonctionne, impossible de compiler.

Il semble que la DLL référencée disparaisse. Donc, ma recommandation dans le cas où vous allez dans le même problème, utilisez l'espace rack pour .NET 3.5: csharp-cloudfiles-DOTNETv3.5-bin-2.0.0.0.zip

Assurez-vous simplement de changer votre projet à la même version cadre. Cela fonctionne vraiment bien.

À titre de référence, la page de téléchargement est ici: https://github.com/rackspace/csharp-cloudfiles/downloads