随笔 - 10  文章 - 0  评论 - 7 
  2008年2月19日

In no particular order, here are the top ten things I've learned to pay attention to when dealing with production ASP.NET applications.  Hopefully they will help you save you some time and headaches.  As always, your thoughts and additions are welcome.

1.  Generate new encryption keys

When moving an application to production for the first time it is a good idea to generate new encryption keys.  This includes the machine validation key and decryption key as well as any other custom keys your application may be using.  There is an article on CodeProject that talks about generating machineKeys specifically that should be helpful with this.

2.  Encrypt sensitive sections of your web.config

This includes both the connection string and machine key sections.  See Scott Guthrie's post for some good references.  Note that if your application runs in a clustered environment you will need to share a custom key using the RSA provider as described in an MSDN article.

3.  Use trusted SQL connections

Both Barry Dorrans and Alex Chang have articles which discuss this in detail.

4.  Set retail="true" in your machine.config

    <configuration>
    <system.web>
    <deployment retail="true"/>
    </system.web>
    </configuration>

    This will kill three birds with one stone.  It will force the 'debug' flag in the web.config to be false,  it will disable page output tracing, and  it will force the custom error page to be shown to remote users rather than the actual exception or error message.  For more information you can read Scott Guthrie's post or the MSDN reference.

5.  Create a new application pool for your site

When setting up your new site for the first time do not share an existing application pool.  Create a new application pool which will be used by only by the new web application.

6.  Set the memory limit for your application pool

When creating the application pool, specifically set the memory limit rather than the time limit which is set by default.  Asp.net has a good whitepaper which explains the value of this:

By default IIS 6.0 does not set a limit on the amount of memory that IIS is allowed to use. ASP.NET’s Cache feature relies on a limitation of memory so the Cache can proactively remove unused items from memory.

It is recommended that you configure the memory recycling feature of IIS 6.0.

7.  Create and appropriately use an app_Offline.htm file

There are many benefits to using this file.  It provides an easy way to take your application offline in a somewhat user friendly way (you can at least have a pretty explanation) while fixing critical issues or pushing a major update.  It also forces an application restart in case you forget to do this for a deployment.  Once again, ScottGu is the best source for more information on this.

8.  Develop a repeatable deployment process and automate it

It is way too easy to make mistakes when deploying any type of software.  This is especially the case with software that uses configuration files that may be different between the development, staging, or production environments.  I would argue that the process you come up with is not nearly as important as it being easily repeatable and automated.  You can fine tune the process as needed, but you don't want a simple typo to bring a site down.

9.  Build and reference release versions of all assemblies

In addition to making sure ASP.NET is not configured in debug mode, also make sure that your assemblies are not debug assemblies.  There are of course exceptions if you are trying to solve a unique issue in your production environment ... but in most cases you should always deploy with release builds for all assemblies.

10.  Load test

This goes without saying.  Inevitably, good load testing will uncover threading and memory issues not otherwise considered.

posted @ 2008-02-19 15:17 暖手台灯 阅读(133) 评论(0) 编辑
  2008年1月21日
摘要: 对象名 说明 ASP.NET 类 Response 提供向浏览器写入信息或者发送指令等功能 HttpResponse Request 提供从浏览器读取信息或者取客户端信息等功能。 HttpRequest Application 为所有用户提供共享信息 HttpApplicationState Server 提供服务器端一些的属性和方法 HttpServerUtility Session 为某个用户...阅读全文
posted @ 2008-01-21 15:23 暖手台灯 阅读(341) 评论(0) 编辑
  2008年1月17日
完全可以用C# 开发dnn模块。

在用smart创建模块后,修改模块的dnn文件的  <cachetime>60</cachetime>  为<cachetime>0</cachetime> 这是为了清除模块缓存,让事件即时触发。
修改web.config   <codeSubDirectories><add directoryName="HTML"/> </codeSubDirectories>  手动添加自己增加的模块的名字,即可编译了。
posted @ 2008-01-17 10:05 暖手台灯 阅读(198) 评论(0) 编辑
  2008年1月15日
在创建模块时  修改dnn文件中的 <cachetime>60</cachetime>  为 <cachetime>0</cachetime>

或者在模块管理中 修改模块的默认缓存时间为0

posted @ 2008-01-15 11:58 暖手台灯 阅读(30) 评论(0) 编辑
  2008年1月10日
软件项目经理的18种实用技能 

第一部分 售前顾问的核心技能
       第一章 如何做公司介绍(http://blog.e-works.net.cn/5721/articles/2612.html)
                    第一节 如何轻松介绍公司
                    第二节 要么说服,要么毁灭
                    第三节 考察介绍

      第二章 如何做售前调研(http://blog.e-works.net.cn/5721/articles/2613.html)
                    第一节 售前调研的目的
                    第二节 售前和售后调研的不同
                    第三节 售前调研策划

      第三章 如何写售前解决方案(http://blog.e-works.net.cn/5721/articles/2614.html)
                    第一节 解决方案难写在哪里
                    第二节 不好的解决方案的十个特点
                    第三节 写好方案的心得
                    第四节 方案外观设计
                    第五节 方案分类及用途

      第四章 如何做产品演示(http://blog.e-works.net.cn/5721/articles/2615.html)
                    第一节 什么是演示
                    第二节 演示的目的
                    第三节 售前演示工作应如何策划
                    第四节 如何准备标准示套路
                    第五节 如何进行现场演示
                    第六节 如何组织演示后的工作
                    第七节 一流演示的效益

      第五章 如何做技术交流(http://blog.e-works.net.cn/5721/articles/2616.html)
                    第一节 技术交流的目的
                    第二节 技术交流的技巧
                    第三节 正式技术交流经验谈
                    第四节 如何在技术交流过程中击败竞争对手

      第六章 如何做公司考察(http://blog.e-works.net.cn/5721/articles/2617.html)
                    第一节 公司考察接待工作的内容
                    第二节 公司考察容易犯的错误

      第七章 如何做用户考察(http://blog.e-works.net.cn/5721/articles/2618.html)
                    第一节 典型用户有什么意义
                    第二节 典型用户的管理方法
                    第三节 客户考察目标
                    第四节 用户现场考察工作应如何组织
                    第五节 现场用户考察的技巧

第二部分 实施经理核心技能(http://blog.e-works.net.cn/5721/articles/2619.html)
      第八章 如何做高层沟通(http://blog.e-works.net.cn/5721/articles/2620.html)
                    第一节 为什么需要高管支持
                    第二节 为什么高管不支持我

      第九章 如何开启动大会(http://blog.e-works.net.cn/5721/articles/2621.html)
                    第一节 为什么要开项目启动大会
                    第二节 什么时候开启动大会
                    第三节 启动大会怎么开
                    第四节 启动人际合作

      第十章 如何做实施调研(http://blog.e-works.net.cn/5721/articles/2622.html)
                    第一节  调研工作的生命周期? 
                    第二节 调研准备阶段容易犯哪些错误? 
                    第三节 现场调研阶段容易犯哪些错误? 
                    第四节 调研工作方法推荐 

      第十一章 如何处理用户需求(http://blog.e-works.net.cn/5721/articles/2623.html)
                    第一节 处理用户需求需要知道的三件事 
                    第二节 如何分析用户的需求
                    第三节 处理用户的需求的三种方式
                    第四节 如何识别用户的需求

      第十二章 如何编制实施解决方案(http://blog.e-works.net.cn/5721/articles/2624.html)
                    第一节 编制解决方案的目的 
                    第二节 实施解决方案和售前解决方案的不同 
                    第三节 编制实施阶段解决方案常见问题 
                    第四节 编制高质量解决方案的关键?
                    第五节 如何就解决方案达成一致?
 
      第十三章 如何编制实施计划(http://blog.e-works.net.cn/5721/articles/2625.html)
                    第一节 计划必须是合作双方充分沟通的产物 
                    第二节 计划要体现出对项目实施工作的策划 
                    第三节 划分计划的层次和衔接关系
                    第四节 避免把行动当目标 
                    第五节 计划跟踪 
                    第六节 尊重计划,不轻易变更计划 
                    第七节 计划不要过于理想化 
                    第八节 实施计划要考虑对售前计划风格的继承

      第十四章 如何写工作备忘(http://blog.e-works.net.cn/5721/articles/2626.html)
                    第一节 为什么要写备忘录
                    第二节 工作备忘要注意细节,避免过度简写
                    第三节 要有积极的姿态
                    第四节 前后备忘录注意呼应 
                    第五节 平时做好日志
 

      第十五章 如何做用户培训(http://blog.e-works.net.cn/5721/articles/2627.html)
                    第一节 培训工作的目的 
                    第二节 用户能不能培养成替代者?
                    第三节 培训工作为什么质量不高?
                    第四节 培训工作应如何组织? 
                    第五节 培训计划 
                    第六节 培训组织 
                    第七节 培训考核和反馈 
                    第八节 好的培训行为习惯 
                    第九节 总部培训 

      第十六章 如何做现场推广(http://blog.e-works.net.cn/5721/articles/2628.html)
                    第一节 现场推广工作可进行条件? 
                    第二节 现场推广工作为什么进展慢? 
                    第三节 现场推广工作如何才能做好?
 

      第十七章 如何做项目验收(http://blog.e-works.net.cn/5721/articles/2629.html)
                    第一节 验收工作应如何组织?
                    第二节 项目验收的条件 
                    第三节 确定里程碑 
                    第四节 主动沟通 
                    第五节 写好备忘录 
                    第六节 精心准备一次成功的汇报 
                    第七节 平时做人的积累

      第十八章 如何有效回款(http://blog.e-works.net.cn/5721/articles/2630.html)
                    第一节 快速回款必须清楚验收条件 
                    第二节 弄清楚付款流程 
                    第三节 顺利验收的经验 
                    第四节 快速实施的技巧 
                    第五节 催款体会


 介绍公司有三点一定要讲到:

业务讲到:要让客户清楚我们能为您提供什么,做什么,如何合作。

实力谈到:要让客户明白和我们合作为什么可以放心。

案例说到:要让客户知道我们不是在说大话,有很多用户和我们一起取得了成功,并有案可查。


u       讲故事

   不要呆板的介绍公司,而是要讲故创业事。例如我们谈公司人数可以请用户看老照片,结合老照片讲公司创业艰辛到发展壮大历程,边讲边和客户互动,看着老照片,听着软件人创业的故事,客户就容易从心理上接受这个朴实认真的公司了。

u       讲特色

   特色主要指软件管理和业务上的特点。

   一般管理上特色是结合组织机构介绍进行的,要给客户生动介绍公司的组织机构,介绍人可以和企业采用比方的方法,讲软件研发部就和客户比方成企业的生产车间,到测试组就和客户比方成企业的质检车间,这样企业就很快明白组织结构的作用和价值了。

   业务特点是请客户看软件研发工具,例如请他们看源代码管理工具,看安全保密工具,请他们看软件自动测试工具,这些是客户很少见到,但见到后又很容易认可软件公司规范可靠的细节管理,而且有新鲜感。

u       讲文化

   在给客户在公司做介绍,不仅仅要介绍公司经历和管理特色,还要通过这些内容突出我们公司文化价值观,形成和客户的共鸣。



 

 

posted @ 2008-01-10 15:15 暖手台灯 阅读(473) 评论(2) 编辑
  2008年1月9日
摘要: 1.了解公司需求的能力 2.制定前景规划的能力 3、制定计划的能力 4、组建小组的能力  5、集中使用资源的能力 6、贯彻“客户服务”理念的能力  7、管理项目的能力 8、应对变化、进行管理的能力  9、领导员工并激发其工作热情的能力  10、有效沟通的能力  11、追踪并衡量工作表现的能力阅读全文
posted @ 2008-01-09 17:21 暖手台灯 阅读(27) 评论(0) 编辑
  2008年1月4日
摘要: 端口映射(Port Mapping):如果你是ADSL、MODEM或光纤等宽带接入用户,想在公司或单位内部建一个服务器或WEB站点,并且想让互联网上的用户访问你的服务器,那么你就会遇到端口映射问题。通常情况下,路由器都有防火墙功能,互联网用户只能访问到你的路由器WAN口(接ADSL的电话线口或路由宽带外网口),而访问不到内部服务器。要想让互联网用户访问到你建的服务器,就要在路由器上做一个转发设置,...阅读全文
posted @ 2008-01-04 17:24 暖手台灯 阅读(59) 评论(0) 编辑
  2007年12月26日
摘要: FCKeditor, 不知道博客园里用的是什么 我修改了一个,变的类似csdn的。/Files/bobysunhu/files/WebSite2.zipfckeditor 2.5.1 and FCKeditor.Net_2.5.zip 版本让上传的文件路径 和 上传图片路径相同了。修改了文件 fckconfig.js fck_image.html fck_image.js , 还要修改 FCKed...阅读全文
posted @ 2007-12-26 11:02 暖手台灯 阅读(856) 评论(5) 编辑
  2007年12月21日
摘要: 这个是aspx页面。<html xmlns="http://www.w3.org/1999/xhtml" ><head runat="server"> <title>无标题页</title> <script src="default.js" type="text/javascript"></script></head&g...阅读全文
posted @ 2007-12-21 11:55 暖手台灯 阅读(1225) 评论(0) 编辑
  2007年12月20日
摘要: 1.Dotnetnuke 2.rainbow阅读全文
posted @ 2007-12-20 13:06 暖手台灯 阅读(23) 评论(0) 编辑