问题标签 [wcf-lob-adapter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1221 浏览

c# - 在实现时间受限的方法时,我应该中止工作线程还是让它运行?

我目前正在为现有应用程序编写基于 Web 服务的前端。为此,我使用了WCF LOB 适配器 SDK,它允许创建自定义 WCF 绑定,将外部数据和操作公开为 Web 服务。

SDK 提供了一些接口来实现,并且它们的一些方法是有时间限制的:实现预期在指定的时间跨度内完成其工作或抛出TimeoutException

调查使我想到了“实现 C# 通用超时”这个问题,它明智地建议使用工作线程。有了这些知识,我可以写:

但是,对于超时时如何处理工作线程的共识尚不清楚。可以像上面的代码一样忘记它,或者可以中止它:

现在,中止线程被广泛认为是错误的。它会破坏正在进行的工作、泄漏资源、混淆锁定,甚至不能保证线程实际上会停止运行。也就是说,HttpResponse.Redirect()每次调用它都会中止一个线程,而 IIS 似乎对此非常满意。也许它已经准备好以某种方式处理它。我的外部应用程序可能不是。

另一方面,如果我让工作线程运行,除了资源争用增加(池中可用线程减少)之外,内存不会泄漏,因为work.EndInvoke()永远不会被调用?MetadataRetrievalNode[]更具体地说,返回的数组不会work永远存在吗?

这只是选择两个弊端中较小的一个问题,还是有办法不中止工作线程并仍然回收所使用的内存BeginInvoke()

0 投票
1 回答
248 浏览

biztalk - 如何使用自定义 WCF LOB 适配器执行单向发送

我正在尝试创建一个基本的单向自定义 WCF LOB 适配器以用于 BizTalk,并且正在实现Execute由 Visual Studio WCF LOB 适配器 SDK 项目向导创建的方法。

此方法的文档总结了以下注释,该注释显示在方法的正上方:

但是,当返回时null,BizTalk 中会出现错误,并带有以下(粗略翻译的)消息:

System.ServiceModel.CommunicationException: The server did not produce an appropriate response ; this may be due to non-matching contracts ; a premature end of the session or an internal error.

是什么赋予了 ?

0 投票
1 回答
1241 浏览

biztalk - 如何在自定义 WCF LOB 适配器中检索具有适当编码的消息正文?

我正在尝试编写一个基本的单向自定义 WCF LOB 适配器以在 BizTalk 中使用。但是,目标系统不一定支持 Xml 消息。我了解流经自定义 WCF 适配器的消息被包装在 XML 信封中,并且消息正文可以通过以下四种方式之一进行编码:

  • xml
  • 细绳
  • BinHex
  • Base64

此设置由属性的配置控制,该Outbound WCF message body属性接受类似于以下 XML 片段的属性:

Execute在我的类中方法的实现中CustomAdapterOutboundHandler,如何检索已在发送端口配置上指定的编码?

0 投票
1 回答
169 浏览

biztalk - 是否可以在自定义 WCF LOB 适配器中实现流式处理?

WCF LOB 适配器 SDK 创建框架代码,用于开始实施自定义 LOB 适配器。作为此代码的一部分,实现了以下IOutboundHandler接口:

是否可以使用 WCF LOB 适配器 SDK 构建的适配器实现流式传输?据我所知,实现流式传输的内置 WCF 适配器都没有使用 IOutboundHandler 接口......

0 投票
1 回答
40 浏览

wcf-lob-adapter - 如何使用基于 LOB 适配器 SDK 的设计时接口

我正在尝试构建一个基于 Web 的 GUI 来使用基于LOB 适配器 SDK的自定义连接器。特别是,我想使用IMetadataResolverHandler接口浏览元数据。

我有两个问题:

第一个问题发生在尝试实例化自定义适配器时。我的计划是获取一个IConnectionFactory接口的实例,通过它我可以获得一个新的IConnection并连接到目标 LOB 系统。

由于Adapter基类中最有趣的方法受到保护,我似乎只能使用反射成功(请参阅下面的示例代码)。

第二个问题发生在尝试从目标系统浏览元数据时。IMetadataResolverHandler接口Browse上的方法需要一个我不知道如何获取的MetadataLookup对象的实例。

请看下面的示例代码:

0 投票
2 回答
853 浏览

biztalk - 有没有办法手动删除 WCF LOB 适配器 SDK

在安装 BizTalk 2013 Dev 版本时,我已将我的 PC 更新到 Windows 10。现在我更新到 BizTalk 2013 R2 但我无法安装 WCF LOB 适配器 SDK,因为它显示“已安装另一个版本”。我无法删除 WCF LOB Adapter SDK 2013,因为我在控制面板/删除程序中也看不到它。我也尝试运行 WCF LOB Adapter SDK 2013 msi,但出现同样的错误。msiexec /x也不起作用。

因此,不知何故,我需要在不使用 msiexec 或控制面板的情况下删除 WCF LOB Adapter SDK 2013 并安装 WCF LOB Adapter SDK 2013 R2,或者我需要让 Windows 知道已经安装的 WCF LOB Adapter SDK 2013 并将其从控制面板中删除。

0 投票
1 回答
137 浏览

c# - 使用我的自定义 WCF LOB 适配器

我的问题是:当我更改代码并构建新的 dll 并将其放入 GAC 时,为什么消费 wcf 适配器对话框没有更新?

详细信息:我正在为 Biztalk server 2013 r2 开发我的自定义 wcf lob 适配器。我已经实现了所需的接口IMetadataBrowseHandler,然后将其构建并放入 GAC。

在 Biztalk 项目中使用它时,我可以通过“添加生成的项目=>ConsumeAdapterService”看到我的结果。我更改了我的代码,因此我必须在树中看到新节点,但在重新启动 Visual Studio 之前我没有看到任何新项目。

这是对话框的图片:

在此处输入图像描述

0 投票
0 回答
214 浏览

installation - 为什么 BizTalk WCF Lob 适配器 SDK 未安装在 Windows 10 计算机上?

我正在我的 Windows 10 机器上安装 BizTalk 服务器。我安装了两个 Visual Studio 实例。一个是VS2015,另一个是VS2017。我可以成功安装 BizTalk server 2016 并且可以创建和使用它的一些组件。但是,现在我也想使用 WCF 适配器。为此,我尝试通过安装设置安装 Microsoft WCF Lob Adapter SDK。但它无法安装说“WCF Lob Adapter SDK 的不可升级版本已经存在。安装无法继续。通过添加/删除程序删除现有的 WCF Lob Adapter SDK 并尝试重新安装!”。

在此处输入图像描述

我尝试卸载所有已安装的适配器包并重新安装 WCF Lob 适配器 SDK。但是没有运气。

有人对此有任何想法吗?我是 BizTalk 的新手,正在努力学习管理。谁能帮帮我?

0 投票
0 回答
71 浏览

c# - BizTalk WCF LOB 适配器:我可以自定义方案名称吗

WCF Lob 适配器项目项创建此文件。我想将SCHEMEandSERVICENAMSPACE值保留在machine.configorBTSNTSvc64.exe.config

可能吗?如果不是,我怎么能保持它可定制的设置。