473,396 Members | 1,942 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

Component Framework Help

I need to develop a plugin based application framework.
The framework or host app needs to handle all the "common"
or "underlying" functionality including connecting and
updating a remote database, connecting to the internet,
passing soap messages etc.
The user interface will be made up of plugins that the
user can install or uninstall. These gui plugins also
need to communicate (calling methods, raising events,
etc.) with eachother and be able to pass data to
eachother. The framework should also allow for the
creation and installation of custom plugins which will
also be able to communicate with the framwork / host app
and the other plugins aswell.

I'm really not sure where to start or how to create
a "plugin" architecture. I think I need to use reflection
or extensibility to complete this task. I would want the
entire framework and the plugin components to be
customizable ( I envisioned using xml files and parameters
with a wizard type interface to allow users to
customize). In addition the plugins and the framework
would need to expose their interfaces (i think) so that
other developers can create additional plugins and also to
use my plugins in their applications by interacting with
the exposed methods, events, properties.

Best Regards,
Michael Crawford.
Jul 21 '05 #1
1 1343
Hello Michael,

Thanks for your post. As I understand, you want to implement a plugin-based
application so that you main application need to dynamically
load/call/unload plugins. Please correct me if there is any
misunderstanding. I now share the following information with you:

1. I suggest that you can implement plugins in other assembly, create an
AppDomain to load a required assembly (plugin), and unload the AppDomain
when you want to release a plug.

Please note that CLR does not provide a way to unload an assembly. The only
mechanism to remove the assembly is to unload the application domain in
which the assembly is loaded, that's the reason why we should create a new
AppDomain for a plugin. I believe the Application Domain FAQ is very
helpful:

http://www.gotdotnet.com/team/clr/AppdomainFAQ.aspx

2. In addition, I recommend you the following sample which demonstrates a
plug-in / plug-out component model.
LiveCode.NET
http://www.codeproject.com/csharp/livecodedotnet.asp

Hope this helps.

Regards,

HuangTM
Microsoft Online Partner Support
MCSE/MCSD

Get Secure! -- www.microsoft.com/security
This posting is provided "as is" with no warranties and confers no rights.

Jul 21 '05 #2

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
by: Havic Ploccin | last post by:
First question, is this possible? If so, can somebody please give me some tips on where I can get the CAB files etc? Second question, I would like to prevent downloading some other ActiveX...
2
by: brazilnut52 | last post by:
I am going to outline the steps I go through to produce the problem. Hopefully this will help you understand the problem better I have created a simple COM DLL in .NET by using the COM class...
5
by: Stan | last post by:
Here is my scenario: Web server ------------ Framework 1.1 Application proxy for the serviced component Component server ------------------- Framework 1.0
3
by: hendrik | last post by:
Hi, If I buy a component from 3rd party to be used in ASP.Net based on the Framework 1.1, then when I upgraded my IIS with .Net Framework 2.0, would the component still can be used? The...
4
by: Ellis Yu | last post by:
Hi All, I'm not so clear between component and class. After reading from help, component can also be said a class but implement icomponent interface. But what's scenario I should use component...
1
by: Rob Griffiths | last post by:
Can anyone explain to me the difference between an element type and a component type? In the java literature, arrays are said to have component types, whereas collections from the Collections...
0
by: Gurbe | last post by:
I want to encrypt/decrypt e-mail with signing in a .NET(framework 1.1) COM+ component (C#) implemented as a a-synchronous onsave event sink on Exchange server 2000. The component is active in the...
1
by: Jan Svec | last post by:
Hi all, some time ago I've seen an interesting component framework for Python but I don't remember the name. I remember only one example. There were two components: Wheel and Car, Wheel were then...
7
by: Joe | last post by:
Is it possible to have a component which is global to the entire application? I need to have a single component act sort of like a server which components in any of the forms can access. For...
6
by: =?Utf-8?B?UmFzaGVlZA==?= | last post by:
Hi, We have an ASP.NET 1.1 application which uses .NET framework 1.1. The application is hosted in IIS 5.0 win 2000. We want to write a .NET 2.0 component (which leverages .NET 2.0 Framework,...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.