【问题标题】:Session state service failed - UWP会话状态服务失败 - UWP
【发布时间】:2015-12-03 09:55:06
【问题描述】:

我正在使用 Prism 6.0 开发 UWP 应用程序 我的应用程序在调试和发布模式下都运行良好,但是当我在应用程序包上运行 Windows 应用程序认证工具包时,我不断收到此应用程序错误 - “会话状态服务失败”。我在安装应用程序包和运行应用程序时从未见过此异常。但是每次 WACK 运行包时我都会遇到这个异常。

正因为如此,

我在 Windows 应用认证工具包 - 测试结果中遇到错误。

错误是: 失败 崩溃和挂起

•发现错误:崩溃和挂起测试检测到以下错误:◦Windows 错误报告检测到可执行文件 C:\Program Files\WindowsApps\10486username.SongApp_1.1.0.0_x86__5q2wmk4fv784y\SongApp.exe 并遇到崩溃或挂起. ◦Windows 错误报告检测到应用程序 10486username.SongApp_1.1.0.0_x86__5q2wmk4fv784y 并遇到崩溃或挂起。

•未修​​复时的影响:停止响应或崩溃的应用可能会导致数据丢失并且用户体验不佳。

•如何修复:调查和调试应用程序以识别和修复问题。

失败 暂停后的 Direct3D 修剪

•发现错误:Direct3D Trim after Suspend 测试检测到以下错误:◦应用程序在测试结束时没有运行。它可能因无响应而崩溃或被终止。

•未修​​复时的影响:如果应用程序未在其 Direct3D 设备上调用 Trim,则应用程序将不会释放为其早期 3D 工作分配的内存。这增加了应用程序因系统内存压力而被终止的风险。

•如何修复:应用程序应在其 IDXGIDevice3 接口上调用 Trim API,只要它即将暂停。

【问题讨论】:

  • 我没有改变导航调用的对象 protected async override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e);
  • 我确实在这样的场景之一中导航 NavigationService.Navigate("DashBoard", SongClient.UILogic.Constants.ConnectedMode);
  • ConnectedMode 的类型是字符串
  • 我无法找出导致此错误的任何原因。由于错误消息以“会话状态”的形式出现,我假设它与暂停管理器有关。但这只是现在的假设。
  • 这绝对是个问题。尝试在调试器中触发生命周期事件,或许可以观察到发生了什么。

标签: prism uwp


【解决方案1】:

我已经使用 Prism 沙盒应用构建了一个复制品,创建了一个新类型作为模型,让它在暂停时序列化,并通过在调试位置工具栏中点击 Suspend and shutdown 作为应用程序生命周期事件来观察它崩溃。

namespace HelloWorld.Models
{
    public class MyModel
    {
        public MyModel() {}

        public MyModel(string someText)
        {
            SomeText = someText;
        }

        public string SomeText { get; set; }
    }
}

在视图模型中:

[RestorableState]
public MyModel MyModel
{
    get { return _myModel; }
    set { SetProperty(ref _myModel, value); }
}

经过一番研究,我设法通过在运行时指令 (Default.rd.xml) 文件中添加以下行来解决崩溃问题:

<!-- Add your application specific runtime directives here. -->
<Namespace Name="HelloWorld.Models" Serialize="Required PublicAndInternal">
  <Type Name="MyModel" Browse="Required Public" DataContractSerializer="Required Public"/>
</Namespace>

DataContractSerializer

可选属性。控制使用 System.Runtime.Serialization.DataContractSerializer 类的序列化策略。

来源:MSDN

【讨论】:

  • 感谢巴特的更新。很抱歉没有在这个线程上更新,我在 10 天前做了同样的修复。
  • 好吧,至少那是一个确认的修复:) 很抱歉没有早点看它。
  • @Bart 这个问题还没有解决。我也有同样的问题。
  • @Bart 如果您的模型是从 Prism.Mvvm.BindableBase 派生的,您仍然会看到问题..BindableBase 没有 [DataContract] 属性。
猜你喜欢
  • 2010-09-24
  • 2015-07-29
  • 1970-01-01
  • 2018-07-25
  • 2016-06-17
  • 1970-01-01
  • 1970-01-01
  • 2010-10-27
  • 1970-01-01
相关资源
最近更新 更多