Web.config jsonSerialization maxJsonLength ignored
Web.config jsonSerialization maxJsonLength ignored
我有一个在.NET 4.0下运行的MVC3应用程序,当我使用JavaScriptSerializer.Deserialize时,我遇到了一个错误。
在使用JSON JavaScriptSerializer进行序列化或反序列化时发生错误。字符串的长度超过了maxJsonLength属性设置的值。
在阅读了Can I set an unlimited length for maxJsonLength in web.config之后,我在我的web.config中放置了jsonSerialization maxJsonLength键,但它被忽略了。尽管我可以在代码中设置JavaScriptSerializer.MaxJsonLength属性,并且它可以正常工作。
我想把值放在Web.config中而不是代码中。这是我使用JavaScriptSerializer的方式。
Dim client As New WebClient ... Dim result = _client.DownloadString("Test") Dim serializer = New JavaScriptSerializer Return serializer.Deserialize(Of Foo)(result)
这是我的Web.config
... ... ....
根据提供的链接(第二个得票最多的答案),你的web.config设置将被忽略,因为你正在使用一个内部实例的JavaScriptSerializer。
如果你需要将值存储在web.config中,你可以在
var serializer = new JavaScriptSerializer();
serializer.MaxJsonLength = ConfigurationManager.AppSettings['maxJsonLength'];
你应该加粗显示internal instance。这是我误读的地方!
已完成。我刚意识到我给了你一个C#的例子,直到现在才看到你的vb.net标签 🙂