会话状态服务失败 - UWP

时间:2015-12-03 09:55:06

标签: prism uwp

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

因此,

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

错误是: 的 FAILED 崩溃并挂起

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

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

•如何修复:调查并调试应用以识别并解决问题。

失败 暂停后 Direct3D修剪

•发现错误:挂起测试后的Direct3D修剪检测到以下错误:◦应用程序应用程序未在测试结束时运行。它可能因为没有反应而崩溃或被终止。

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

•如何解决:应用程序应在其IDXGIDevice3接口上随时调用Trim API。

1 个答案:

答案 0 :(得分:2)

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

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

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

        public string SomeText { get; set; }
    }
}

在viewmodel中:

[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