在对 MobileFirst 适配器的调用返回之前重新激活应用程序时出现 NullReference 异常

Posted

技术标签:

【中文标题】在对 MobileFirst 适配器的调用返回之前重新激活应用程序时出现 NullReference 异常【英文标题】:NullReference exception on reactivation of app before a call to a MobileFirst adapter returns 【发布时间】:2015-05-06 13:21:44 【问题描述】:

我正在开发一个 windows phone 8 silverlight 应用程序,我正在使用 多功能一体机 v6.3

出现以下问题。

如果我在调用返回之前调用 MobileFirst 适配器并将应用程序置于后台,当我重新激活应用程序时,它会因此异常而崩溃。

ExceptionObject System.NullReferenceException: Object reference not set to an instance of an object.
   at IBM.Worklight.WLRequest.responseCallback(IAsyncResult asyncResult)
   at System.Net.Browser.ClientHttpWebRequest.<>c__DisplayClass1d.<InvokeGetResponseCallback>b__1b(Object state2)  System.Exception System.NullReferenceException

我尝试过的任何通话都会发生这种情况。 有人知道为什么会抛出这个异常吗?

其次,我想知道是否有办法取消通话。这样我就可以在我的应用停用时执行此操作。

编辑:添加适配器调用实现

public void getInvoices(IShowAndProceed showAndProceedVM, JObject parameter)
        
    String myContextObject = "MyAppWP8";
    WLRequestOptions invoicesOptions = new WLRequestOptions();
    invoicesOptions.setInvocationContext(myContextObject);
    WLProcedureInvocationData InvoicesInvocationData = new WLProcedureInvocationData("BillingAdapter", "MyInvoicesProcedure");
    InvoicesInvocationData.setParameters(new Object[]  parameter );

    WLClient.getInstance().invokeProcedure(InvoicesInvocationData, new InvoicesInvokeListener(showAndProceedVM), invoicesOptions);

【问题讨论】:

提及您的 Worklight/MFP 版本,而不是 .dll 版本。 What is a NullReferenceException and how do I fix it?的可能重复 威尔,不是重复的。 我编辑了问题以提及 MFP 版本 【参考方案1】:

问题 #1: 一个例外对我来说听起来像是一个缺陷。将对其进行调查,但如果您编辑问题并添加您的实现(用于适配器过程调用),这将有所帮助。

编辑:请打开 PMR。

问题 #2: 执行 MFP 适配器请求后,无法“取消”它。 You can submit a feature request.

【讨论】:

感谢伊丹的回答。我已经编辑了问题。 请为崩溃打开 PMR。

以上是关于在对 MobileFirst 适配器的调用返回之前重新激活应用程序时出现 NullReference 异常的主要内容,如果未能解决你的问题,请参考以下文章

IBM MobileFirst 服务器预览

调用 mobilefirst 适配器时出错:调用过程失败

IBM MobileFirst/Worklight JSON

如何在 MobileFirst 8 中实现服务器会话验证场景?

IBM MobileFirst 适配器调用 404

MobileFirst 8.0 - 从 WLResourceRequest 调用受保护的适配器