Asp.NET有MVC框架,大部份的开发都是按照MVC进行的。BizTalk是面向消息的开发,不能完全采用分层的开发模式。而微软只提供了 BizTalk项目开发的基本策略,通过分析相关的Complex项目。还有自己参与的一些BizTalk项目。整理了一下在BizTalk项目框架的建 议。
基本原则
- 对于系统建立一个总体的解决方案。
- 使用VSTS或VSS 对解决方案进行管理(以下是说明指的是在VSTS的环境下创建解决方案)。
- 统一开发人员的本地项目目录结构。
- 将较大的项目拆分为较小的几个项目,(单独DLL大小不超过10M)。
- 使用统一的测试数据。
文件夹和项目规划
将总体的解决方案根据架构设计分使用文件夹分为不同的区域,例如:BizTalk Applications, Components, Public, Web Applications , WinForm Applications等。在创建解决方案文件夹时要在解决方案的物理文件夹上创建相同的文件夹)。
1. BizTalk Applications子文件夹
Pipelines, Pipeline跟其他项目关系不紧密,强烈建议单独列为一个文件夹。优先使用自己定义的Pipeline。如果系统自带的Pipeline已经有此功能,为了以后修改的方便(新增或删减功能)也建议使用自己创建的Pipeline。
Orchestrations
Maps
Schemas
Exception(如果有提供异常解决方案)
2. Components 子文件夹
- Utility 用于创建公共方法或操作
- Entity 用于创建实体类
- BusinessProcess 用于特定业务需求
3. Public 子文件夹
- Keys 用于存放解决方案的Key,最好只用一个。
- TestData/Msgs 用于存放Schema生成的实例,还可以用于存放测试数据.
- Config 用于存放配置文件或绑定文件。
项目初始化配置
- 配置安装服务器时使用LOCALHOST或"."(点号)。点号的速度比LOCALHOST快。
- 配置密钥时使用相对路径。
- 设置相应的Application Name
- 注意在配置选项菜单选择所有配置。
对于BizTalk调用的自定义的程序集在部署的时候是需要安装到GAC里的。此时最好用命令将自定义的组件通过生成后事件将其安装到GAC中。
"C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin\gacutil.exe" /i "$(TargetPath)" /F
注:如自动部署提示错误,请确保所有程序集均已签名
[2012.2.24 更新]
以下代码适合在Visual Studio 2010上使用
gacutil /uf $(TargetName)
gacutil /if $(TargetName)
或
"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\gacutil.exe" /i "$(TargetPath)" /F
[2009.5.5 更新]
以下代码适合在Visual Studio 2008上使用
gacutil /uf $(TargetName)
gacutil /if $(TargetPath)
[2008.12.12更新]
或者使用以下代码将DLL安装到GAC中
CALL "%VS80COMNTOOLS%vsvars32.bat" gacutil /uf $(TargetName) gacutil /if "$(TargetPath)
解决方案目录:
系统文件夹目录