微软ASP.NET站点部署指南(3):使用Web.Config文件的Transformations

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 12:23 点击:

1. 综述

大多数程序里都会在Web.config里设置参数,并且在部署的时候需要更改。每次都手工更改这些配置很乏味,也容易出错。该章节将会告诉你如果通过自动化更新Web.config文件来避免这些问题。

2. Web.config Transformations 与Web Deploy Parameters

有2种方式来自动化更新Web.config文件的设置:Web.config transformations和Web Deploy parameters。Web.config transformation文件包含部署时需要更新的XML标记 。你可以为不同的build配置声明不同的更新。默认的build配置是Debug和Release,你也可以创建自定义的build配置。

 

Web Deploy parameters可以定义部署时需要更的任何设置(只要Web.config里能定义的)。定义Web.config文件更新的时候,创建Web Deploy parameters十分复杂,但是如果你只有在部署的时候才知道这些配置值的话,它是非常有用的。例如,在一些企业环境里,你将程序打包以后发给IT部门的人去安装到生产环境,IT的人需要输入字符串连接或者不能让你的密码。

该章节的内容,任何东西你都可以事先在Web.config里配置好,所以不需要使用Web Deploy parameters的方式。

提醒:如果根据本章节所做的操作出现错误信息或一些功能不正常的话,请务必check Troubleshooting页面

3. 创建新的Build Configuration

你有2个需要部署的目标:测试环境和生产环境。部署到测试环境的话一般都是部署Release版本而非Debug版本,但是有些Web.config的参数可能和生产环境里的不一样。因为Web.config transformations是由build配置来声明的,所以你需要创建一个新的test环境使用的build配置。

 

生产环境使用默认的Release build配置,测试环境如果你能用debug的话也可以使用默认的Debug build配置。如果需要在测试环境部署Release版本的程序的话,你可以创建一个Test build配置。

打开Visual Studio Build菜单,选择Configuration Manager弹出Configuration Manager对话框。

 \

Active solution configuration框里,选择新建New。弹出New Solution Configuration对话框,输入"Test"作为新build配置的名称,然后选择从Release复制设置。保存Create new project configurations选中,然后点击OK

 \

关闭Configuration Manager对话框。

还需要一个Web.config transform文件来对应Test build配置。在Solution Explorer里,展开Web.config 文件可以看到默认创建的Web.Debug.configWeb.Release.config文件,右键Web.config 然后选择Add Config Transforms

 \

Web.Test.config文件添加成功。

 \

现在,你可以输入Web.config transformations到Web.config transformation文件了。

4. 防止Entity Framework Code First删除生产环境数据库

在开发环境,Entity Framework Code First通常默认配置成当data model改变的时候自动删除/重建数据库。在你开发站点和频繁改变data model的时候非常方便,但是你肯定不想它发生在生产环境。控制Entity Framework 自动初始化数据库的功能的推荐方法是:在Web.config 文件里设置appSettings值。

 

(早期的Code First教程建议在Global.asax文件的Application_Start方法里设置代码,如果你有这样的代码,部署之前删除它。因为不需要改变项目就可以控制Code First行为,例如,你可以配置一个测试项目来做数据库初始化。)

Web.config文件的appSettings 里设置了一个DatabaseInitializerForType

	<appSettings>
  <add key="DatabaseInitializerForType ContosoUniv
	
    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • 浅析.NET下XML数据访问新机制
    • asp.net 面试+笔试题目第1/2页
    • C# 邮件地址是否合法的验证
    • C#高级编程:数据库连接[1]
    • asp.net 设置GridView的选中行的实现代码
    • 经典C++程序1
    • IIS 自动回收导致后台定时器失效的问题解决
    • ASP.NET&#160;GridView列表代码示例
    • 微软ASP.NET站点部署指南(3):使用Web.Config文件的Transforma
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1