ASP.NET JavaScriptSerializer是否需要HttpResponse?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了ASP.NET JavaScriptSerializer是否需要HttpResponse?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1861字,纯文字阅读大概需要3分钟。
内容图文
![ASP.NET JavaScriptSerializer是否需要HttpResponse?](/upload/InfoBanner/zyjiaocheng/672/81e24702cb4141b0a53088ed0167e806.jpg)
似乎System.Web.Script.Serialization.JavascriptSerializer类尝试获取当前请求的HttpResponse,大概是应用适当的字符编码.
但是,这意味着当您使用范围内没有HttpContext的类时,它会爆炸并带有以下异常堆栈跟踪:
[HttpException (0x80004005): Response is not available in this context.]
System.Web.HttpContext.get_Response() +8753496
System.Web.Util.HttpEncoder.get_Current() +39
System.Web.HttpUtility.JavaScriptStringEncode(String value, Boolean addDoubleQuotes) +13
System.Web.Script.Serialization.JavaScriptSerializer.SerializeString(String input, StringBuilder sb) +31
System.Web.Script.Serialization.JavaScriptSerializer.SerializeCustomObject(Object o, StringBuilder sb, Int32 depth, Hashtable objectsInUse, SerializationFormat serializationFormat) +240
System.Web.Script.Serialization.JavaScriptSerializer.SerializeValueInternal(Object o, StringBuilder sb, Int32 depth, Hashtable objectsInUse, SerializationFormat serializationFormat) +1355
System.Web.Script.Serialization.JavaScriptSerializer.SerializeValue(Object o, StringBuilder sb, Int32 depth, Hashtable objectsInUse, SerializationFormat serializationFormat) +194
System.Web.Script.Serialization.JavaScriptSerializer.Serialize(Object obj, StringBuilder output, SerializationFormat serializationFormat) +26
System.Web.Script.Serialization.JavaScriptSerializer.Serialize(Object obj, SerializationFormat serializationFormat) +74
System.Web.Script.Serialization.JavaScriptSerializer.Serialize(Object obj) +6
我不能以保证存在有效HttpContext的方式对代码进行重做.关于如何避免这种情况的任何想法?可以为String类型的自定义JavascriptConverter做一个健壮的解决方案吗?
谢谢
帕斯卡
解决方法:
AFAIK JavaScriptSerializer不需要任何HttpContext,并且可以在控制台应用程序中正常运行:
class Program
{
static void Main(string[] args)
{
string json = new JavaScriptSerializer().Serialize(new { Bar = "foo" });
Console.WriteLine(json);
}
}
您也可以尝试Json.NET.
内容总结
以上是互联网集市为您收集整理的ASP.NET JavaScriptSerializer是否需要HttpResponse?全部内容,希望文章能够帮你解决ASP.NET JavaScriptSerializer是否需要HttpResponse?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。