网站的域名如果进行更改,一般要对原有的域名进行301跳转操作,也叫做301重定向和301转向,这样对于SEO优化是十分有利的,还可以保证更换后的新域名能被各个搜索引擎收录进去。本文介绍了如何在ASP.NET 网站或者ASP.NET MVC网站中利用配置文件设置对全站URL进行301跳转,该跳转是所有的URL:包含静态页面,纯HTML文件,各种一般处理程序,所有的图片链接。
async和await关键字是.NET 4.5新增加的异步编程方式,通过使用这两个关键字可以轻松便捷的编写异步方法。使用async关键字声明异步方法,使用await关键字等待和获取异步方法返回的结果。需要注意的是,一旦声明了await关键字,将会阻止当前线程直到异步调用返回结果。
Task类作为.NET Framework 4新增加的异步操作类,极大的方便了对多线程和异步操作的代码编写。Task类相比之前使用委托进行异步操作和使用ThreadPool线程池进行多线程,不仅极大简化了代码编写,而且添加了许多实用的方法和良好的状态管理机制,这里我们主要先小试牛刀,写一个简单的控制台应用程序来练习下。
如果项目中需要动态修改CheckBoxList控件中ListItem选项的字体颜色和背景颜色,可以使用CheckBoxList下ListItem选项的Attributes.CssStyle.Add(HtmlTextWriterStyle key, string value)方法来动态添加样式。
由于遇到了项目中实体嵌套多层子级实体集合,并且子级实体集合的数据需要提交保存到数据库中的问题。针对此情况需要进行一些特殊的处理才可以将整个实体类及子级实体集合数据提交表单到控制器中,解决的方法是根据MVC视图中表单的命名规则来设置正确的子级实体集合所属的表单控件name属性,从而来获取提交的集合数据。
项目中使用JQuery Ajax调用ashx一般处理程序的时候出现无法获取数据的问题,经排查是由于AJAX发送请求引发了ThreadAbortException异常,提示的错误信息是“正在中止线程”。
此文章作为知识点记录,主要描述如何根据分隔符(比如逗号),将List<string>泛型集合合并成一个string字符串。在最早之前,往往都是使用循环的方式来拼接成字符串,这种方式不仅要写更多的代码,而且还更加消耗系统资源。而现在一般使用string.Join(string separator, string[] value)这个方法来将集合通过分隔符合并成字符串。
项目中由于需求设计,数据库中需要一个timestamp时间戳类型的字段来作为区别数据添加和修改的标识。由于timestamp在SQL SERVER 2005数据库中,不可为空的timestamp类型在语义上等同于binary(8)类型,可为空的 timestamp类型在语义上等同于varbinary(8)类型,这将导致在C#程序中获取到的timestamp类型则变成了byte[]类型。所以如果我们需要从数据库中获取并使用这个时间戳的话就必需经过转换。
C# 解决XML反序列化出现"XML文档(0,0)中有错误 缺少根元素"的错误问题,并分析造成错误的原因。步步解析其中技术原理。
处理Visual Studio中解决方案资源管理器未显示解决方案的问题,该问题导致无法添加其他新建项目。
在网上找了许久关于伪造UrlReferrer地址资料,也许是搜索的关键词不对吧,还是内容涉及到了什么敏感的东西,愣是没找到,换成自定义UrlReferrer也找不到。经过仔细研究,原来在.NET中要自定义一个UrlReferre还蛮简单的,只要设置Referer这个属性即可。
网站的安全问题对于站长来说总是息息相关又十分注重的。我用了相关安全检测工具后,提示了我的网站有“发现目录启用了自动目录列表功能”这个问题。
这个问题是由于网站目标目录启用了自动目录列表功能,当用户访问的网址是某个目录地址的时候,服务器自动显示该目录所包含的文件列表内容。开启这个功能极为容易被网站攻击者利用,攻击者可根据此功能获取网站的结构以及文件信息,从而利用这些有效的信息更加便捷的进行攻击。