Giter VIP home page Giter VIP logo

biztalk180's Introduction

BizTalk 180

A simpler and better 360, re-imagined as a small Windows Service.

Boilerplate windows service based on https://github.com/HarpyWar/windows-service-template, which includes:

  • The ability to run your program in both console or service mode
  • Self installer/uninstaller using command line args /install and /uninstall (shorten /i and /u)
  • Formo for easy reading App.settings properties
  • NLog for logging

Developer notes

Service.cs is the windows service (ServiceBase) entry point and hooks usual events such as Start, Stop and Shutdown.

BizTalkMonitorService.cs runs on a separate thread, and is responsible for monitoring BizTalk Server things.

In the Installer.cs you can handle Before and After installation events.

In the AppSettings.cs you can define own properties that should conform to properties in App.config of section appSettings.

Define Logger variable in each class where you need logging. It's needed to keep correct caller class name in each log line:

private static readonly Logger Logger = LogManager.GetCurrentClassLogger();

Then use Logger.Debug(), Logger.Info(), Logger.Error(), etc.

I added OutputDebugString as a log output so we can use DebugView (available in C:\Tools).

Installation

Administrator privileges are required to install/uninstall a service. UAC execution level of the application is defined in app.manifest. Switch comment block there if you need to disable required administrator rights.

<!--<requestedExecutionLevel level="asInvoker" uiAccess="false" />-->
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

By default a service will be installed under account LocalSystem. You can change it in Installer.cs (serviceProcessInstaller1.Account property from a designer or in code).

Before install/uninstall you can change DisplayName, ServiceName and Description in Installer.cs.

The ServiceName cannot be null or have zero length. Its maximum size is 256 characters. It also cannot contain forward or backward slashes, '/' or '', or characters from the ASCII character set with value less than decimal value 32.

biztalk180's People

Contributors

bm4cs avatar

Stargazers

Robert M avatar

Watchers

 avatar

biztalk180's Issues

PerfCounter monitoring feature

The ability to monitor a selection of perfcounters that are interesting, and if particular thresholds are exceeded, result in a notification, log and/or remediation event.

Some examples of useful perfcounters:

Add notifications feature

Add the ability to plug-in a notification output such as email.

Remediation events should be summarised (i.e. don't send 100 separate notifications, just one that describes 100 things were remediation).

This general purpose mechanism could later be used for other interesting purposes, such as subscribing to all remediation events and pushing them into data store for future reporting and analytics.

Add maintenance mode feature

The ability to somehow specify a temporary "one off" future maintenance time window (e.g. tonight from 8pm for 3 hours), so a BizTalker doesn't have to worry about being involved.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.