开发环境中biztalk项目设置注意事项

原创 2007年09月28日 13:50:00

适用版本:biztalk 2006

适用环境:开发测试环境

 

在开发过程中,在开发环境中,一定会是一个对项目不断的修改、编译、部署、测试,查看测试结果,发现有问题,然后回到开发环境再修改、编译、部署、测试的反复过程。所以开发环境的项目设置一定要适合这种反复的重新部署的特点,可以方便的修改,编译,重新部署,修改的内容立即能够生效,然后马上测试。

下面的一些设置注意事项可以帮助biztalk项目在开发环境中达到以上目的

一、 设置强名称程序集的密钥文件

在项目属性页中,在左边的树行结构中选择 “通用属性”-“Assembly”,然后在右面的内容面板中找到“Strong name”-“Assembly Key File”项,在这里点击后面的省略号按钮找到密钥文件(密钥文件怎么生成见biztalk文档)。因为biztalk项目生成的程序集必须安装到GAC中,所以程序集必须是强名称的。

二、 设置项目的部署属性

在项目属性页中,在左边的树行结构中选择 “配置属性”-“Deployment”,然后看右面的内容面板中,各个属性的含义:

Server ―― 把项目部署到哪个服务器,开发环境中,选择本地机器(local)

Configuration database ―― biztalk配置数据库,选BizTalkMgmtDb

Application name ―― 这个项目部署到biztalk中所属的应用程序名,所有属于同一应用的项目(一般就是一个解决方案中的项目)都应该部署到一个应用程序中。

Redeploy ―― 本项目是否可以重新部署。指示如果在GAC中已经有了本项目的程序时是否先删掉已经存在的程序集,然后部署新的程序集。开发环境中选“true”,以便可以反复的重新部署程序集。

Install to Global Assembly Cache ―― 是否将本项目生成的程序集安装到GAC中,当然要,选true

Restart Host Instance ―― 是否重启主机实例。这一个选项特别重要,下面详细解释这个选项。

dotnet托管环境中,应用程序域是代码隔离的边界,就是说每个应用程序域之间是相互隔离,不能直接通讯,也不会相互干扰的。一般一个应用程序域需要由一个运行库宿主创建,通常是一个exe的文件,这个运行库宿主创建应用程序域,在运行中使用到其他程序集会被加载到这个应用程序域内,用到多少程序集就会加载多少,但是这些被加载的程序集在使用完后不会马上从内存中卸载,必须等整个应用程序域运行完毕后,一起从内存中卸载。

通常Biztalk有两个主机实例:进程内主机实例BizTalkServerApplication,独立进程主机实例BizTalkServerIsolatedHostBizTalkServerIsolatedHost主机实例是给web services等进程外的服务使用的。一般biztalk项目生成的程序集都会被部署到BizTalkServerApplication实例中。

BizTalkServerApplication主机实例就是一个BTSNTSvc.exe运行库宿主,所以一旦有biztalk项目部署运行后,相关的程序集都会运行在BTSNTSvc.exe创建的一个应用程序域内,并且如果BTSNTSvc.exe服务不停这些程序集就不会被卸载。

Restart Host Instance属性设置为true后,每次重新部署biztalk项目后,biztalk会重新启动BizTalkServerApplication主机实例,原先已经运行的那些程序集也会被卸载。

刚开始学习biztalk的朋友,大多都会碰到一些问题,就是第一次部署biztalk项目后比较顺利,测试运行,发现问题修改后重新部署就会出现几种问题:

1、             部署不成功。因为上面提到的那个“Redeploy”属性没有设置为true

2、             重新部署后结果还是老样子,好像修改没有起作用。一般都是因为修改前的程序集已经在内存中运行,没被卸载,实际运行的还是老版本的程序集,当然结果也就是老样子。这时重启一下BizTalkServerApplication主机实例即可。或者把上面谈到的Restart Host Instance属性设置为true,让每次重新部署都自动重启一下BizTalkServerApplication主机实例,把原来的程序集从内存中卸载。

三、 配置管理

一般biztalk的解决方案都是有几个项目组成,比如biztalk文档中tutoial 1Enterprise Application Integration”这个例子,就是由两个项目组成:EAIOrchestrationsEAISchemas。大些的项目还可能包括更多的项目,这时可能需要配置一下,哪些项目是需要生成的,哪些是不用生成的;哪些项目是要部署的,哪些项目是不用部署的。

在解决方案上点击右键,选“配置管理器”,弹出如下窗口:


   在需要生成的项目在“生成”那一列打上勾,在需要部署的项目在“部署”那一列打上勾。这样在点击解决方案右键选“生成解决方案”时,就只有设为生成的项目被编译,在点击解决方案右键选“部署解决方案”时,就只有设置了部署的项目被部署。

对于非biztalk的项目,上图中的“ClassLibray1”是一般的类库项目,可以被biztalk项目引用。非biztalk的项目不能被设置为可部署。

四、 biztalk项目的部署

biztalk项目有的地方可以写代码,代码中可以引用一般托管类的代码,所以biztalk解决方案中一般会包含非biztalk项目的类库项目,这些类库项目中的类被biztalk项目中的代码调用。因为biztalk项目的程序集是强名称的,被部署在GAC中,所以被引用的类库的程序集也必须是强名称的并部署到GAC中。

biztalk项目不能跟biztalk项目一样通过简单设置就能被部署到GAC中,但是可以通过一定的方法做到。以下是Snega (水滴石穿)提供的方案

1、             在类库项目中->属性->生成事件->预生成命令

PATH = C:/Program Files/Microsoft Visual Studio 8/SDK/v2.0/Bin

GacUtil /u $(TargetName)

这一设置在生成类库项目前先把原来已经在GAC的本项目的程序集卸载,以便新的程序集装载进GAC

2、             在类库项目中->属性->生成事件->生成后命令

PATH = C:/Program Files/Microsoft Visual Studio 8/SDK/v2.0/Bin

GacUtil /i $(TargetPath)

这一个设置把生成好的类库程序集装载到GAC中。


或者:
在类库项目中->属性->生成事件->生成后命令
REM 先设置适当的环境变量以启用各种命令,其中就有GACUTIL命令所在的“C:/Program Files/Microsoft Visual Studio 8/SDK/v2.0/Bin”路径。
CALL "%VS80COMNTOOLS%/vsvars32.bat" > NUL
REM “if”参数表示将程序集安装到全局程序集缓存中。如果全局程序集缓存中已经存在同名的程序集,全局程序集缓存工具将改写该程序集。
GACUTIL /if "$(TargetPath)" 

五、 总结

安装以上所述设置biztalk的项目,修改biztalk项目,重新部署会很方便。

但是有一点要注意,再重新部署一个解决方案时,这个解决方案在biztalk所在的那个应用不要有挂起的实例,有的话把它终止掉然后再进行重新部署。

一般在开发环境中进行修改,然后编译解决方案,重新部署解决方案,就可以测试新的修改的效果了。不用手工去做停止应用、删除应用,重启服务等等工作,这些上面的设置都已经给解决了。

 

相关文章推荐

eclipse 集成 android开发环境4大注意事项

1:sdk 和 adt 必须保持版本一致,不然会报错找不到SDK,置于版本对应关系网上有很多; 温馨提示,离线安装adt的时候去掉勾选联网获取,安装速度会快很多;离线安装sdk的时候下载完整版,就会很...

Eclipse Android开发环境的搭建步骤及注意事项

作为一个初学者,在进行Eclipse android开发环境的搭建中耗费了挺长的时间。虽然网上有很多关于开发环境搭建的演示讲解,但是参照这些演示讲解进行操作的过程中还是出现了很多问题。因此,整理自己的...

virtualbox ubuntu虚拟机安装配置android开发环境(eclipse+ndk+sdk)及注意事项

原先整了一个ubuntu虚拟机环境,现在发现有个严重问题:虚拟硬盘创建的太大了(30G),不好拷贝。故决定重新整一个环境出来。顺便回忆一下当初环境是怎么搞的。 一) windows主...

安卓NDK开发之开发环境搭建以及使用的注意事项

前言:在AS之前我们使用Eclipse开发,稍有麻烦,今天我们就使用谷歌推荐的AS下的默认开发方式--Cmake开发方式,废话少说直接开始!...

Android开发环境配置及注意事项

一:准备工作 JDK1.6.0_05 下载地址http://java.sun.com/products/archive/index.htmlEclipse javaEE版 下载地址http:/...

Java Eclipse开发环境搭建及注意事项

一、所需工具 (1)JDK (2)Tomcat 7.0(http://tomcat.apache.org/download-70.cgi,选择: 32-bit/64-bit Windows Serv...

iOS项目开发实战——storyboard设置界面技巧与注意事项

在iOS开发中,使用Main.storyboard来设计界面是每一个iOS开发人员需要面对的问题,使用storyboard相比较Android中使用XML来设置布局,有优点也有缺陷,现在我们来谈谈st...

websocket完整项目带注意事项

  • 2016年12月19日 11:09
  • 7.45MB
  • 下载

JDK1.6安装详解、环境变量设置、测试安装及注意事项

JDK1.6安装详解 1.下载JAVA JDK SE 6,下为下载地址之一: http://www.java.net/download/jdk6/6u10/promoted/b32/binarie...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:开发环境中biztalk项目设置注意事项
举报原因:
原因补充:

(最多只允许输入30个字)