Web.Config/Web.Debug.Config/Web.Release.Config 根据发布环境转换Web.Config

2012年4月24日 没有评论

Problem
在asp.net web form或者asp.net mvc在从开发环境发布到测试、生产环境时,其数据库环境、动态配置会有很大差别,特别是数据库链接字符串。我们需要每次发布都去修改web.config吗?
以数据库连接为例,本地开发时的连接字符串为:

<connectionStrings>
<add name=”AvastinDP” connectionString=”Data Source=.\SQLEXPRESS;Initial Catalog=AvastinDP;Integrated Security=True” providerName=”System.Data.SqlClient” />
</connectionStrings>

测试服务器的数据库连接为:

<connectionStrings>
<add name=”AvastinDP” connectionString=”Data Source=devdbtest03\SQLEXPRESS;Initial Catalog=AvastinDP;Persist Security Info=True;User ID=[username];Password=[password]” providerName=”System.Data.SqlClient” />
</connectionStrings>

生产环境的数据库连接为:

<connectionStrings>
<add name=”AvastinDP” connectionString=”Data Source=dbserversh001\SQL2008R2;Initial Catalog=AvastinDP;Persist Security Info=True;User ID=[username];;Password=[password]” providerName=”System.Data.SqlClient” />
</connectionStrings>

Solution
在Visual Studio 2010的项目中,展开Web.Config我们会发现,还有Web.Debug.Config和Web.Release.Config,通过在其中添加相应的配置信息,可以在发布时,替换相应的Web.Config中的信息。
Discussion
在Web.Debug.Config中,有如下字符串

<!–
…… Read More

分类: 软件研发 标签:

MVCScaffoding 和 EntityFramework Migration 在asp.net MVC中的应用(一)

2012年4月12日 没有评论
thumb

我们遇到的一些问题 开发过程中如何管理数据库的变更? 1. 开发过程中,当开发人员A因开发需要,对数据库做了一次变更(比如,增加了N个字段),这时候开发人员B拿到代码就抓瞎了。以前我们解决办法有: 1). 将数据库初始状态作为基线版本,每位程序员将每次变更保存为带版本号SQL文本,以跟踪每次变更。但程序员对于SQL脚本的掌握程度不一,导致脚本质量差别巨大,并且很容易遗漏一些内容(比如,主外键关系); 2).… Read More

分类: 软件研发 标签:

提高代码可读性的十大注释技巧分享

2012年3月23日 没有评论
excerpt thumb

很多程序员在写代码的时候往往都不注意代码的可读性,让别人在阅读代码时花费更多的时间。其实,只要程序员在写代码的时候,注意为代码加注释,并以合理的格式为代码加注释,这样就方便别人查看代码,也方便自己以后查看了。下面分享十个加注释的技巧:   1. 逐层注释   为每个代码块添加注释,并在每一层使用统一的注释方法和风格。例如:   针对每个类:包括摘要信息、作者信息、以及最近修改日期等;   针对每个方法:包括用途、功能、参数和返回值等。   在团队工作中,采用标准化的注释尤为重要。当然,使用注释规范和工具(例如C#里的XML,Java里的Javadoc)可以更好的推动注释工作完成得更好。   2.… Read More

分类: 软件研发 标签:

IIS Express + SQLite + System.Data.SQLite将网站打包本地运行

2011年4月11日 没有评论
excerpt thumb

之前做了一个B/S的项目,现在客户需要刻录光盘发放出去进行本地浏览。 当年,团队选择.Net,就是想将桌面应用和B/S的应用层资源进行整合,省去人力和技术上的一些麻烦。通过良好的分层设计,通过数据访问层共享,在很多项目中省去了数据和大部分业务逻辑的事情,当然,像我们这样的小型业务,程序员可以B/S和桌面应用串门,.Net比其他语言都有优势。 但这次不同,首先,UI、业务流程都不希望调整,所以这个项目基本上就不希望有修改。 当时使用的SQL Server + .Net MVC2.0 + LinqToSQL,基于.Net Framework 3.5进行开发的。现在摆在我们面前的有三条路。 1.… Read More

分类: 其他 标签:

在 amazon ec2 从零开始 部署 rails 3 apache passenger运行环境

2010年11月12日 没有评论
excerpt thumb

我承认,这帖有标题党之嫌。但还是得记录。 其实吧,ec2 就是给你一台vps,并且有root权限。 apache, mysql的安装就不说了,开始ruby吧,amz给的ruby是1.8.7,足够了。 1.… Read More

分类: 其他 标签:

rails 3.0 和 3.0.rc的区别之一

2010年10月27日 没有评论
excerpt thumb

今天遇到一个问题: resources sessions do get :logout, :path => “/logout” end 在3.0中,rake routes会解析为: /sessions/:session_id/logout(.:format) 在3.0.0.rc中,会解析为: /logout 刚升级到3.0.1,routes与3.0.0一致 所以,像rc那样不区分resources和resouce的写法行不通了。阿门 3.0以后增加了 resources member和resources collection两个scope… Read More

分类: 其他 标签:

以服务运行VMWare Workstation Machine — 开机自动启动VMWare Workstaion

2010年9月18日 没有评论

VMware Workstation 7.1 and  FireDaemon v2.2
家里的台式机一直跑一个XP,大部分时间控制权不在我手上。但总觉得浪费了那4G内存和1.5T的磁盘。控制权是抢不回来了,所以用VMWare 7装了2个虚拟机玩着…但每次都得远程进去,打开VMWare、Start…麻烦!!!
从06年到现在,一直用VMWare Workstation & VMPlayer,没觉得哪里不好。去年开始,用了VirtualBox和Hyper-V后,觉得Hyper-V的一个重要优势就是自动静默随服务启动,可惜,这台机器的CPU(E7400)不支持Intel VT(Intel列表里E7400只有个别批次支持),所以Hyper-V是不想了。VMServer直接接管硬件,也不行,如果保证不了XP的运行,是要命的。
一直在找以服务启动VMWare的方案,Google里面”vmware autostart as windows service”、”vmware run as windows service”这样的关键词都被搜烂了,比较多的是使用微软的Instsrv.exe命令行创建服务,这个方法可行,但比较麻烦。后来找到了本文介绍的玩法的鼻祖级手册:http://forums.firedaemon.com/vmware-workstation-windows-service-t78.html?s=90e22cfa455ca5c35dccbc0539fbbd5a&amp;(可能以前没注意,居然把它给忽略了,现在才找到)。
主要步骤如下:
1.… Read More

分类: 其他 标签:

rails 3 中使用paperclip插件进行文件上传

2010年9月1日 没有评论
excerpt thumb

1.安装插件(依赖于ImageMagick) rails plugin install git://github.com/thoughtbot/paperclip.git 2. 创建migrate rails g paperclip company logo 系统会自动创建如下代码 class AddAttachmentLogoToCompany < ActiveRecord::Migration def self.up … end def self.down … end end 3.  修改model(company) class Company < ActiveRecord::Base has_attached_file :logo, :styles => { :normal => “150×60″ } end 4.… Read More

分类: 其他 标签:

PDF因系统缺少内嵌文字,复制出来的文字乱码

2010年9月1日 没有评论
excerpt thumb

今天收到一份PDF,使用Adobe Reader或者Foxit Reader打开均正常。 复制文字,在文本编辑器中粘贴,英文字母、标点符号乱码,或者显示莫名其妙的文字。比如:两个空格贴出来后,居然把我们一同事的名字整出来了“摇摇”。 面对这玩意儿,我头开始摇。最后网上找到PDF2Word没搞定,使用Foxit Editor没用。咋整呢? 复制出来后对标点?太痛苦了,64页,要命啊。一份文件还好,要有个几十份,不用干别的事情了。 问题出在PDF的内嵌字体,比较怪异,Windows里面没有。后来,找了N久字体没能解决,记录在此,希望某一天能够找到不用痛苦的到处找字体或对标点的解决方法。… Read More

分类: 其他 标签:

Debian/Ubuntu SSH登录慢的解决办法

2010年8月31日 没有评论
excerpt thumb

一直用Redhat/CentOS,突然换成Ubuntu,不太适应,SSH总是很慢。Google/Baidu 找到解决方案如下: 把 sudo vim /etc/ssh/ssh_config 修改其中的 GSSAPIAuthentication no 和谐了 还有人是这样干的 把下面两行注释掉: GSSAPIAuthentication yes GSSAPIDelegateCredentials no… Read More

分类: 其他 标签: