BizTalk Server 2006 R2 未使用最近的“GAC”ced dll

发布于 2024-07-19 00:55:19 字数 399 浏览 6 评论 0原文

我有一个 DLL,它是 GAC'ced (c:\windows\assemble),我的 Biztalk 应用程序正在使用它,以满足某些要求,我更改了该 DLL 中的一个函数,并且:

  1. 我卸载了 GAC(版本 1.0.0.0)中的旧 DLL
  2. 我将 GAC'ced 到了 GAC 中>GAC(版本 1.0.0.0)
  3. 我还重新启动了 BizTalk 主机实例。

但输出似乎仍然来自旧的 DLL 函数。 我没有遇到问题,为什么我仍然得到旧的输出。

有谁能够帮助我?

I have a DLL which is GAC'ced (c:\windows\assembly) which is being used by my Biztalk Application, for some requirement, I changed a function in that DLL and:

  1. I uninstalled the old DLL which was in GAC (version 1.0.0.0)
  2. I GAC'ced the newly built DLL into GAC (version 1.0.0.0)
  3. I also restarted the BizTalk Host Instances.

But still the output seems to be from the old DLL's function. I am not getting the problem, why still I am getting the old output.

Can anybody help me?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

掩饰不了的爱 2024-07-26 00:55:20

该 DLL 是在 BizTalk 进程 (BTSNTSvc.exe) 下使用还是由独立主机实例使用?

如果此 DLL 用于接收处理程序(主机)被隔离的接收位置(例如 SOAP 接收位置),则必须从 IIS 重新启动应用程序池,而不是主机实例。

Is that DLL used under a BizTalk process (BTSNTSvc.exe) or by an Isolated Host Instance?

If this DLL is used in a Receive Location which Receive Handler (Host) is Isolated, for example a SOAP Receive Location, you have to restart the Application pool from IIS and not the Host Instance.

眼前雾蒙蒙 2024-07-26 00:55:19

一些可能有用的提示:

(1) 如果您的组中有多个 BizTalk 服务器,请务必更新所有服务器!
根据您的主机实例配置,您的实例可以在主机实例处于活动状态的任何服务器上运行。

(2) 确保重新启动正确的biztalk主机实例。 这一点常常被忽视。 不要忘记 BizTalk 隔离主机! 如有必要,请执行特定 IIS 应用程序池的回收。 如果您不确定,请执行 iisreset.exe

(3) 要更新 BizTalk 中的 DLL,通常还需要在 BizTalk 数据库中更新它。 对于某些更改,只需更新 GAC 中的 DLL 即可,但我经常发现这还不够(尤其是对于编排)。

Some tips that might be helpful:

(1) If you have multiple BizTalk servers in your group, be sure to update all of the servers!
Depending on your host instance configuration, your instance may run on any server the host instance is active on.

(2) Make sure you restart the correct biztalk host instance. This is often overlooked. Don't forget about the BizTalk Isolated Host! Perform a recycle of the specific IIS application pool if necessary. If you are unsure, perform an iisreset.exe

(3) To update a DLL in BizTalk it is often necessary to update it in the BizTalk database as well. For some changes it may work just updating the DLL in the GAC, but often I find that this is not enough (especially with orchestrations).

失眠症患者 2024-07-26 00:55:19

你在这里描述的是正确的。 您应该看到新的 DLL 接管。 有几点需要检查:

  1. 您是否回收了正确的主机实例?
  2. 您是否回收了所有服务器上的主机实例?
  3. 您是否验证了 GAC DLL 的创建日期以确保安装了新的 DLL?

另一个问题可能取决于您在应用程序中所做的更改。 您只能在特定情况下进行 Gac/Restart。 请参阅 Jon Flander 博客上的何时可以重新启动 gac 并重新启动以供参考。

What you are describing here is correct. You should see the new DLL taking over. A couple things to check:

  1. Did you recycle the correct host instances?
  2. Did you recylce the host instances on all servers?
  3. Did you veriiify the Create date on the GAC'd DLL to ensure the new one was installed?

Another issue might be based on what you changed in the Application. You can only Gac/Restart under particular circumstances. See this When can you just re-gac and re-start on Jon Flander's blog for reference.

单身情人 2024-07-26 00:55:19

如果您想真正确定已进行 GAC:ed 的正确程序集,请单击“运行”并键入“%systemroot%\assemble\gac”(对于 .Net 1.1)或“%systemroot%\ a​​ssembly\gac_msil”(对于 >)。 2.0。

在那里您可以检查(或覆盖)每个版本号的物理文件。

如果您让我们知道您正在使用程序集、管道、functoid、架构等 BizTalk 的哪一部分,这可能会帮助我们为您提供支持。

If you want to be really sure that the correct assembly that has been GAC:ed, click "Run" and type "%systemroot%\assembly\gac" for .Net 1.1 or "%systemroot%\assembly\gac_msil" for > 2.0.

There you have the physical files for each version number to be checked (or overwrited).

It might help us support you if you let us know what part of BizTalk you are using the assembly, pipeline, functoid, schema etc.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文