使用Template10 1.18,当在VisualStudio中暂停App时(使用生命周期事件),我看到"状态管理器设置值的大小超过了限制"。如下面的堆栈跟踪所示,直接涉及Template10.Services.SettingsService.SettingsService.Write。我知道一个答案是不使用Setting服务,并在挂起时对数据进行文件写入,但是Template10正在处理这个问题,所以最好放手。 如果我必须关闭Template10设置服务,怎么样?或者我可以覆盖该方法并避免使用LocalSettings吗?
NMA-Client.McgInterop.dll!System.Runtime.InteropServices.WindowsRuntime.IMapSharedReferenceTypesStubClass.Insert(System.Collections.Generic.IDictionary _this,string key,object value)Line 2176 C#NMA-Client.McgInterop.dll!Windows.Storage.ApplicationDataCompositeValue.System.Collections.Generic.IDictionary.set_Item(string index,object value)第9704行C# Template10Library.dll!Template10.Services.SettingsService.SettingsService.Write(串 键,字符串值)未知 Template10Library.dll!Template10.Services.NavigationService.NavigationService.SaveNavigationAsync()未知 Template10Library.dll!Template10.Services.NavigationService.NavigationService.SaveNavigationAsync()未知 Template10Library.dll!Template10.Services.NavigationService.NavigationService.SuspendingAsync()未知 Template10Library.dll!Template10.Services.NavigationService.NavigationService.SuspendingAsync()未知 Template10Library.dll!Template10.Common.BootStrapper.HandleSuspending()未知 Template10Library.dll!Template10.Common.BootStrapper.HandleSuspending.AnonymousMethod__2()未知 Template10Library.dll!Template10.Common.DispatcherWrapper.DispatchAsync()未知 Template10Library.dll!Template10.Common.DispatcherWrapper.DispatchAsync(System.Func func,int delayms,Windows.UI.Core.CoreDispatcherPriority 优先级)未知 Template10Library.dll!Template10.Common.BootStrapper.HandleSuspending()未知 Template10Library.dll!Template10.Common.BootStrapper.HandleSuspending(对象 sender,Windows.ApplicationModel.SuspendingEventArgs e)未知 System.Private.SharedLibrary.Interop.Generated.dll!Windows.Foundation.AsyncOperationProgressHandler.Invoke(Windows.Foundation.IAsyncOperationWithProgress asyncInfo,uint progressInfo)C# NMA-Client.McgInterop.dll!McgInterop.ReverseComSharedStubs.Proc_object__TArg0 __(对象 __this,System.Runtime.InteropServices .__ vtable_IInspectable * unsafe_sender,void * unsafe_e,System.IntPtr __methodPtr)Line 9745 C# NMA-Client.McgInterop.dll!Windows.UI.Xaml.SuspendingEventHandler__Impl.Vtbl.Invoke__STUB(System.IntPtr pComThis,System.Runtime.InteropServices .__ vtable_IInspectable * unsafe_sender, Windows.ApplicationModel.ISuspendingEventArgs__Impl.Vtbl ** unsafe_e) 第94537行C#
答案 0 :(得分:2)
模板10 SettingService
是SettingHelper
的通用包装,面向90%的开发人员。您的应用似乎需要一个特殊的实现。您可以将现有的SettingsService复制到项目中以解决问题。我意识到SettingService不适用于10%的应用程序。你是幸运的10%之一。但是你的自定义包装器应该解决这个问题。