一切福田,不離方寸,從心而覓,感無不通。

Category Archives: Asp.net

解决.Net 4.0 A potentially dangerous Request.Form value was detected from the client 异常

本文From hongshengpeng 解决ASP.NET 4.0 "A potentially dangerous Request.Form value was detected from the client". 错误在.net中,Request时出现有HTML或Javascript等字符串时,系统会认为是危险性值。立马报错。(在.aspx文件头中加入这句: <%@ Page validateRequest="false" %>,但还是出现相同错误) 或是修改web.config文件: <configuration> < system.web> <pages validateRequest="false" /> < /system.web> < /configuration> 但错误依旧。对.NET 4.0, 应该加上requestValidationMode="2.0" to the httpRuntime configuration section of the web.config :<httpRuntime requestValidationMode="2.0"/>(这句重要) 结构:<configuration> <system.web> <httpRuntime requestValidationMode="2.0">

龙生   05 Jul 2012
View Details

.NET Framework 4.0的新特性

 本文将揭示.NET 4.0中的3个新特性:图表控件、SEO支持以及ASP.NET 4可扩展的输出缓存。 图表控件 微软向开发者提供了大量可免费下载的图表控件,可以在.NET 3.5 ASP.NET或WinForms项目中使用这些控件。要想在Visual Studio 2008中使用这些控件则需要安装一个插件,该插件提供了VS工具箱及智能集成功能。现在这些控件已经集成到了.NET 4.0中,这样就无需再去下载额外的插件了。Samples Environment for MS Chart Controls提供了这些控件的使用示例。下图是示例的运行截图:   ASP.NET 4.0 SEO 微软发布了一个SEO Toolkit并集成到了IIS 7中,同时可以在IIS Manager中运行。除了可以创建站点地图和地图索引外,该工具集还能够从SEO的视角分析站点情况,在出现SEO规则违例时生成报告:创建错误描述并给出进一步的改进提示。这些规则有:重复的文件、重复的标题、没有内容、过多的内容等等。该工具集会从性能视角分析站点,识别出运行缓慢或是会访问很多资源的页面。我们还可以通过增加自定义规则来扩展该工具集。 虽然该SEO Toolkit需要运行在IIS Manager上,但并不需要在服务器上安装别的东西。此外,它还可以对所有操作系统上的所有Web服务器进行分析。Scott Guthrie总结了可以进一步提升SEO的ASP.NET 4.0中的新特性,如下: ◆Page.MetaKeywords与Page.MetaDescription; ◆ASP.NET Web Forms的URL Routing支持; ◆Response.RedirectPermanent()。 我们可以通过Page类的MetaKeywords和MetaDescription属性以编程的方式设定站点的关键词和描述。Guthrie阐述了这么做的意义所在: ASP.NET 4.0的<head>服务器端控件会在输出页面的<head>部分时使用到他们,这对于使用了母板页的站点非常有用——<head>部分位于.master文件中,这就与包含了具体页面内容的.aspx文件独立开来,现在可以在.aspx页面中设定新的MetaKeywords和MetaDescription属性并通过母板页中的<head>控件自动生成其值。URL Routing会将外部URL转换为内部的。通过这种方式,站点可以公开SEO友好的URL,但却可以在内部使用不同的链接。这对于遗留站点来说非常有用。 我们应该使用Response.RedirectPermanent()方法而非Response.Redirect(),因为后者会生成一个临时的重定向,这导致搜索引擎在多个重定向之间跳跃,降低了页面的等级。Guthrie解释了RedirectPermanent()的工作方式: ASP.NET 4.0引入了一个全新的Response.RedirectPermanent(string url)辅助方法,可以通过HTTP 301(moved permanently)响应进行重定向。这样,搜索引擎和其他能够识别出永久重定向的user agents就会存储并使用与内容关联的新URL。这么做会为页面内容加上索引,同时提升搜索引擎对页面的PR(Page Ranking)值。   ASP.NET 4.0输出缓存 自从1.0开始,ASP.NET就拥有了一个输出缓存来存储页面和资源以提供更快的响应速度,但存储位置只能在内存中。ASP.NET 4.0提供了一个扩展点,可以在本地/远程磁盘、数据库、分布式缓存引擎(如velocity、memcached)甚至是云中增加多个缓存。 转自:51cto.com   原文标题:三方面诠释.NET 4.0的新特性

龙生   16 May 2012
View Details

.net windows服务程序编写总结

1、在.net中,windows服务的实现类必需继承于System.ServiceProcess.ServiceBase public partial class myService : ServiceBase {   } 2、在windows服务的实现类的构造函数中进行必要的初始化工作,如设置系统标识服务的简短名称等。 public partial class myService : ServiceBase { public SqlBackupService() { ServiceName = "Myservice"; AutoLog = false; CanStop = true; } } 3、重写OnStar和OnStop函数,在OnStar里实现具体功能,OnStop中释放OnStat中创建的资源。 public partial class myService : ServiceBase { private int tickcount = 0; private System.Timers.Timer t = null;   public SqlBackupService() { ServiceName = "Myservice"; AutoLog = false; CanStop = true; }   protected override void OnStart(string[] args) { Console.WriteLine("Myservice start …"); //建立定时器 t = new System.Timers.Timer(10000); t.AutoReset = true; //每隔10000毫秒触发一次 t.Elapsed += new System.Timers.ElapsedEventHandler(myWork); t.Start(); […]

龙生   13 May 2012
View Details

DbType,OleDbType,SqlDbType区别

  _ _ DbType 说明 OleDbType 说明 SqlDbType 说明 Boolean 简单类型,表示 true 或 false 的布尔值。 Boolean 布尔值 (DBTYPE_BOOL)。它映射到 Boolean。 Bit Boolean。无符号数值,可以是 0、1 或 nullNothingnullptrnull 引用(在 Visual Basic 中为 Nothing)。             SByte 整型,表示值介于 -128 到 127 之间的有符号 8 位整数。 TinyInt 8 位带符号的整数 (DBTYPE_I1)。它映射到 SByte。     Byte 一个 8 位无符号整数,范围在 0 到 255 之间。 UnsignedTinyInt 8 位无符号整数 (DBTYPE_UI1)。它映射到 Byte。 TinyInt Byte。8 位的无符号整数。 Int16 整型,表示值介于 -32768 到 32767 之间的有符号 16 位整数。 SmallInt 16 位带符号的整数 (DBTYPE_I2)。它映射到 Int16。 SmallInt Int16。16 位的有符号整数。 Int32 整型,表示值介于 -2147483648 到 2147483647 之间的有符号 […]

龙生   12 May 2012
View Details

网页信息采集 核心代码收集

 

FROM http://blog.sina.com.cn/s/blog_758087190100rfri.html

龙生   03 May 2012
View Details

.net连接MYSQL字符串

<add key="MySqlString" value="server=localhost;port=3306;user id=userid;password=123456;database=dbname;CharSet=utf8;Allow Zero Datetime=true"/>

龙生   22 Apr 2012
View Details

ScriptManager.RegisterStartupScript失效的解决方案

今天在项目中一个页面使用 System.Web.UI.ScriptManager.RegisterStartupScript(this, GetType(), "js", "alert('OK');", true);的时候发现没用,检查发现脚本没用注册到页面, check页面发现了问题,<form method="post"> 没用ruanat,更详细的信息请参看MSDN关于这个方法参数的介绍

龙生   11 Apr 2012
View Details

VS2010安装项目的系统必备中添加.NET 2.0

  VS2010安装项目的系统必备中没有.NET 2.0,不过我们可以从VS2008的程序文件中找到 .NET 2.0 的系统必备安装包。     安装了VS2008 的 C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages 下的 DotNetFX 文件夹,就是 .NET 2.0 的系统必备安装包。把 DotNetFX 文件夹复制到安装了 VS2010 的 C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages下,然后在VS2010中就可以选择 .NET 2.0 的系统必备了。   原文:http://www.cnblogs.com/anjou/archive/2011/05/08/2040675.html

龙生   31 Mar 2012
View Details

asp.net的checkboxlist绑定数据

1.把数据绑定到CheckBoxList中 protected void Page_Load(object sender, EventArgs e){if (!Page.IsPostBack){SqlConnection con = GetDBCon.GetCon();con.Open();SqlDataAdapter sda = new SqlDataAdapter("select * from admin", con);DataSet ds = new DataSet();sda.Fill(ds,"admin");this.CheckBoxList1.DataSource = ds.Tables[0];this.CheckBoxList1.DataTextField = "username";//绑定的字段名this.CheckBoxList1.DataValueField = "userid";//绑定的值this.CheckBoxList1.DataBind(); }} 2.循环读取出来 protected void CheckBoxList1_SelectedIndexChanged(object sender, EventArgs e){this.Lab2.Text = "";for (int i = 0; i < CheckBoxList1.Items.Count; i++){if (this.CheckBoxList1.Items[i].Selected){this.Lab2.Text = this.Lab2.Text+CheckBoxList1.Items[i].Text+".";}}} #region 设置或者得到CheckBoxList选中了的值 /**//// <summary> /// 初始化CheckBoxList中哪些是选中了的 /// </summary> /// <param name="checkList">CheckBoxList</param> /// <param name="selval">选中了的值串例如:"0,1,1,2,1"</param> /// <param name="separator">值串中使用的分割符例如"0,1,1,2,1"中的逗号</param> public static string SetChecked(CheckBoxList checkList,string selval,string separator) …{ selval = separator + selval + separator; //例如:"0,1,1,2,1"->",0,1,1,2,1," for(int i=0; i<checkList.Items.Count; i++) …{ […]

龙生   21 Nov 2011
View Details

关于session超时问题

接管负责了公司的一个项目网站后台管理,客服部要求会话间隔时间能长点,于是在web.config里改了outtime设置,设成了8个小时,一个工作日的时间,可是修改后居然不起作用,依旧是20分钟不操作就得重登录。于是把服务器上的IIS超时设置也改了,会话超时设置成480分钟,但是问题仍然存在(关于outtime的设置,一般web.config的优先级别高于machine.config高于IIS设置。)。仔细查看了代码,是用session保存信息而不是cookie,代码中没有有关超时的设置了。搞了半天问题才解决。 session本来是个不稳定的东西,经常会被丢失,本来用cookie不错,但又不想对程序做改动。查了查资料,找到了下面一段: 由于Asp.net程序是默认配置,所以Web.Config文件中关于Session的设定如下: <sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data   source=127.0.0.1;Trusted_Connection=yes" cookieless="true" timeout="20"/> 我们会发现sessionState标签中有个属性mode,它可以有3种取值:InProc、StateServer、SQLServer(大小写敏感)。默认情况下是InProc,也就是将Session保存在进程内(IIS5是aspnet_wp.exe,而IIS6是W3wp.exe),这个进程不稳定,在某些事件发生时,进程会重起,所以造成了存储在该进程内的Session丢失。 哪些情况下该进程会重起呢?微软的一篇文章告诉了我们: 1、配置文件中processModel标签的memoryLimit属性 2、Global.asax或者Web.config文件被更改 3、Bin文件夹中的Web程序(DLL)被修改 4、杀毒软件扫描了一些.config文件。 更多的信息请参考PRB:   Session   variables   are   lost   intermittently   in   ASP.NET   applications 解决办法: 前面说到的sessionState标签中mode属性可以有三个取值,除了InProc之外,还可以为StateServer、SQLServer。这两种存Session的方法都是进程外的,所以当aspnet_wp.exe重起的时候,不会影响到Session。 现在请将mode设定为StateServer。StateServer是本机的一个服务,可以在系统服务里看到服务名为ASP.NET   State   Service的服务,默认情况是不启动的。当我们设定mode为StateServer之后,请手工将该服务启动。 这样,我们就能利用本机的StateService来存储Session了,除非电脑重启或者StateService崩掉,否则Session是不会丢的(因Session超时被丢弃是正常的)。 除此之外,我们还可以将Session通过其他电脑的StateService来保存。具体的修改是这样的。同样还在sessionState标签中,有个stateConnectionString= "tcpip=127.0.0.1:42424 "属性,其中有个ip地址,默认为本机(127.0.0.1),你可以将其改成你所知的运行了StateService服务的电脑IP,这样就可以实现位于不同电脑上的Asp.net程序互通Session了。 如果你有更高的要求,需要在服务期重启时Session也不丢失,可以考虑将mode设定成SQLServer,同样需要修改sqlConnectionString属性。 在使用StateServer或者SQLServer存储Session时,所有需要保存到Session的对象除了基本数据类型(默认的数据类型,如int、string等)外,都必须序列化。只需将[Serializable]标签放到要序列化的类前就可以了。 如: [Serializable] public   class   MyClass { …… } stateConnectionString和sqlConnectionString是当设置mode的方式是stateServer和sqlServer的时候,必须的选项;但是当mode配置为InProc时,并不是必须的。 转自:http://fus53.blog.163.com/blog/static/735886152008476627520/   以下由【龙生时代】补充:

龙生   07 Nov 2011
View Details