Page 1 of 2 in the .NET 技术 category Next Page
 Thursday, February 11, 2010

几种跳转方式的区别

301 Redirect: 代表永久转义

302 Redirect: 暂时转移

200 : 在服务器上完成了页面的转移, 对客户端完全透明

302 Redirect 由于是暂时转移,如果把自己的网址A转到一个网址B上, google 等抓取工具可能会把你的网址A作为网站B内容的入口点, 这样网址B 就被劫持了。

所以, 如果你网站要用302 转移, 千万要慎重, 如果被google误认为是恶意劫持, 可能就会被加入黑名单了。

asp.net 实现这些的方法

301 Redirect:

            Response.Clear();
            Response.StatusCode = 301;
            Response.Status = "301 Moved Permanently";
            Response.AddHeader("Location", "/Homepage/default.aspx");

302 Redirect:

Response.Redirect("Homepage/Default.aspx");

200 无错误代码的使用转移

Server.Transfer("/Homepage/Default.aspx");
Thursday, February 11, 2010 3:37:03 PM (中国标准时间, UTC+08:00)  #    Disclaimer  |   | 
 Tuesday, February 17, 2009

今天1月底, ASP.NET MVC 的RC1 终于出了, 好在兼容性上没有什么大问题, MVC beta4 的代码编译运行都不会报错。但是在页面输入校验上做了增强。

众所周知, 传统ASP.NET 缺省是对页面上的输入提交内容做校验的, 若提交的内容里面带有潜在危险,如: HTML 标签, javascript 代码,  就会报 A potentially dangerous Request.Form value was detected from the client

要想关闭潜在性危险的校验有两种方法:

1) 在aspx  页面上加: <%@   Page   validateRequest="false"   %> 

2) 在web.config  的<system.web>   标签内加: <pages   validateRequest="false"   />   

MVC RC1 对于输入请求也加上了安全校验, 但是MVC的处理方式和通常asp.net 的处理方式不同, 因此若要禁用该功能, 不能用上述传统asp.net 所用的两种方法。 而是需要在Controller 的Action 上加上ValidateInput 属性, 如下:

        [ValidateInput(false)]
        [AcceptVerbs(HttpVerbs.Post)]
        public ActionResult SubmitDocument([Bind(Prefix = "")]EPortal_Document mdl)
        {
         ....

        }
Tuesday, February 17, 2009 2:40:38 PM (中国标准时间, UTC+08:00)  #    Disclaimer  |   | 
 Sunday, February 08, 2009

今天在source forge上看到一个 用.NET 生成swf 的开源项目.

http://sourceforge.net/projects/swfdotnet/

作些基本的转换, 比如用图片序列生成swf之类的应该没问题. 唯一的缺憾是这个项目在2006 以后就没有再做过更新了.

Sunday, February 08, 2009 3:36:49 PM (中国标准时间, UTC+08:00)  #    Disclaimer  |   | 
 Sunday, March 30, 2008

太多的比较就不说了, 放上两张技术框架, 微软的Silverlight 2 developer Reference 和 Adobe RIA Technology platform.

点击看大图

     

Sunday, March 30, 2008 12:20:28 PM (中国标准时间, UTC+08:00)  #    Disclaimer  |   | 
 Sunday, January 20, 2008

我曾在 NVelocity 模版引擎 一文提到: NVelocity 项目最新的relase是 2003 年的. 这里更正一下: Castle Project Team 将其纳入了CastleProject 的代码库.  并保持更新和维护. 最新release 在2007年9月

见: http://www.castleproject.org/others/nvelocity/index.html

 

Sunday, January 20, 2008 6:04:34 PM (中国标准时间, UTC+08:00)  #    Disclaimer  |   | 
 Monday, January 14, 2008

今天发现一个令人沮丧的事情, Visual Studio 2008  不在支持Mobile Web Form 的设计界面, 也无法再一个web项目里面直接添加Mobile Web Form 页面, 一切只能自己写了.

这里有自定一模版: http://blogs.msdn.com/webdevtools/archive/2007/09/17/tip-trick-asp-net-mobile-development-with-visual-studio-2008.aspx

可以让你在web 项目里面添加 mobile web form 和 mobile configuration 文件, 但设计界面还是没有了. 不明白ms 在想什么.

ASP.NET Mobile Templates for VS2008.zip (51.18 KB)
Monday, January 14, 2008 10:43:48 PM (中国标准时间, UTC+08:00)  #    Disclaimer  |   | 
 Wednesday, January 09, 2008

今天用了一下 NVelocity, 感觉还不错, 虽然最后的release 版 是2003年的, 但和vs 2008 以及范型等兼容性没有问题。
Write a Simple sample:

Template:

Cool, this is a Velocity Template
let's get start:
## this is comments
#set($user="jimmy")
hello $user!!!!!
$fruits
the gameName is: $game1.GameName
#foreach ($fruit in $fruits)
!!! I Like $fruit
#end
.NET Code:
        public class Game
        {
            public string GameName{get;set;}
            public string GameType{get;set;}
            public int Year{get;set;}
        }
        private void btnRender_Click(object sender, EventArgs e)
        {
            //tbTemplate.Text;
            Velocity.Init("nvelocity.properties");
           
            VelocityContext context = new VelocityContext();
            Game game1 = new Game { GameName = "DOOM", GameType = "FST", Year = 1990 };
            context.Put("name", "Velocity");
            context.Put("project", "Jakarta");
            context.Put("game1", game1);
            List<String> strList = new List<String>();
            strList.Add("Apple");
            strList.Add("Orange");
            strList.Add("Banana");
            context.Put("fruits", strList);
            //Template template = new Template();
            StringWriter writer = new StringWriter();
            Velocity.Evaluate(context, writer, "string1", tbTemplate.Text);
            tbResult.Text = writer.ToString();
        }
Output:
Cool, this is a Velocity Template
let's get start:
hello jimmy!!!!!
System.Collections.Generic.List`1[System.String]
the gameName is: DOOM
!!! I Like Apple
!!! I Like Orange
!!! I Like Banana
若从源码编译: 几点需要注意

1) 它所用的log4net 版本比较老, 可能有兼容性问题

2) directive.properties 和 nvelocity.properties 两个文件需要设成 Embedded Resource

Links:
http://nvelocity.sourceforge.net/
http://velocity.apache.org

Wednesday, January 09, 2008 1:27:21 PM (中国标准时间, UTC+08:00)  #    Disclaimer  |   | 
 Sunday, January 06, 2008

RIA技术的现状和展望 2) - by 纵坐标的幻

今天继续:

目前RIA技术局限和瓶颈 (主要针对主流的 flash silverlight)

1)      检索问题

作为一种互联网的应用, 检索是重要的推广手段, 但是flash由于使用的二进制文件而非纯文本, 导致了google 等检索引擎无法抓取其内容.  显然silverlight 使用XAML (xml 格式) 很好的避免了这一点, silverlight目前尚不成熟, 将来如何拭目以待.

 

2)      应用的安全性

Silverlight flash 通常需要下载到客户端允许, 势必存在安全隐患, 安全隐患是两方面的

A)     浏览者的安全性: 浏览这访问RIA应用时, RIA是否会执行一些威胁用户安全的操作. 通常IE 和相关应用的插件会对操作进行限制, 但难免存在漏洞.

B)     开发者的安全性: RIA被下载到用户本机, 就存在这代码被破解, 通讯协议被破解的问题. Flash 8 swf已经能被轻而易举的破解, 好在flash9 目前破解还比较困难, 然而silverlight (目前1.0) 所用的技术是xml + javascript, 代码完全暴露,毫无安全性可言. 据说 siliverlight 1.1 会有改善.

 

3)      浏览器插件的普及率

Flash 的插件目前有很高的占有率, 可以说是一大优势.  然而 微软的silverlight 凭着操作系统的优势, 相信会迎头赶上.

 

4) 3D 技术

3D 的展示一直是RIA 的一个技术缺口. 目前flash 已经有不少第三方的库, 可以支持3D, 比较流行的有: PaperVision3D , away3D FlashSandy. 但是都不支持硬件加速. 据说flash 10 会直接支持3d技术, 并且有硬件加速

Silverlight 目前还没有3D的支持.

papervision3d 首页的海底demo:

 

 

4)      开发便利性

一直以来RIA的开发有个较大问题, 没法将程序和效果的业务逻辑开发完全剥离,

这也是为什么flash action script 开发人员比较难找的原因 (需要全才才行啊). 随着 Action Script 3 的越来越普及, flash 开发模式也日趋成熟.

Microsoft silverlight, 开发方式更具创意:  效果设计师用Expression Blend Silverlight  xaml进行效果制作. 而程序员用visual studio 对其添加业务逻辑, 两者完全分开. 效果如何? 目前我还没试过,试过后一定告诉大家.

Sunday, January 06, 2008 11:33:02 PM (中国标准时间, UTC+08:00)  #    Disclaimer  |   | 
 Tuesday, December 11, 2007

随着VS 2008 发布 和 ASP.net Extension 3.5 的即将发布。

ASP.NET 也有了自己的MVC 框架 见scottgu的blog: http://weblogs.asp.net/scottgu/archive/tags/MVC/default.aspx

总结一下MVC的优缺点:

优点:

1)视图控制模型分离, 提高代码重用性。

2)提高开发效率。

3)便于后期维护, 降低维护成本。

4)方便多开发人员间的分工。

缺点:

1)清晰的构架以代码的复杂性为代价, 对小项目优可能反而降低开发效率。

2)运行效率相对较低

3)目前没有比较好的rich 客户端的解决方案

4) 控制层和表现层有时会过于紧密,导致没有真正分离和重用

Tuesday, December 11, 2007 4:58:21 PM (中国标准时间, UTC+08:00)  #    Disclaimer  |   | 
 Friday, November 26, 2004

以前自己写的小游戏带源码, 鼠标按住不放上升, 不按下降,不能碰障碍物,注意有惯性和重力加速度。

C# GDI Plus 写, 有兴趣的可以看一下代码

hifarCave-src1.0.rar (385.23 KB)
Friday, November 26, 2004 4:32:56 PM (中国标准时间, UTC+08:00)  #    Disclaimer  |   |