2017-02-06 12 views
1

ファイルをDropboxにアップロードしようとしています。ファイルがアップロードされ、コードがローカルで実行されているときに動作します。しかし、ファイルはサーバーに公開されてもアップロードされません。私は次のエラーが発生しています。サーバーに公開したときにファイルをDropboxにアップロードできません

アセンブリ 'System.Net.Primitives、Version = 4.0.0.0、Culture = neutral、PublicKeyToken = *********'から 'System.Security.Authentication.SslProtocols'を読み込めませんでした。 Dropboxの

私はそれ

public sub uploadtodropbox() 
    Using httpclient As New HttpClient 
         httpclient.Timeout = TimeSpan.FromMinutes(20) 
         Dim _DropboxClient = New DropboxClient(ApiKeyDropBox, config) 
         Dim resultstring As String = UploadToDB(_DropboxClient, dropboxdir, docName, fileBytes) 
         _DropboxClient.Dispose() 
         If Not resultstring = "RanToCompletion" Then 
          ErrorMsg &= "The following error occured: " & resultstring 
         End If 
        End Using      

End Subの

をアップロードするには、以下のサンプルコードをしようとしているし、これがアップロードされる目的球である

Private Function UploadToDB(_DropboxClient As DropboxClient, Directory As String, Filename As String, Content As [Byte]()) As String 
    Try 
     Dim result As String = "Unknown" 
     Dim trycnt As String = 0 
     Dim tryLimit As String = 20 
     Dim respnse As Task(Of FileMetadata) 
     Using _mStream = New MemoryStream(Content) 
      respnse = _DropboxClient.Files.UploadAsync(Convert.ToString(Directory & Convert.ToString("/")) & Filename, WriteMode.Overwrite.Instance, body:=_mStream) 
      While Not respnse.IsCompleted And trycnt < tryLimit 
       Threading.Thread.Sleep(1000) 
       trycnt += 1 
       result = respnse.Status.ToString() 
      End While 
      UploadToDB = result 
     End Using 

エンド END機能を試してみてください。

私はその後、私はこのエラーを取得していますHTTPClientのを使用せずに試してみました:

「Dropbox.Api.DropboxRequestHandlerOptions」のタイプ初期化子が例外をスローしました。

は、私は答えを行く

+0

完全な例外/スタックを共有できますか? – Greg

+1

また、 'UploadAsync'呼び出しが' await'して、スリープループを行う必要がない場合もあります。 – Greg

+0

これは例外です**基本的な接続が閉じられました:SSL/TLSセキュアなチャネルの信頼関係を確立できませんでした。私は非同期のために待っている疲れているが、私は非同期ではないメソッドを使用しています。 Si、私はそれを回避する必要があります。 – LReddy

答えて

0

ありがとうございます。私は問題をDropboxにファイルをアップロードして作成しているsystem.Net.primitivesアセンブリがあります。私が行う必要があるのは、参照を削除するだけで、System.Net.Httpのバージョンはweb.configファイルに間違って設定されています。設定が完了したら、すべて正常に動作します。

証明書については、イベントハンドラで生成された証明書を検証して許可するためにon postを設定しました。

関連する問題