标签归档:asp.net

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

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

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

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

继续阅读


1 星2 星3 星4 星5 星 (3 人评价, 平均分: 5.00 / 5)
Loading...

采用jexus+mono实现asp.net跨平台使用

今天看了张博关于jexus的文章,觉得很不错,转载一下http://www.cnblogs.com/yilin/p/apollo_blog_crossplatform.html

跨平台部署

一、安装系统

最小化安装CentOS系统。作为实验环境,可以考虑选用具有快照功能的虚拟机,作者选用的VMWare虚拟机进行试验。系统安装在此不再赘述。系统安装好后,做一个快照留待后续验证产品化安装包正确性所用。

如果你对跨平台部署ASP.NET应用的实现过程没有兴趣,只想看结果的话,可以直接跳过后续步骤,直接进入产品化章节的通过安装包部署ASP.NET应用部分。

继续阅读


1 星2 星3 星4 星5 星 (1 人评价, 平均分: 5.00 / 5)
Loading...

使用 Reflexil反编译.NET

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

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

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

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

继续阅读


1 星2 星3 星4 星5 星 (3 人评价, 平均分: 5.00 / 5)
Loading...

如何做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,并选择“资源的永久重定向”

继续阅读


1 星2 星3 星4 星5 星 (4 人评价, 平均分: 5.00 / 5)
Loading...

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 后不要加双引号哟
继续阅读


1 星2 星3 星4 星5 星 (1 人评价, 平均分: 5.00 / 5)
Loading...

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的开源包非常多,在各种场合使用非常广泛,尤其长于网络传输。 继续阅读


1 星2 星3 星4 星5 星 (1 人评价, 平均分: 5.00 / 5)
Loading...

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;);

继续阅读


1 星2 星3 星4 星5 星 (还没评价)
Loading...

asp.net下载文件几种方式

以下是实现代码:

<pre>protected void Button1_Click(object sender, EventArgs e)
{
  /*
    微软为Response对象提供了一个新的方法TransmitFile来解决使用Response.BinaryWrite
   下载超过400mb的文件时导致Aspnet_wp.exe进程回收而无法成功下载的问题。
   代码如下:
  */
   Response.ContentType = "application/x-zip-compressed";
   Response.AddHeader("Content-Disposition", "attachment;filename=z.zip");
   string filename = Server.MapPath("DownLoad/aaa.zip");
   Response.TransmitFile(filename);
}

//WriteFile实现下载
protected void Button2_Click(object sender, EventArgs e)
{
  /*
   using System.IO;
  */

  string fileName ="aaa.zip";//客户端保存的文件名
  string filePath=Server.MapPath("DownLoad/aaa.zip");//路径

  FileInfo fileInfo = new FileInfo(filePath);
  Response.Clear();
  Response.ClearContent();
  Response.ClearHeaders();
  Response.AddHeader("Content-Disposition", "attachment;filename=" + fileName);
  Response.AddHeader("Content-Length", fileInfo.Length.ToString());
  Response.AddHeader("Content-Transfer-Encoding", "binary");
  Response.ContentType = "application/octet-stream";
  Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
  Response.WriteFile(fileInfo.FullName);
  Response.Flush();
  Response.End();
}</pre>

继续阅读


1 星2 星3 星4 星5 星 (1 人评价, 平均分: 5.00 / 5)
Loading...

ASP.NET页面优化–压缩页面

ASP.NET页面载入速度提高的一些做法:
1.采用 HTTP Module 控制页面的生命周期。
2.自定义Response.Filter得到输出流stream生成动态页面的静态内容(磁盘缓存)。
3.页面GZIP压缩。
4.OutputCache 编程方式输出页面缓存。
5.删除页面空白字符串。(类似Google)
6.完全删除ViewState。
7.删除服务器控件生成的垃圾NamingContainer。
8.使用计划任务按时生成页面。(本文不包含该做法的实现)
9.JS,CSS压缩、合并、缓存,图片缓存。(限于文章篇幅,本文不包含该做法的实现)
10.缓存破坏。(不包含第9做法的实现)
针对上述做法,我们首先需要一个 HTTP 模块,它是整个页面流程的入口和核心。
一、自定义Response.Filter得到输出流stream生成动态页面的静态内容(磁盘缓存)
如下的代码我们可以看出,我们以 request.RawUrl 为缓存基础,因为它可以包含任意的QueryString变量,然后我们用MD5加密RawUrl 得到服务器本地文件名的变量,再实例化一个FileInfo操作该文件,如果文件最后一次生成时间小于7天,我们就使用.Net2.0新增的TransmitFile方法将存储文件的静态内容发送到浏览器。如果文件不存在,我们就操作 response.Filter 得到的 Stream 传递给 CommonFilter 类,并利用FileStream写入动态页面的内容到静态文件中。

继续阅读


1 星2 星3 星4 星5 星 (1 人评价, 平均分: 5.00 / 5)
Loading...