我们使用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 检查连接是打开还是关闭相当容易。
请提出您的想法。
此问题听起来类似于在官方支持的 sdk 中发现并修复的问题:https://github.com/box/box-windows-sdk-v2
你试过用那个吗?
最初的问题是,由于默认超时在上传完成之前过期,连接正在关闭。失败的上传是否大于成功的上传?您正在使用的 SDK 在幕后使用 RestSharp,因此您可能需要查看源代码以查看是否可以配置超时。
呵呵