asp.net – HttpUtility.UrlEncode和Application_Start
发布时间:2020-12-16 07:03:36 所属栏目:asp.Net 来源:网络整理
导读:根据 http://ayende.com/blog/4599/hunt-the-bug,我遇到了其中一种情况,即“在这种情况下无法提供响应”. 非常简化,以下内容在Windows Server 2008 / IIS7 / ASP.NET 4.0的某些情况下引发异常 public class Global : HttpApplication{ public void Applicati
根据
http://ayende.com/blog/4599/hunt-the-bug,我遇到了其中一种情况,即“在这种情况下无法提供响应”.
非常简化,以下内容在Windows Server 2008 / IIS7 / ASP.NET 4.0的某些情况下引发异常 public class Global : HttpApplication { public void Application_Start(object sender,EventArgs e) { HttpUtility.UrlEncode("Error inside!"); } } 我见过的解决方案涉及以下其中一项: >按照Ayende所做的那样,并“编写我自己的HttpUtility(好吧,从Mono拿一个并修改它)以避免这个错误.” 也许这不是我最好的谷歌搜索日,但如何实现HttpEncoder.Default? 建议? 解决方法
你可以尝试这个编码
public static string UrlEncode(string s) { return typeof(System.Net.WebClient).InvokeMember("UrlEncode",BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.InvokeMethod,null,new[] { "[#encoded] <data>" }) as string; } // by @DmitryDzygin public static string UrlDecode(string s) { return typeof(System.Net.WebClient).Assembly.GetType("System.Net.HttpListenerRequest+Helpers").InvokeMember("UrlDecodeStringFromStringInternal",new object[] { s,Encoding.UTF8 }) as string; } 如果您感觉不舒服,或者您的应用程序未以完全信任级别运行,请尝试此操作 public class HttpUtils : System.Web.Util.HttpEncoder { private static HttpUtils _encoder; internal static HttpUtils Encoder { get { return _encoder ?? (_encoder = new HttpUtils()); } } internal string InternalUrlEncode(string s) { var bytes = System.Text.Encoding.UTF8.GetBytes(s); var encodedBytes = base.UrlEncode(bytes,bytes.Length); return System.Text.Encoding.UTF8.GetString(encodedBytes); } public static string UrlEncode(string s) { return Encoder.InternalUrlEncode(s); } } 我知道它不是最好的方法,但如果我们不使用HttpUtility.UrlEncode,最好的方法是什么! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – NullReferenceException ASP.NET MVC文本框
- asp.net – 许多用户的许多表?
- asp.net – 不包括’00000’的5位数字的正则表达式
- asp.net – Orchard – 从主题布局中获取内容的标题
- asp.net-mvc-2 – 如何在ASP.NET MVC2中枚举formcollection
- ASP.NET页面级缓存(带有经过身份验证的站点)
- asp.net-core – 如何将值更新到appsetting.json?
- 如何使用ASP.NET&C#从服务器端确定浏览器类型?
- asp.net-mvc-3 – 如何传递Request.QueryString到Url.Actio
- T-SQL Enhancement in SQL Server 2005[上篇]
推荐文章
站长推荐
- ASP.NET开发人员试图学习Drupal和PHP
- ASP.NET MVC或ASP.NET MVC2 RC2 – > RTM
- 在asp.net c中添加Master页面后,MySql主机出错
- mvc项目架构分享系列之架构搭建之Repository和Se
- asp.net-mvc – Microsoft MVC 4,APIController和
- asp.net-mvc – DDay iCal – 添加一个与会者
- ASP.NET – 脚本和css压缩
- asp.net – 如何通过门户中的注销按钮从所有打开
- asp.net-mvc – Razor MVC4 Url.Action无效
- .net – 实体单位工作和存储库模式的好处
热点阅读