1

Json 文件中有大约 5000 个条目。我使用方法JavaScriptSerializer.Deserialize<T>(字符串),但出现以下错误:

at System.Web.Script.Serialization.JavaScriptObjectDeserializer.ThrowIfMaxJsonDeserializerMembersExceeded(Int32 count)
   at System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeDictionary(Int32 depth)
   at System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeInternal(Int32 depth)
   at System.Web.Script.Serialization.JavaScriptObjectDeserializer.BasicDeserialize(String input, Int32 depthLimit, JavaScriptSerializer serializer)
   at System.Web.Script.Serialization.JavaScriptSerializer.Deserialize(JavaScriptSerializer serializer, String input, Type type, Int32 depthLimit)
   at System.Web.Script.Serialization.JavaScriptSerializer.Deserialize[T](String input)
   at xxx.Internet.Core.Services.xxxService.DeserializeAtms(String xxxJson, List`1& xxxList)
   at xxx.Internet.Jobs.xxxFetcherJob.xxxFetcherJob.Execute(Guid contentDbId)

我试着在 web.config 中写:

<appSettings>
   <add key="aspnet:MaxJsonDeserializerMembers" value="150000" />
</appSettings>

但它没有帮助......

4

1 回答 1

0

SharePoint 计时器作业在 OWSTIMER.exe 进程下运行。这个进程有一个与之关联的配置文件。我们可以使用此配置文件来指定要在自定义计时器作业中使用的配置设置。

打开 OWSTIMER.EXE.CONFIG 并将标签添加到其中。然后在此 appSettings 标记下添加您的键值对。

为此,您必须添加对 System.Configuration 的引用,然后您可以使用 System.Configuration.ConfigurationManager.AppSettings[key] 从配置文件中检索键的值。

示例:字符串部门 = System.Configuration.ConfigurationManager.AppSettings["Department"];

原来的:

http://doitwithsharepoint.blogspot.ru/2011/03/config-file-for-sharepoint-custom-timer.html?showComment=1358842033678#c8928587895049662169

于 2013-01-22T09:37:00.343 回答