服务器关闭了预期保持活动状态的连接

时间:2015-01-27 20:16:04

标签: box-api box boxapiv2

我们使用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可以很容易地检查连接是打开还是关闭。

请提出您的想法。

1 个答案:

答案 0 :(得分:0)

这个问题听起来类似于官方支持的sdk和修复过的问题: https://github.com/box/box-windows-sdk-v2

你尝试过那个吗?

原始问题是由于默认超时在上传完成之前到期,连接已关闭。上传的失败是否大于成功的上传?您正在使用的SDK在封面下使用RestSharp,因此您可能需要查看源代码以查看是否可以配置超时。

HTH