2015-01-27 1 views
0

Мы используем Box.V2.Sdk для загрузки файлов box.com используя следующий кодсоединение, которое, как ожидается, остается в живых был закрыт сервером

Function UploadToBox(ByVal attachedFilename As String, ByVal stream As System.IO.Stream) As Boolean 

    Dim clientID As String 
    Dim clientSecret As String 
    Dim oldRefreshToken As String 
    Dim newToken As BoxApi.V2.Authentication.OAuth2.OAuthToken 

    clientID = "your client id" 
    clientSecret = "you client secret" 

    Dim tokenProvider As New TokenProvider(clientID, clientSecret) 

    '''' Reading Refresh token from the file 
    Dim streamReader As StreamReader 
    streamReader = System.IO.File.OpenText(Server.MapPath("~\\Box\\BoxApiRefreshToken.txt")) 
    oldRefreshToken = streamReader.ReadToEnd() 
    streamReader.Close() 

    newToken = tokenProvider.RefreshAccessToken(oldRefreshToken) 
    Dim boxManager As New BoxManager(newToken.AccessToken) 

    '''' Writing the new Refresh token to the file 
    Dim streamWriter As New StreamWriter(Server.MapPath("~\\Box\\BoxApiRefreshToken.txt")) 
    streamWriter.Write(newToken.RefreshToken) 
    streamWriter.Close() 

    Dim rootFolder As Folder 

    rootFolder = boxManager.GetFolder(Folder.Root) 

    boxManager.CreateFile(rootFolder, attachedFilename, ConvertStreamToByteArray(stream)) 

    Return True 

End Function 

упоминается здесь http://www.codeproject.com/Tips/769414/Uploading-files-using-Box-API

Метод UploadToBox находится в цикле и вызывается для каждого файла, который нам нужно загрузить. Однако после нескольких загрузок мы получаем ошибку

Подключенное соединение было закрыто: соединение, которое должно было быть сохранено, было закрыто сервером.

Интуитивно понятно, что соединение с коробкой закрывается. Но из приведенного выше кода мы не знаем, какая часть пытается создать соединение, а если его закрыть, то создайте новый. Его довольно легко с C# SqlConnection, чтобы проверить, открыто или закрыто соединение.

Просьба предложить свои мысли.

ответ

0

Этот вопрос звучит похоже на тот, который был найден в официально поддерживаемой SDK и фиксированной: https://github.com/box/box-windows-sdk-v2

Вы пробовали использовать этот один?

Исходная проблема заключалась в том, что соединение закрывалось из-за истечения срока действия по умолчанию, истекающего до завершения загрузки. Являются ли загружаемые файлы больше, чем те, которые преуспевают? Используемый вами SDK использует RestSharp под обложками, поэтому вам может потребоваться взглянуть на источник, чтобы узнать, можно ли настроить тайм-аут.

HTH

 Смежные вопросы

  • Нет связанных вопросов^_^