会话状态服务失败 - UWP
Session state service failed - UWP
我正在开发 UWP 应用程序,使用 Prism 6.0
我的应用程序在调试和发布模式下都工作得很好,但是当我在应用程序包上使用 运行 Windows 应用程序认证工具包时,我不断收到此应用程序错误 - "Session state service failed"。我在安装应用程序包和 运行 应用程序时从未见过此异常。但是每次当 WACK 是 运行 包时,我都会得到这个异常。
正因为如此,
我在 Windows 应用程序认证工具包 - 测试结果中遇到错误。
错误是:
失败
崩溃并挂起
•发现错误:崩溃和挂起测试检测到以下错误:◦可执行文件 C:\Program Files\WindowsApps486username.SongApp_1.1.0.0_x86__5q2wmk4fv784y\SongApp.exe 被 [检测到=46=] 错误报告并遇到崩溃或挂起。
◦应用程序 10486username.SongApp_1.1.0.0_x86__5q2wmk4fv784y 被 Windows 错误报告检测到并遇到崩溃或挂起。
•影响(如果不修复):停止响应或崩溃的应用程序可能会导致数据丢失并且用户体验不佳。
•如何解决:调查和调试应用程序以识别和解决问题。
失败
Direct3D trim 暂停后
•发现错误:挂起测试后的 Direct3D Trim 检测到以下错误:测试结束时应用程序不是 运行。它可能崩溃或因变得无响应而被终止。
•如果不修复影响:如果应用程序不在其 Direct3D 设备上调用 Trim,应用程序将不会释放分配给其早期 3D 作品的内存。这会增加应用程序因系统内存压力而被终止的风险。
•如何解决:应用程序应在其即将暂停的任何时候在其 IDXGIDevice3 接口上调用 Trim API。
我已经使用 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
Optional attribute. Controls policy for serialization that uses the System.Runtime.Serialization.DataContractSerializer class.
来源:MSDN
我正在开发 UWP 应用程序,使用 Prism 6.0 我的应用程序在调试和发布模式下都工作得很好,但是当我在应用程序包上使用 运行 Windows 应用程序认证工具包时,我不断收到此应用程序错误 - "Session state service failed"。我在安装应用程序包和 运行 应用程序时从未见过此异常。但是每次当 WACK 是 运行 包时,我都会得到这个异常。
正因为如此,
我在 Windows 应用程序认证工具包 - 测试结果中遇到错误。
错误是: 失败 崩溃并挂起
•发现错误:崩溃和挂起测试检测到以下错误:◦可执行文件 C:\Program Files\WindowsApps486username.SongApp_1.1.0.0_x86__5q2wmk4fv784y\SongApp.exe 被 [检测到=46=] 错误报告并遇到崩溃或挂起。 ◦应用程序 10486username.SongApp_1.1.0.0_x86__5q2wmk4fv784y 被 Windows 错误报告检测到并遇到崩溃或挂起。
•影响(如果不修复):停止响应或崩溃的应用程序可能会导致数据丢失并且用户体验不佳。
•如何解决:调查和调试应用程序以识别和解决问题。
失败 Direct3D trim 暂停后
•发现错误:挂起测试后的 Direct3D Trim 检测到以下错误:测试结束时应用程序不是 运行。它可能崩溃或因变得无响应而被终止。
•如果不修复影响:如果应用程序不在其 Direct3D 设备上调用 Trim,应用程序将不会释放分配给其早期 3D 作品的内存。这会增加应用程序因系统内存压力而被终止的风险。
•如何解决:应用程序应在其即将暂停的任何时候在其 IDXGIDevice3 接口上调用 Trim API。
我已经使用 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
Optional attribute. Controls policy for serialization that uses the System.Runtime.Serialization.DataContractSerializer class.
来源:MSDN