Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 433773
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 12, 20262026-05-12T20:12:27+00:00 2026-05-12T20:12:27+00:00

I have been asked to write an application that is going to act as

  • 0

I have been asked to write an application that is going to act as a controller for a number of other external applications. It will run as a scheduled task and its purpose will be to process any new files it finds in a certain location and call external handlers depending on the file type to process them.

The controller application will have to wait until the handler application has finished before calling the next and will also need to know whether or not it was successful.

There is an added complication in that some of the files may be software packages and its possible that a software packages purpose may be to update the controller application itself. For this reason whatever framework I use has to take this into account.

Basically Im just looking for some design inspiration here to try and figure out a robust method of decoupled communication between controller and handler.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-12T20:12:27+00:00Added an answer on May 12, 2026 at 8:12 pm

    I think you have two quite separate problems:

    1. Controller/Handler communication
    2. In-place software update of controller

    It would be helpful if you could describe in more detail what these handlers look like. Are they .NET assemblies that have classes implementing a handler interface? If its like that, then I’d almost suggest using MEF to locate and load the handlers and execute them. MEF might make the location and loading of these handlers alot easier.

    Self-updating applications are always somewhat tricky. One way that I’ve solved this problem is to have a two-part application. The first part is a small bootstrapper application that is just knows how to startup up the controller. Essentially, it’s the bootstrapper’s job to locate the controller application and launch it. The way I’ve done this is to have a directory that contains one subdirectory for each new version of the application that I’ve deployed. The bootstrapper simply picks the highest version and launches the controller application it finds in that directory.

    Sample controller directory structure:

    \Programs
        \Controller
            bootstrapper.exe
            \v1.0
                controller.exe
            \v1.1  <-- Current version
                controller.exe
    

    When an update is applied, all that happens is a new “version” directory is created in the controller directory and the update returns a code to the controller specifying that a restart is required. Once the controller has completed it’s work, it exits. Since the whole process was started by the bootstrapper (and the bootstrapper blocks when it launches the controller), the bootstrapper regains control when the controller launches. The bootstrapper simply executes it’s startup process again, finds the new controller version, and launches it.

    The one catch here is that it’s not easy to update the bootstrapper, but typically this won’t be something you update very often as it contains very little code.

    Hope that helps or sparks some ideas.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have been asked to look into writing an application that will be a
I have been asked to develop some usercontrols in ASP.NET that will at a
I have been asked to lend a hand on a hobby project that a
I've been asked to write a web application in PHP to handle customers, sales,
I have been asked to standardize the screen saver and desktop background used by
I have been asked to audit any/all changes in a MySQL table. Does anyone
I have been asked to provide information on available techniques for assessing our current,
I have been asked to setup a course leaflet system for a college. For
I have been asked to find training resources to bring engineers up to speed
We have been asked to look into a fully open source solution for a

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.