分类目录归档:asp.net

ASP.NET 性能监控工具和优化技巧

为了阐明准确甄别性能问题的重要性,下面列举了一些导致Web应用响应慢的可能问题排查点:

  • JavaScript响应慢;
  • 资源加载中的产生了阻塞;
  • 用户端存在代理;
  • DNS问题;
  • ISP或网络问题;
  • 交换机和路由器;
  • 负载均衡器;
  • 应用代码(包括第三方软件库);
  • HTTP服务器(例如有时是ASP.net或IIS);
  • 第三方服务,例如:支付服务提供商、地图服务提供商等;
  • 子系统,包括:SQL Server、Redis、Elasticsearch、Rabbit MQ等。

还可以罗列出更多的性能问题排查点,这取决于需处理系统的复杂度和规模。在如此之多的系统组件都可影响性能优化问题的情况下,如何才能确诊性能问题呢?答案概括为一个词:数据。你需要来自于每个系统组件的、相关且有意义的数据。对于Web应用响应慢的问题,数据可以证明每个系统组件是对问题是有影响的还是完全无关的。

继续阅读

使用 Reflexil反编译.NET

今天看了一位博友的文章,觉得不错,转载和大家分享一下
反编译的方式有很多种,其实最靠谱的还是IL反编译

如果不懂IL可以尝试我这边文章入门:http://www.wxzzz.com/278.html

不过我下面要说的不是IL这种底层的代码反编译,而是Reflector中的Reflexil插件进行反编

也许有人会说Reflector不就是反编译了么,为什么还要用Reflexil这个插件? Reflector 仅仅是反编译出源码给你看,并不能在修改后编译回去。所以我们需要使用Reflexil这个插件进行反编译回去。

继续阅读

如何做301跳转代码全集(ASP|PHP|JSP|.NET)

       301跳转通常用在网站换域名和为了保持链接统一性所用的。比如你原来的域名www.a.com现在换成www.b.com,用了301跳转后,访问www.a.com/about.html就会自动变成www.b.com/about.html。下面摘抄一下设置301的代码吧,方便一下新手们:

301跳转代码全集(ASP|PHP|JSP|.NET)

1、IIS下301设置

Internet信息服务管理器 -> 虚拟目录 -> 重定向到URL,输入需要转向的目标URL,并选择“资源的永久重定向”

继续阅读

Asp.net中动态设置标题Title,Keyword,Descripton标签的方法

最新发现方法:在服务器代码中写如下代码 :
HtmlMeta meta = new HtmlMeta();
meta.Name = “description”; meta.Content = mydr[“s_title”].ToString() ;  this.Page.Header.Controls.Add(meta);

以前的方法  方法一:
<meta name=”keywords” content=<%= keywords %> />
<meta name=”description” content=<%=description %> />

注意content 后不要加双引号哟
继续阅读

C#使用LitJson解析JSON

         JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScriptStandard ECMA-262 3rd Edition – December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。

如果曾经使用过Json,就会清楚Json可以分为两个部分:

1.         JSON ObjectA collection of name/value pairs

2.         JSON Array An ordered list of values

解析JSON的开源包非常多,在各种场合使用非常广泛,尤其长于网络传输。 继续阅读

HTTP API 日志所记录的错误类型说明

特定错误类型由始终显示为每个错误行最后一个字段的“原因短语”字符串来指定。下表标识了 HTTP API 原因短语

 

原因短语 说明
AppOffline 发生服务不可用错误(HTTP 错误 503)。服务不可用,因为应用程序错误导致该应用程序变为脱机状态
AppPoolTimer 发生服务不可用错误(HTTP 错误 503)。服务不可用,因为应用程序池进程太忙从而无法处理请求。
AppShutdown 发生服务不可用错误(HTTP 错误 503)。服务不可用,因为应用程序因响应管理员策略而自动关闭。
BadRequest 处理请求时出现解析错误。
Client_Reset 在可以将请求分配给工作进程之前,客户端和服务器之间的连接已关闭。此行为的最常见原因是,客户端过早地关闭了它到服务器的连接。
Connection_Abandoned_By_AppPool 来自应用程序池的工作进程已经意外退出,或者通过关闭其句柄孤立了挂起请求。
继续阅读

Asp.net常用的代码

1.//弹出对话框.点击转向指定页面

Response.Write(&quot;<script>window.alert(‘该会员没有提交申请,请重新提交!’)</script>&quot;);
Response.Write(&quot;<script>window.location =’http://www.51aspx.com/bizpulic/upmeb.aspx'</script>&quot;);

2.//弹出对话框

Response.Write(&quot;<script language=’javascript’>alert(‘产品添加成功!’)</script >&quot;);

继续阅读

深入理解ASP.NET的内部运行机制

   今天发现了一会博友写关于ASP.NET的内部运行机制的,觉得写得很不错,转载分享如下:  

WebForms和WebServices作为.NET平台构建Web程序的两大利器,以其开发简单、易于部署的特点得到了广泛的应用,但殊不知微软公司在背后为我们做了大量的基础性工作,以至于我们开发人员只需简单地拖拖控件、写写一些页面级的代码就可以轻松地实现一些简单的应用程序。当然这种封装也不是没有好处的,至少从开发的角度而言它就可以极大地降低开发的难度,但是这种过度的封装使得我们开发人员当遇到有可能由底层引起的问题时就会束手无策,而且也会使得我们对知识的掌握和理解只停留在了表面而不得其内在本质。正是基于此,所以作者决定以一种探索的精神去试图解析和研究ASP.NET的内部运行机制,当然由于本人水平有限,也不可能对其各个方面理解很到位,姑且就当作本人的一家之言吧,有不对的地方还请各位同仁指正,这样大家可以共同学习提高。

一、IIS处理模型

从用户发出一个请求(一般而言就是在浏览器地址栏中键入一个URL),到这个请求到达服务器后,最先作出响应的就是IIS(本部分只关注ASP.NET部分,至于TCP/IP不在讨论范围),所以我们就先从这开始讲起。由于IIS有不同的版本,而且其处理模型也大相径庭,所以我会单独分别加以说明和解释。

继续阅读

asp.net中将GridView中的部分内容或者全部内容导出到Excel

1.以下是主要的导出为Excel格式的代码:

Response.Clear();
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
Response.AddHeader("content-disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8) + ".xls");//此处为了处理保存名避免乱码
Response.Charset = "gb2312";
Response.ContentType = "application/vnd.xls";
&nbsp;
System.IO.StringWriter stringWrite = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
&nbsp;
GrantReleaseView.AllowPaging = false;//导出前先取消分页,以便能将所有数据导出。
GrantReleaseInfoBLL.Bind(campusId, depId, year, pageSize, pageIndex, out pageCount, GrantReleaseView);//再重新绑定一次数据
GrantReleaseView.RenderControl(htmlWrite);
Response.Write(stringWrite.ToString());
Response.End();

继续阅读

Windows服务启动出现”某些服务在未由其他服务或程序使用时将自动停止”错误

今天自己用C#编写的一个Windows服务,安装成功后启动出现时,却出现”某些服务在未由其他服务或程序使用时将自动停止”的错误,查了半天都不知道那里出现了问题。后面通过“我的电脑”右键,“管理-事件查看器”里面查看日志,才发现原来是自己代码有误,导致服务报错终止。看来要学会看系统错误日志,咦!   如下图所示,就可以找到错误日志

继续阅读