Biztalk 开发之 使用动态端口输出文件

来源:互联网 发布:php notice 编辑:程序博客网 时间:2024/05/18 02:41

    在Biztalk Server开发中,许多时候并不希望输出一个GUID字符串,而是希望以日期或某个数据项作为输出文件名。

    在本文中,介绍如何使用动态端口根据当前日期时间输出文件名。

    使用动态端口,可以在Biztalk业务流程中通过指定OutPort(Microsoft.XLANGs.BaseTypes.Address)来设置输出文件路径,其中的OutPort是创建的端口名称。对端口名称的赋值是在表达式中来设置的。

    下面通过一个简单的例子来进行说明:

    一、创建一个空的Biztalk Server项目OutFileName,设置程序集密钥文件。关于设置程序集密钥文件请参考文献1。

    二、创建一个简单的架构文件SimpleSchema.xsd,用来设置消息的类型。并使用架构文件生成一个test.xml文件,用来进行测试。关于创建架构,请参考文献2;关于架构文件生成实例文件,请参考文献3;

    三、创建一个业务流程,添加一个业务流程,为该流程添加一个InMsg消息,其类型为OutFileName.SimpleSchema。

    四、为业务流程添加一个接收消息操作ReceiveMsg、一个表达式SetOutFileName以及一个发送消息操作SendMsg。

    五、为业务流程添加一个InPort端口,使用Microsoft.BizTalk.DefaultPipelines.XMLReceive管道从C:/In文件夹下接收*.*文件。

    六、为业务流程添加一个OutPort端口,使用Microsoft.BizTalk.DefaultPipelines.XMLTransmit管道,动态输出文件。

   

    七、在表达式SetOutFileName中输入OutPort(Microsoft.XLANGs.BaseTypes.Address) = @"file://c:/out/" + System.DateTime.Now.ToString("yyyyMMddhhmmss") + ".xml" ;代码,动态设置输出文件的路径。

   

    八、将InPort端口与ReceiveMsg相连接,将OutPort端口与SendMsg相连接,设置ReceiveMsg的激活为Ture。

   

    九、编译并布署项目,将test.xml放入c:/in文件夹下面,将会在c:/out文件夹下产一个xml文件,文件名是当前日期时间字符串。


    参考文献:

    文献1 Biztalk 排错之 需要强名称程序集 http://blog.csdn.net/fengfangfang/archive/2006/07/11/904725.aspx
    文献2 Biztalk 开发之 如何快速创建架构 http://blog.csdn.net/fengfangfang/archive/2006/07/04/874252.aspx
    文献3 架构和实例的验证  http://blog.csdn.net/fengfangfang/archive/2006/07/04/874477.aspx 

原创粉丝点击