Skip to content
Get a Demo

One of the most often-asked questions we receive is “I want to add my custom DLLs into a separate folder instead of the instance folders root; how do I do that?” A DLL is a method to encapsulate logic for re-use. In many cases, you may have existing logic in a DLL or rather than having large amounts of code in a Business Process Step, you may elect to host your code in a DLL. In this blog post, I’m going to address that question in detail. For purposes of this post, we’ll assume we are working with a 64 bit instance named DEFAULT. To understand where to make the necessary changes, you have to first understand how the various Neuron ESB EXE’s are configured.

The main reason you would want to host your DLLs in a custom folder is to make deployments easier. Otherwise, you need to host your DLLs in the instance root (along with all of the DLLs Neuron ESB requires) or the Global Assembly Cache (GAC). For the record, our recommended guidance is to avoid using the GAC!

Under the instance root, you will find 6 configuration files:

  • esbhost.exe.config: App Config for Workflow hosting environment
  • esbService.exe.config: App Config for the core Neuron ESB service
  • exportConfig.exe.config: App Config for Neuron ESB’s solution export feature
  • importConfig.exe.config: App Config for Neuron ESB’s solution import feature
  • NeuronExplorer.exe.config: App Config for the Neuron ESB Explorer Application
  • NeuronTestClient.exe.config: App Config for the Neuron ESB Test Client Application

You may be wondering “Why so many configuration files?” Neuron ESB is more than just the core service. The suite is a confederation of several applications. The two we work with most directly, the Neuron ESB Explorer and Test Client are themselves .NET Applications. Consequently, they have their own App Config files. Configuration files in .NET, whether they are Web Config files for ASP applications or App Config files for Console, Windows Forms, Class Library, WPF App, etc determine certain behaviors and characteristics for the given .NET application. The Neuron ESB EXE’s are no different.

Assuming a standard/default installation, the configuration files enumerated above will be found in the following directory:

C:Program FilesNeudesicNeuron ESB v3DEFAULT

figure1

I can point directly to and reference my DLLs in a business process, why do I need to modify a configuration file?

While it is true that in the Business Process Designer in the Neuron ESB Explorer you can point to a DLL that resides anywhere on your machine or the network, that doesn’t mean the Neuron ESB service will automatically know where to find your DLL. The following graphic illustrates how to reference a DLL in the Business Process Designer:

figure3

When it comes to interactively testing your process, your DLL will be found. This behavior however is different when the Neuron ESB Service or a client invokes that same business process. Essentially, the difference is between design time and run time behavior. For the run time to work correctly, the configurations must contain the necessary data for your solution to work correctly.

Next, we’ll open the esbService.exe.config file to show where to make the necessary modifications to make Neuron ESB aware of your custom folder for your custom DLLs. The following graphic illustrates the item we need to modify: the privatePath value for the probing node.

figure2

By default, there are two values:

  • Connectors: The connectors folder under the instance root. This folder hosts all of the Connector DLLs
  • Pipelines: This folder hosts the DLLs for your custom business process steps

Every other DLL Neuron ESB requires is hosted in the instance’s root folder.

Specifying a Custom Folder for your Custom DLLs

Let’s assume you wish to create a folder named CustomLibraries under the instance root and that is the place you wish to host your custom DLLs:

figure4

For the run time to work correctly, at a minimum, you need to modify the esbService.exe.config file as follows:

figure5

Is your work finished? No!

Most likely, you’ll want to use Test Clients to test your solution. Therefore, you also need to also modify the neuronTestClient.exe.config.

You will also need to modify the neuronExplorer.exe.config if you have business processes calling other business processes via the Execute Process Step.

Recommended Guidance

For the privatePath setting, keep all 3 configurations in sync.

What if I’m using the Client API?

The guidance is the same. Remember the context your solutions runs. If you connect to Neuron ESB via a Client Connector, your solution runs in the context of the Neuron ESB Service on the server. On the other hand, if you have embedded the Neuron ESB Client API into your application, then your solution will run in the context of the machine that is hosting your application. The Neuron ESB Test Client is that kind of application. That’s why it has its own App Config file. In Client API cases, you also need to distribute your custom DLLs as well as the core Neuron DLLs.

[addtoany]

About the Author

Author's Name
Marty Wasznicky

President/CTO

Marty has almost 30 years of experience in the software development industry. He joined Peregrine Connect after six years as a Regional Program Manager in the Connected Systems Division at Microsoft. His responsibilities there included building out Microsoft’s BizTalk Server product integration business, managing a team of SOA/ESB/BPM field specialists and building strategic partner alliances. Marty created the Microsoft Virtual Technical Specialist program and owned the development of Microsoft’s Enterprise Service Bus Toolkit.

Read more about Peregrine Connect

articles
  • Rabbit MQ Topics

    Introduction Due to the open-source nature of RabbitMQ and constant updates, it is...

  • Port Sharing

    One of Neuron ESB’s scalability features is the ability to install multiple...

See All
whitepapers
  • The Integration Journey to...

    The Integration Journey to Digital Transformation with Peregrine Connect

  • Saving Time and Money by...

    Neuron ESB Application Integration and Web Service Platform: A Real-World Example...

See All
casestudies
  • Elektro Gorenjska

    Peregrine Connect Eliminates Over 30% of Point-to-Point Integrations and reduces...

  • D&H Distributing

    Modernizing operations integration to increase volume transactions by 2X

See All
video
  • video-icons-wrapper

    Decision Test Data Mapping

    - Use decisions to drive the execution of...

  • video-icons-wrapper

    Map Testing

    Learn how to utilize FlightPath's testing functions...

See All

两个鬼故事弘字的公司名字怎么起给宝宝起名姓氏杨严厉的反义词公司名称测起名汽车配件超市情牵一线征婚交友中心陀地驱魔人2日本道二区高清视频集团公司起什么名字好听珠宝店起名字大全防水公司起名曾国藩起名excel分页贴吧怎么发帖美甲美睫美容店起名字腰果的功效源远流长的意思饭店起名带九字周易取名起名大全测分红酒类公司起名给男宝宝起个好名字姓秦的比尔盖茨简介丁大算盘巴扎黑起名用8画的字的科技之全球垄断礼盒起名女孩起名字用哪个yu字好曾志伟电影全集恋爱动漫少年生前被连续抽血16次?多部门介入两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”淀粉肠小王子日销售额涨超10倍高中生被打伤下体休学 邯郸通报单亲妈妈陷入热恋 14岁儿子报警何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言张家界的山上“长”满了韩国人?男孩8年未见母亲被告知被遗忘中国拥有亿元资产的家庭达13.3万户19岁小伙救下5人后溺亡 多方发声315晚会后胖东来又人满为患了张立群任西安交通大学校长“重生之我在北大当嫡校长”男子被猫抓伤后确诊“猫抓病”测试车高速逃费 小米:已补缴周杰伦一审败诉网易网友洛杉矶偶遇贾玲今日春分倪萍分享减重40斤方法七年后宇文玥被薅头发捞上岸许家印被限制高消费萧美琴窜访捷克 外交部回应联合利华开始重组专访95后高颜值猪保姆胖东来员工每周单休无小长假男子被流浪猫绊倒 投喂者赔24万小米汽车超级工厂正式揭幕黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发当地回应沈阳致3死车祸车主疑毒驾恒大被罚41.75亿到底怎么缴妈妈回应孩子在校撞护栏坠楼外国人感慨凌晨的中国很安全杨倩无缘巴黎奥运校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变王树国卸任西安交大校长 师生送别手机成瘾是影响睡眠质量重要因素国产伟哥去年销售近13亿阿根廷将发行1万与2万面值的纸币兔狲“狲大娘”因病死亡遭遇山火的松茸之乡“开封王婆”爆火:促成四五十对奥巴马现身唐宁街 黑色着装引猜测考生莫言也上北大硕士复试名单了德国打算提及普京时仅用姓名天水麻辣烫把捣辣椒大爷累坏了

两个鬼故事 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化