2010-12-15 15 views
0

benutze meinen Windows-Dienst (Zielframework = .NET Framework 4.0-Clientprofil) Ich versuche, Dateien in Rackspace-Cloudfiles hochzuladen.Wie lade ich Dateien in die Rackspace-Cloud mit Windows-Diensten hoch

fand ich apis hier https://github.com/rackspace/csharp-cloudfiles einige asp.net C# out

aber sieht aus wie sie mit Windows-Dienste nicht kompatibel sind.

irgendwelche Hinweise, wie man das zusammen arbeiten lässt?

+0

Das Github Link zur Zeit tot ist. – Brett

Antwort

1

Es ist eine perfekte Bibliothek für die Arbeit mit Rackspce. Ich benutze es. Und ich bin sicher, dass es kein Problem ist, diese Bibliothek innerhalb des Windows-Dienstes zu verwenden. Aber ich denke, mögliche Probleme mit .NET Framework-Client-Profil und com.mosso.cloudfiles.dll. Aber versuchen Sie zuerst mit dem Kundenprofil.

dort auch folgende i-Code-Dateien zu Rackspace (Konfiguration ist es meine Konfigurationsklasse Statt ‚Configuration.RackSpaceUserName‘ und ‚Configuration.RackSpaceKey‘ yous eigenes creadentials verwenden.):

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); 
     } 

Konfiguration so etwas wie dies:

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

ich Sie nicht wollen, sehr einfach zu bedienen com.mosso.cloudfiles.dll erstellen Sie eigene Treiber für Rackspace. Da für das Hochladen von Dateien in Rackspace nur die Sende-Anfrage mit 'X-Auth-Token'-Header benötigt wird. Sie können auch die Anfragestruktur überprüfen, indem Sie plugin for firefox verwenden, um Dateien in Rackspace und firebug anzuzeigen und hochzuladen.

+0

Nicht sehr klar für mich. Können Sie Konfigurationsklassencode teilen? – JewelThief

+0

Ich habe meine Antwort aktualisiert. –

0

Ich bin seit etwa einer Stunde hier und in VS2010 passieren seltsame Dinge. Obwohl ich auf die DLL verwiesen habe und intellisense funktioniert, kann nicht kompiliert werden.

Es scheint, als ob die referenzierte DLL verschwindet. Also, meine Empfehlung für den Fall, dass Sie in das gleiche Problem gehen, verwenden Rackplatz für .NET 3.5: csharp-cloudfiles-DOTNETv3.5-bin-2.0.0.0.zip

Seien Sie einfach sicher, um Ihr Projekt zu ändern Rahmenversion. Es funktioniert wirklich gut.

Als Referenz finden Sie die Download-Seite ist hier: https://github.com/rackspace/csharp-cloudfiles/downloads