Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 同一BizTalk组中不同BizTalk应用程序之间的相同资源/业务流程_C#_Biztalk_Biztalk 2010 - Fatal编程技术网

C# 同一BizTalk组中不同BizTalk应用程序之间的相同资源/业务流程

C# 同一BizTalk组中不同BizTalk应用程序之间的相同资源/业务流程,c#,biztalk,biztalk-2010,C#,Biztalk,Biztalk 2010,我通过不同的媒介对此进行了研究,无论是谷歌、必应、出版书籍等等,我发现很难相信,尽管这个问题已经被问了好几次,但没有办法解决它 我尝试在stackoverflow中搜索此项,但找不到任何与我的搜索参数匹配的内容。如果有,请指给我看。谢谢 问题是: 我需要在Biztalk管理控制台中创建几个Biztalk应用程序——一个应用程序用于开发人员并指向开发人员SQL server,另一个应用程序用于QA并指向QA SQL server,依此类推。每个应用程序都需要有自己的容器来存放所有其他应用程序所拥有

我通过不同的媒介对此进行了研究,无论是谷歌、必应、出版书籍等等,我发现很难相信,尽管这个问题已经被问了好几次,但没有办法解决它

我尝试在stackoverflow中搜索此项,但找不到任何与我的搜索参数匹配的内容。如果有,请指给我看。谢谢

问题是:

我需要在Biztalk管理控制台中创建几个Biztalk应用程序——一个应用程序用于开发人员并指向开发人员SQL server,另一个应用程序用于QA并指向QA SQL server,依此类推。每个应用程序都需要有自己的容器来存放所有其他应用程序所拥有的资源

示例:应用程序#1的ReadFoo.dll版本为1.0.0.0;WriteFoo.dll,版本1.0.0.1

我想创建第二个应用程序,它将指向一个完全不同的SQL数据库实例,它有自己的ReadFoo.dll版本1.0.0.1;WriteFoo.dll,版本2.0.0.0

当我尝试执行第二个应用程序时,Biztalk抱怨另一个应用程序中已经存在相同的资源

谷歌搜索这一点让我怀疑,为了实现这一点,我必须创建第二个BizTalk组,在不同的服务器上使用不同的BizTalk配置数据库


有什么建议吗?

使用单独的开发和登台环境被认为是最佳实践。Biztalk 2006中引入了应用程序,以简化部署和修改相关Biztalk构件的管理任务。虽然此概念的名称可能意味着您可以在多个应用程序中复制同一资源,但事实并非如此。所有Biztalk程序集都需要强名称并添加到全局程序集缓存中,因此它们在单个计算机(Biztalk主机实例)上必须是唯一的


您可以尝试通过手动操作程序集版本号来避免这种情况,但我认为这种方法是需要维护的PITA。例如,配置错误可能会导致调用错误的程序集。将应用程序导出为MSI文件并将其导入到所需的环境中要容易得多。

使用单独的开发和暂存环境被认为是最佳做法。Biztalk 2006中引入了应用程序,以简化部署和修改相关Biztalk构件的管理任务。虽然此概念的名称可能意味着您可以在多个应用程序中复制同一资源,但事实并非如此。所有Biztalk程序集都需要强名称并添加到全局程序集缓存中,因此它们在单个计算机(Biztalk主机实例)上必须是唯一的


您可以尝试通过手动操作程序集版本号来避免这种情况,但我认为这种方法是需要维护的PITA。例如,配置错误可能会导致调用错误的程序集。将应用程序导出为MSI文件并将其导入到所需环境中要容易得多。

有两个选项,没有一个完全适合您的上述要求。1.对同一DLL使用不同版本以反映目标环境。2.对同一DLL使用不同的名称以反映目标环境。3.使用订阅,使用不同的接收位置/发送端口指向不同的SQL数据库。这些接收位置将位于预期的特定环境应用程序中。有两个选项,没有一个完全适合您的上述要求。1.对同一DLL使用不同版本以反映目标环境。2.对同一DLL使用不同的名称以反映目标环境。3.使用订阅,使用不同的接收位置/发送端口指向不同的SQL数据库。这些接收位置将驻留在预期的特定于环境的应用程序中。这就是计划——如果有必要使用相同的应用程序(例如开发和QC/Staging),则使用单独的服务器来表示单个环境,但我想看看是否可以在单个服务器上进行双倍操作。所有的帖子和博客都表明这是不可能的。修改版本是不可能的,所以我们都准备好了。除非有人提出一个可能的解决方案,让一台服务器承载具有相同编排/资源的多个应用程序,否则我会将此标记为答案。这就是计划——如果需要使用相同的应用程序(例如,开发和质量控制/登台),则使用单独的服务器来表示单个环境,但我想看看是否有可能在一台服务器上双倍运行。所有的帖子和博客都表明这是不可能的。修改版本是不可能的,所以我们都准备好了。除非有人提出一个可能的解决方案,让一台服务器承载具有相同编排/资源的多个应用程序,否则我会将此标记为答案。