2010-12-15 3 views
0

내 Windows 서비스 (대상 프레임 워크 = .Net 프레임 워크 4.0 클라이언트 프로필)를 사용 중입니다. 파일을 rackspace 클라우드 파일에 업로드하려고합니다.Windows 서비스를 사용하여 랙 공간 클라우드에 파일을 업로드하는 방법

여기 https://github.com/rackspace/csharp-cloudfiles

일부의 asp.net C#을 API를 발견하지만, 윈도우 서비스와 호환되지 않는 것 같습니다.

어떻게이 작업을 함께 할 수 있습니까?

+0

있다. – Brett

답변

1

rackspce와 함께 사용하기에 완벽한 라이브러리입니다. 나는 그것을 사용하고있다. 그리고 나는 그것이 윈도우 서비스 안에서이 라이브러리를 사용하는 것이 문제가 아니라고 확신합니다. 하지만 .net 프레임 워크 클라이언트 프로필 및 com.mosso.cloudfiles.dll에 가능한 문제가 있다고 생각합니다. 하지만 먼저 고객 프로필을 사용해보십시오. 내가 코드 랙 스페이스에 파일을 업로드하려면 다음을 사용하십시오 또한

(구성 내 구성 클래스의 대신 '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'헤더를 사용하여 put 요청을 보내면됩니다. 또한 plugin for firefox을 사용하여 요청 구조를 점검하여 Rackspace 및 firebug에 파일을보고 업로드 할 수 있습니다.

+0

나에게 분명하지 않습니다. 구성 클래스 코드를 공유 할 수 있습니까? – JewelThief

+0

답변을 업데이트했습니다. –

0

나는 여기에 같은 라이브러리를 사용하여 C#에서 몇 가지 예제를 가지고 :

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

이 꽤 간단 CLI하지만 희망이 그것을 사용하는 방법 아이디어를 제공해야합니다.

0

나는 이것을 약 1 시간 동안 보았고 이상한 일들이 VS2010에 발생했다. 내가 dll을 참조하고 인텔리 센스가 작동하지만 컴파일 할 수는 없습니다.

참조 된 DLL이 사라진 것처럼 보입니다. 그래서, 당신이 동일한 문제로 갈 경우를 대비하여, .NET 3.5의 랙 공간을 사용하십시오 : csharp-cloudfiles-DOTNETv3.5-bin-2.0.0.0.zip

프로젝트를 동일하게 변경하십시오. 프레임 워크 버전. 그것은 정말로 효과적입니다. 참고로

는 다운로드 페이지는 여기에 있습니다 : GitHub의 링크가 현재 죽었 https://github.com/rackspace/csharp-cloudfiles/downloads

관련 문제