【问题标题】:ICloudStorageAccessToken Open says Null referenceICloudStorageAccessToken Open 说 Null 引用
【发布时间】:2013-04-26 18:46:03
【问题描述】:

我在打开保管箱文件夹时遇到问题。它是一个生成exe的代码。基本上,当 exe 执行时,它会开始下载存储在 dropbox 文件夹中的包。这是我的代码:

    _storage = new CloudStorage();

    var dropBoxCredentials = new DropBoxCredentials();

    dropBoxCredentials.ConsumerKey = "xxxxxxxxxxxxxxx";
    dropBoxCredentials.ConsumerSecret = "xxxxxxxxxxxxxxx";

    dropBoxCredentials.UserName = "someusername";
    dropBoxCredentials.Password = "somepassword";

    DropBoxConfiguration configuration = DropBoxConfiguration.GetStandardConfiguration();

    //open the dropbox connection
    _storage.Open(configuration, dropBoxCredentials);

很抱歉,我必须隐藏机密信息,但我认为它们是正确的。所以问题出现在_storage.Open(configuration, dropBoxCredentials); 它说: ![在此处输入图片描述][1]

我检查了“configuration”和“dropBoxCredentials”,它们不是 Null,“_storage”也是如此。 所以我很困惑,这里到底有什么问题?非常感谢。

编辑;这是堆栈跟踪:

at AppLimit.CloudComputing.SharpBox.StorageProvider.DropBox.DropBoxToken..ctor(OAuthToken token, DropBoxBaseCredentials baseCreds)
at AppLimit.CloudComputing.SharpBox.StorageProvider.DropBox.Logic.DropBoxStorageProviderService.AuthorizeAndGetSession(DropBoxCredentials credentials, DropBoxConfiguration configuration)
at AppLimit.CloudComputing.SharpBox.StorageProvider.DropBox.Logic.DropBoxStorageProviderService.Authorize(DropBoxCredentials credentials, DropBoxConfiguration configuration)
at AppLimit.CloudComputing.SharpBox.StorageProvider.DropBox.Logic.DropBoxStorageProviderService.CreateSession(ICloudStorageCredentials credentials, ICloudStorageConfiguration configuration)
at AppLimit.CloudComputing.SharpBox.StorageProvider.GenericStorageProvider.Open(ICloudStorageConfiguration configuration, ICloudStorageCredentials credentials)
at AppLimit.CloudComputing.SharpBox.CloudStorage.Open(ICloudStorageConfiguration configuration, ICloudStorageCredentials credentials)
at WebUpdater.Program.Main(String[] args) in C:\\TIS\\Tools\\WebUpdater\\WebUpdater\\Program.cs:line 52
at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()

【问题讨论】:

  • 异常的堆栈跟踪是什么?
  • 你的意思是调用栈?它是一个网络更新 exe。基本上,当 exe 执行时,它会开始下载存储在 dropbox 文件夹中的包。你问的是这个吗?
  • 不,我的意思是堆栈跟踪。您可以通过显示屏幕截图的异常弹出窗口中的“查看详细信息...”来查看它。或者,您可以单击最后一个链接“将异常详细信息复制到剪贴板”并将其粘贴到此处。
  • 我明白了。我把它作为图片发布了。有帮助吗?
  • 你展示的是完全的例外。我需要堆栈跟踪。看看图片。从顶部,找到“StackTrace”的第一次出现。那根弦就是我需要的。完整的字符串,而不仅仅是屏幕截图中看到的内容。我正在尝试找出是否在 Open 方法中引发了异常。

标签: c# dropbox sharpbox


【解决方案1】:

堆栈跟踪显示异常源自 SharpBox 程序集内部。

NullReferenceException 总是表示某种错误,因此您应该考虑在 SharpBox 网站上创建问题。

【讨论】:

  • @NickTsui:你没有。确保您使用的是最新版本。如果这没有帮助,请提交错误报告。
  • 我明白了。非常感谢伙计。虽然我不是最新版本,但我认为我们的 IT 可能有问题,因为我的代码直到昨天都运行良好。我真的很感激帮助。一个快速的问题:您在堆栈跟踪中从哪里看到问题来自 SharpBox 组装?
  • @NickTsui:堆栈跟踪包含在顶部异常之前直接调用的方法。下一行指定调用引发异常的方法的方法。您可以在堆栈跟踪中间的某处看到对CloudStorage.Open 的调用。这告诉你:你的代码没有抛出异常。如果是这样,它就不会进入Open 方法。
  • 所以基本上,因为 CloudStorage.Open 被执行,并且这个函数在 SharpBox 程序集中,所以在这种情况下,我知道我的代码没有问题,而导致问题的是程序集?
  • 完美。谢谢丹尼尔你太棒了:)
猜你喜欢
  • 1970-01-01
  • 2018-01-29
  • 1970-01-01
  • 2021-10-11
  • 1970-01-01
  • 2014-04-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多