473,608 Members | 2,479 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Remoting and AppDomains

Hi All,

I've got a problem where my application loads an assembly in the running
AppDomain when it shouldn't.

Ok, I've got a RemotingHost application that configs the remoting stuff and
then...
asks the user for a list of .net DLLs.
the app then copies a these assemblies to a cache folder along with my
RemotingClient app. Once copies i config a AppDomain setup and create a new
AppDomain.
Once created, i loop through the user chosen assemblies and load into the
AppDomain. I then AppDomain.Execu teAssembly my RemotingClient.

The purpose is so that I can dynamically load and unload assemblies and
report on type information to my main app (in this case the RemotingHost).
Everything works fine in principal, however when I load the DLLs from my
cache folder the assembly is actually loaded in both AppDomains.

I know if i reference a type across AppDomain, it will cause the Framework
to load the assembly in the other AppDomain, but all i'm doing it is loading
it?

Any ideas? (please help:)

TIA
Sam Martin

(code sample below)

System.IO.Direc tory.CreateDire ctory(Applicati on.StartupPath+ "\\cache");

// copy my RemotingClient. exe to the cache

// Set up the AppDomainSetup
AppDomainSetup setup = new AppDomainSetup( );
setup.Applicati onBase = Application.Sta rtupPath+"\\cac he\\";
setup.Configura tionFile = "";

// Set up the Evidence
System.Security .Policy.Evidenc e baseEvidence =
AppDomain.Curre ntDomain.Eviden ce;
System.Security .Policy.Evidenc e evidence = new
System.Security .Policy.Evidenc e(baseEvidence) ;
// evidence.AddAss embly("(some assembly)");

// Create the AppDomain
AppDomain newDomain = AppDomain.Creat eDomain("temp", evidence, setup);

foreach(string an in this.listBoxAsm List.Items)
{

// copy the specified assembly to cache

string asmn = an.ToLower().Re place(".dll","" );

asmn = MyFuncToGetAsmD isplayName(an);
newDomain.Load( asmn);
}

newDomain.Execu teAssembly("Rem otingClient.exe );
AppDomain.Unloa d(newDomain);
Nov 16 '05 #1
5 7402
If you're loading the assemblies using AppDomain.Load( ), that function
returns an Assembly object to the AppDomain of the caller, which causes the
caller to load the assembly as well. Read the "remarks" section of the
following documentation:

http://msdn.microsoft.com/library/en...asp?frame=true

One way to force an assembly to be loaded into another AppDomain without it
being loaded into the current one is to use the AppDomain.DoCal lback()
method to invoke a delegate that will run in the AppDomain in which you want
the assembly loaded. For example,

class Class1
{
[STAThread]
static void Main(string[] args)
{
AppDomainSetup s = new AppDomainSetup( );
s.ApplicationBa se =
AppDomain.Curre ntDomain.SetupI nformation.Appl icationBase;
AppDomain d = AppDomain.Creat eDomain("TestDo main",
AppDomain.Curre ntDomain.Eviden ce, s);

d.DoCallBack(ne w CrossAppDomainD elegate(DomainC all));
// ...
}

public static void DomainCall()
{
AppDomain.Curre ntDomain.Load(" MyAssembly");
}
}

The main thing to make sure of is that your delegate does not reference an
instance method of a MarshalByRef object, or else the assembly will be
loaded in the domain in which that object resides.

Hope that helps -
Ken

"Sam Martin" <sa*********@ya hoo.co.uk> wrote in message
news:eq******** *****@TK2MSFTNG P09.phx.gbl...
Hi All,

I've got a problem where my application loads an assembly in the running
AppDomain when it shouldn't.

Ok, I've got a RemotingHost application that configs the remoting stuff and then...
asks the user for a list of .net DLLs.
the app then copies a these assemblies to a cache folder along with my
RemotingClient app. Once copies i config a AppDomain setup and create a new AppDomain.
Once created, i loop through the user chosen assemblies and load into the
AppDomain. I then AppDomain.Execu teAssembly my RemotingClient.

The purpose is so that I can dynamically load and unload assemblies and
report on type information to my main app (in this case the RemotingHost).
Everything works fine in principal, however when I load the DLLs from my
cache folder the assembly is actually loaded in both AppDomains.

I know if i reference a type across AppDomain, it will cause the Framework
to load the assembly in the other AppDomain, but all i'm doing it is loading it?

Any ideas? (please help:)

TIA
Sam Martin

(code sample below)

System.IO.Direc tory.CreateDire ctory(Applicati on.StartupPath+ "\\cache");

// copy my RemotingClient. exe to the cache

// Set up the AppDomainSetup
AppDomainSetup setup = new AppDomainSetup( );
setup.Applicati onBase = Application.Sta rtupPath+"\\cac he\\";
setup.Configura tionFile = "";

// Set up the Evidence
System.Security .Policy.Evidenc e baseEvidence =
AppDomain.Curre ntDomain.Eviden ce;
System.Security .Policy.Evidenc e evidence = new
System.Security .Policy.Evidenc e(baseEvidence) ;
// evidence.AddAss embly("(some assembly)");

// Create the AppDomain
AppDomain newDomain = AppDomain.Creat eDomain("temp", evidence, setup);

foreach(string an in this.listBoxAsm List.Items)
{

// copy the specified assembly to cache

string asmn = an.ToLower().Re place(".dll","" );

asmn = MyFuncToGetAsmD isplayName(an);
newDomain.Load( asmn);
}

newDomain.Execu teAssembly("Rem otingClient.exe );
AppDomain.Unloa d(newDomain);

Nov 16 '05 #2
it all becomes clear.

thanks mate
"Ken Kolda" <ke*******@elli emae-nospamplease.co m> wrote in message
news:%2******** ********@tk2msf tngp13.phx.gbl. ..
If you're loading the assemblies using AppDomain.Load( ), that function
returns an Assembly object to the AppDomain of the caller, which causes the caller to load the assembly as well. Read the "remarks" section of the
following documentation:

http://msdn.microsoft.com/library/en...asp?frame=true
One way to force an assembly to be loaded into another AppDomain without it being loaded into the current one is to use the AppDomain.DoCal lback()
method to invoke a delegate that will run in the AppDomain in which you want the assembly loaded. For example,

class Class1
{
[STAThread]
static void Main(string[] args)
{
AppDomainSetup s = new AppDomainSetup( );
s.ApplicationBa se =
AppDomain.Curre ntDomain.SetupI nformation.Appl icationBase;
AppDomain d = AppDomain.Creat eDomain("TestDo main",
AppDomain.Curre ntDomain.Eviden ce, s);

d.DoCallBack(ne w CrossAppDomainD elegate(DomainC all));
// ...
}

public static void DomainCall()
{
AppDomain.Curre ntDomain.Load(" MyAssembly");
}
}

The main thing to make sure of is that your delegate does not reference an
instance method of a MarshalByRef object, or else the assembly will be
loaded in the domain in which that object resides.

Hope that helps -
Ken

"Sam Martin" <sa*********@ya hoo.co.uk> wrote in message
news:eq******** *****@TK2MSFTNG P09.phx.gbl...
Hi All,

I've got a problem where my application loads an assembly in the running
AppDomain when it shouldn't.

Ok, I've got a RemotingHost application that configs the remoting stuff

and
then...
asks the user for a list of .net DLLs.
the app then copies a these assemblies to a cache folder along with my
RemotingClient app. Once copies i config a AppDomain setup and create a

new
AppDomain.
Once created, i loop through the user chosen assemblies and load into the AppDomain. I then AppDomain.Execu teAssembly my RemotingClient.

The purpose is so that I can dynamically load and unload assemblies and
report on type information to my main app (in this case the RemotingHost). Everything works fine in principal, however when I load the DLLs from my
cache folder the assembly is actually loaded in both AppDomains.

I know if i reference a type across AppDomain, it will cause the Framework to load the assembly in the other AppDomain, but all i'm doing it is

loading
it?

Any ideas? (please help:)

TIA
Sam Martin

(code sample below)

System.IO.Direc tory.CreateDire ctory(Applicati on.StartupPath+ "\\cache");

// copy my RemotingClient. exe to the cache

// Set up the AppDomainSetup
AppDomainSetup setup = new AppDomainSetup( );
setup.Applicati onBase = Application.Sta rtupPath+"\\cac he\\";
setup.Configura tionFile = "";

// Set up the Evidence
System.Security .Policy.Evidenc e baseEvidence =
AppDomain.Curre ntDomain.Eviden ce;
System.Security .Policy.Evidenc e evidence = new
System.Security .Policy.Evidenc e(baseEvidence) ;
// evidence.AddAss embly("(some assembly)");

// Create the AppDomain
AppDomain newDomain = AppDomain.Creat eDomain("temp", evidence, setup);
foreach(string an in this.listBoxAsm List.Items)
{

// copy the specified assembly to cache

string asmn = an.ToLower().Re place(".dll","" );

asmn = MyFuncToGetAsmD isplayName(an);
newDomain.Load( asmn);
}

newDomain.Execu teAssembly("Rem otingClient.exe );
AppDomain.Unloa d(newDomain);


Nov 16 '05 #3
ahh, one other thing. how would i specify which assembly to load from the
main appdomain
I could do something like, but even if libraryName is a static property of a
class in the main AppDomain, it's value would be null in the other AppDomain

public static void DomainCall()
{
AppDomain.Curre ntDomain.Load(l ibraryName);
}

you see what i mean, i need to say which assembly to load into the AppDomain
from the calling AppDomain without loading the spec'd assembly.

TIA

Sam Martin

"Ken Kolda" <ke*******@elli emae-nospamplease.co m> wrote in message
news:%2******** ********@tk2msf tngp13.phx.gbl. ..
If you're loading the assemblies using AppDomain.Load( ), that function
returns an Assembly object to the AppDomain of the caller, which causes the caller to load the assembly as well. Read the "remarks" section of the
following documentation:

http://msdn.microsoft.com/library/en...asp?frame=true
One way to force an assembly to be loaded into another AppDomain without it being loaded into the current one is to use the AppDomain.DoCal lback()
method to invoke a delegate that will run in the AppDomain in which you want the assembly loaded. For example,

class Class1
{
[STAThread]
static void Main(string[] args)
{
AppDomainSetup s = new AppDomainSetup( );
s.ApplicationBa se =
AppDomain.Curre ntDomain.SetupI nformation.Appl icationBase;
AppDomain d = AppDomain.Creat eDomain("TestDo main",
AppDomain.Curre ntDomain.Eviden ce, s);

d.DoCallBack(ne w CrossAppDomainD elegate(DomainC all));
// ...
}

public static void DomainCall()
{
AppDomain.Curre ntDomain.Load(" MyAssembly");
}
}

The main thing to make sure of is that your delegate does not reference an
instance method of a MarshalByRef object, or else the assembly will be
loaded in the domain in which that object resides.

Hope that helps -
Ken

"Sam Martin" <sa*********@ya hoo.co.uk> wrote in message
news:eq******** *****@TK2MSFTNG P09.phx.gbl...
Hi All,

I've got a problem where my application loads an assembly in the running
AppDomain when it shouldn't.

Ok, I've got a RemotingHost application that configs the remoting stuff

and
then...
asks the user for a list of .net DLLs.
the app then copies a these assemblies to a cache folder along with my
RemotingClient app. Once copies i config a AppDomain setup and create a

new
AppDomain.
Once created, i loop through the user chosen assemblies and load into the AppDomain. I then AppDomain.Execu teAssembly my RemotingClient.

The purpose is so that I can dynamically load and unload assemblies and
report on type information to my main app (in this case the RemotingHost). Everything works fine in principal, however when I load the DLLs from my
cache folder the assembly is actually loaded in both AppDomains.

I know if i reference a type across AppDomain, it will cause the Framework to load the assembly in the other AppDomain, but all i'm doing it is

loading
it?

Any ideas? (please help:)

TIA
Sam Martin

(code sample below)

System.IO.Direc tory.CreateDire ctory(Applicati on.StartupPath+ "\\cache");

// copy my RemotingClient. exe to the cache

// Set up the AppDomainSetup
AppDomainSetup setup = new AppDomainSetup( );
setup.Applicati onBase = Application.Sta rtupPath+"\\cac he\\";
setup.Configura tionFile = "";

// Set up the Evidence
System.Security .Policy.Evidenc e baseEvidence =
AppDomain.Curre ntDomain.Eviden ce;
System.Security .Policy.Evidenc e evidence = new
System.Security .Policy.Evidenc e(baseEvidence) ;
// evidence.AddAss embly("(some assembly)");

// Create the AppDomain
AppDomain newDomain = AppDomain.Creat eDomain("temp", evidence, setup);
foreach(string an in this.listBoxAsm List.Items)
{

// copy the specified assembly to cache

string asmn = an.ToLower().Re place(".dll","" );

asmn = MyFuncToGetAsmD isplayName(an);
newDomain.Load( asmn);
}

newDomain.Execu teAssembly("Rem otingClient.exe );
AppDomain.Unloa d(newDomain);


Nov 16 '05 #4
In this case, you probably want to do something a bit more sophisticated
using remoting. What I would do is create a class such as:

class AssemblyLoader : MarshalByRefObj ect
{
public void Load(string assemblyName)
{
AppDomain.Curre ntDomain.Load(a ssemblyName);
}
}

Then, from your main app domain, create an instance of this class in the new
app domain, e.g.

AssemblyLoader loader =
(AssemblyLoader ) newDomain.Creat eInstanceAndUnw rap("MyAssembly ",
"MyAssembly.Ass emblyLoader");
loader.Load("Pl uginAssembly");

The disadvantage of this technique is that your new AppDomain will have to
load the current assembly to get the definition of the AssemblyLoader class.

Hope that helps -
Ken
"Sam Martin" <sa*********@ya hoo.co.uk> wrote in message
news:%2******** *******@tk2msft ngp13.phx.gbl.. .
ahh, one other thing. how would i specify which assembly to load from the
main appdomain
I could do something like, but even if libraryName is a static property of a class in the main AppDomain, it's value would be null in the other AppDomain
public static void DomainCall()
{
AppDomain.Curre ntDomain.Load(l ibraryName);
}

you see what i mean, i need to say which assembly to load into the AppDomain from the calling AppDomain without loading the spec'd assembly.

TIA

Sam Martin

"Ken Kolda" <ke*******@elli emae-nospamplease.co m> wrote in message
news:%2******** ********@tk2msf tngp13.phx.gbl. ..
If you're loading the assemblies using AppDomain.Load( ), that function
returns an Assembly object to the AppDomain of the caller, which causes

the
caller to load the assembly as well. Read the "remarks" section of the
following documentation:

http://msdn.microsoft.com/library/en...asp?frame=true

One way to force an assembly to be loaded into another AppDomain without

it
being loaded into the current one is to use the AppDomain.DoCal lback()
method to invoke a delegate that will run in the AppDomain in which you

want
the assembly loaded. For example,

class Class1
{
[STAThread]
static void Main(string[] args)
{
AppDomainSetup s = new AppDomainSetup( );
s.ApplicationBa se =
AppDomain.Curre ntDomain.SetupI nformation.Appl icationBase;
AppDomain d = AppDomain.Creat eDomain("TestDo main",
AppDomain.Curre ntDomain.Eviden ce, s);

d.DoCallBack(ne w CrossAppDomainD elegate(DomainC all));
// ...
}

public static void DomainCall()
{
AppDomain.Curre ntDomain.Load(" MyAssembly");
}
}

The main thing to make sure of is that your delegate does not reference an
instance method of a MarshalByRef object, or else the assembly will be
loaded in the domain in which that object resides.

Hope that helps -
Ken

"Sam Martin" <sa*********@ya hoo.co.uk> wrote in message
news:eq******** *****@TK2MSFTNG P09.phx.gbl...
Hi All,

I've got a problem where my application loads an assembly in the running AppDomain when it shouldn't.

Ok, I've got a RemotingHost application that configs the remoting stuff
and
then...
asks the user for a list of .net DLLs.
the app then copies a these assemblies to a cache folder along with my
RemotingClient app. Once copies i config a AppDomain setup and create
a new
AppDomain.
Once created, i loop through the user chosen assemblies and load into

the AppDomain. I then AppDomain.Execu teAssembly my RemotingClient.

The purpose is so that I can dynamically load and unload assemblies
and report on type information to my main app (in this case the

RemotingHost). Everything works fine in principal, however when I load the DLLs from my cache folder the assembly is actually loaded in both AppDomains.

I know if i reference a type across AppDomain, it will cause the Framework to load the assembly in the other AppDomain, but all i'm doing it is

loading
it?

Any ideas? (please help:)

TIA
Sam Martin

(code sample below)

System.IO.Direc tory.CreateDire ctory(Applicati on.StartupPath+ "\\cache");
// copy my RemotingClient. exe to the cache

// Set up the AppDomainSetup
AppDomainSetup setup = new AppDomainSetup( );
setup.Applicati onBase = Application.Sta rtupPath+"\\cac he\\";
setup.Configura tionFile = "";

// Set up the Evidence
System.Security .Policy.Evidenc e baseEvidence =
AppDomain.Curre ntDomain.Eviden ce;
System.Security .Policy.Evidenc e evidence = new
System.Security .Policy.Evidenc e(baseEvidence) ;
// evidence.AddAss embly("(some assembly)");

// Create the AppDomain
AppDomain newDomain = AppDomain.Creat eDomain("temp", evidence, setup);
foreach(string an in this.listBoxAsm List.Items)
{

// copy the specified assembly to cache

string asmn = an.ToLower().Re place(".dll","" );

asmn = MyFuncToGetAsmD isplayName(an);
newDomain.Load( asmn);
}

newDomain.Execu teAssembly("Rem otingClient.exe );
AppDomain.Unloa d(newDomain);



Nov 16 '05 #5
yeah it does unfortunately.

almost had that working, but found the host (the assembly loader) kept being
loaded too - which i don't want really. otherwise i could have just loaded
everything together in a single appdomain using another appdomain to
effectively restart the app when i wanted to use a dif set of libraries.

shit, & all because you cannot unload an assembly from an appdomain.

thanks anyway

sam

"Ken Kolda" <ke*******@elli emae-nospamplease.co m> wrote in message
news:eh******** ******@TK2MSFTN GP11.phx.gbl...
In this case, you probably want to do something a bit more sophisticated
using remoting. What I would do is create a class such as:

class AssemblyLoader : MarshalByRefObj ect
{
public void Load(string assemblyName)
{
AppDomain.Curre ntDomain.Load(a ssemblyName);
}
}

Then, from your main app domain, create an instance of this class in the new app domain, e.g.

AssemblyLoader loader =
(AssemblyLoader ) newDomain.Creat eInstanceAndUnw rap("MyAssembly ",
"MyAssembly.Ass emblyLoader");
loader.Load("Pl uginAssembly");

The disadvantage of this technique is that your new AppDomain will have to
load the current assembly to get the definition of the AssemblyLoader class.
Hope that helps -
Ken
"Sam Martin" <sa*********@ya hoo.co.uk> wrote in message
news:%2******** *******@tk2msft ngp13.phx.gbl.. .
ahh, one other thing. how would i specify which assembly to load from the
main appdomain
I could do something like, but even if libraryName is a static property of
a
class in the main AppDomain, it's value would be null in the other AppDomain

public static void DomainCall()
{
AppDomain.Curre ntDomain.Load(l ibraryName);
}

you see what i mean, i need to say which assembly to load into the

AppDomain
from the calling AppDomain without loading the spec'd assembly.

TIA

Sam Martin

"Ken Kolda" <ke*******@elli emae-nospamplease.co m> wrote in message
news:%2******** ********@tk2msf tngp13.phx.gbl. ..
If you're loading the assemblies using AppDomain.Load( ), that function
returns an Assembly object to the AppDomain of the caller, which causes the
caller to load the assembly as well. Read the "remarks" section of the
following documentation:

http://msdn.microsoft.com/library/en...asp?frame=true
One way to force an assembly to be loaded into another AppDomain without
it
being loaded into the current one is to use the AppDomain.DoCal lback()
method to invoke a delegate that will run in the AppDomain in which
you want
the assembly loaded. For example,

class Class1
{
[STAThread]
static void Main(string[] args)
{
AppDomainSetup s = new AppDomainSetup( );
s.ApplicationBa se =
AppDomain.Curre ntDomain.SetupI nformation.Appl icationBase;
AppDomain d = AppDomain.Creat eDomain("TestDo main",
AppDomain.Curre ntDomain.Eviden ce, s);

d.DoCallBack(ne w CrossAppDomainD elegate(DomainC all));
// ...
}

public static void DomainCall()
{
AppDomain.Curre ntDomain.Load(" MyAssembly");
}
}

The main thing to make sure of is that your delegate does not
reference an instance method of a MarshalByRef object, or else the assembly will be
loaded in the domain in which that object resides.

Hope that helps -
Ken

"Sam Martin" <sa*********@ya hoo.co.uk> wrote in message
news:eq******** *****@TK2MSFTNG P09.phx.gbl...
> Hi All,
>
> I've got a problem where my application loads an assembly in the running > AppDomain when it shouldn't.
>
> Ok, I've got a RemotingHost application that configs the remoting stuff and
> then...
> asks the user for a list of .net DLLs.
> the app then copies a these assemblies to a cache folder along with
my > RemotingClient app. Once copies i config a AppDomain setup and
create a new
> AppDomain.
> Once created, i loop through the user chosen assemblies and load
into the
> AppDomain. I then AppDomain.Execu teAssembly my RemotingClient.
>
> The purpose is so that I can dynamically load and unload assemblies
and > report on type information to my main app (in this case the

RemotingHost).
> Everything works fine in principal, however when I load the DLLs
from my > cache folder the assembly is actually loaded in both AppDomains.
>
> I know if i reference a type across AppDomain, it will cause the

Framework
> to load the assembly in the other AppDomain, but all i'm doing it is
loading
> it?
>
> Any ideas? (please help:)
>
> TIA
> Sam Martin
>
> (code sample below)
>
> System.IO.Direc tory.CreateDire ctory(Applicati on.StartupPath+ "\\cache"); >
> // copy my RemotingClient. exe to the cache
>
> // Set up the AppDomainSetup
> AppDomainSetup setup = new AppDomainSetup( );
> setup.Applicati onBase = Application.Sta rtupPath+"\\cac he\\";
> setup.Configura tionFile = "";
>
> // Set up the Evidence
> System.Security .Policy.Evidenc e baseEvidence =
> AppDomain.Curre ntDomain.Eviden ce;
> System.Security .Policy.Evidenc e evidence = new
> System.Security .Policy.Evidenc e(baseEvidence) ;
> // evidence.AddAss embly("(some assembly)");
>
> // Create the AppDomain
> AppDomain newDomain = AppDomain.Creat eDomain("temp", evidence,

setup);
>
> foreach(string an in this.listBoxAsm List.Items)
> {
>
> // copy the specified assembly to cache
>
> string asmn = an.ToLower().Re place(".dll","" );
>
> asmn = MyFuncToGetAsmD isplayName(an);
> newDomain.Load( asmn);
> }
>
> newDomain.Execu teAssembly("Rem otingClient.exe );
> AppDomain.Unloa d(newDomain);
>
>



Nov 16 '05 #6

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

Similar topics

10
5555
by: Michael Culley | last post by:
In vb6 it was possible to create an exe as an activeX exe and communicate between 2 apps. Now we have remoting which requires opening a tcp port to listen on, which seems kinda crappy cause another app might be using the same port. Is there an alternative way of communicating between 2 exes on the same machine? Thanks, Michael Culley
4
2951
by: Mountain Bikn' Guy | last post by:
I need some advice on this. I am working on a fairly complex calculator app (C#) with lots of functions (and these functions in turn use math functions from an unmanaged C DLL). A calculation takes a lot of time (up to hours), and should run on a separate thread from the one that the GUI uses. The GUI also needs to display various properties for each function (such as parameters that can be set). It does this with property grid and other...
15
5742
by: Sharon | last post by:
I’m trying to build a generic Publisher-Subscriber that will work over the net, so I’m using the Remoting. I wish that the subscriber user will be notify about the messages sent by the remote publisher, so I used delegate that the user will be able to set on it his own function for that purpuse. The trouble is that this delegate must not be static because there may be many subscribers, and each subscriber may have different...
2
1150
by: Jody L. Whitlock | last post by:
Okay, I've banged my head against a wall for over a year now. Maybe I'm just a rock when it comes to this. I've got a new project, a Windows Service. The "application" itself is in a DLL that is referenced by the exe. I did this for ease of updating, just copy my new DLL(s) into an update directory and restart the service when convienant. when the service EXE starts, it checks for anything in my update dir, copies them over to the...
3
14464
by: breeto | last post by:
If you've configured .NET Remoting to use more than one channel of the same type, for example two TcpClientChannels with unique names, when you want to create a proxy to a remote object how do you specify which channel you want that proxy to use? Thanks in advance.
1
2000
by: mcoyote | last post by:
So, the situation is that we have a poorly-executed UserControl that relies on a number of singletons in its assembly that unfortunately, over time, began acquiring the state of the control. Therefore, among other problems, we now can't have more than one instance of this control in a given application. Obviously, refactoring to move the state in question back where it belongs is the most desirable choice, but we're also exploring other...
3
3749
by: | last post by:
If this is simple, forgive my ignorance, but I'm coming from the CompactFramework where we don't use AppDomains. I did a fair bit of archive searching and couldn't find an answer and I got no responsed in the remoting group after a week, so I'm throwing a little wider net this time. I have a desktop app (FFx 2.0) developed with Studio 05 that loads assemblies in a separate AppDomains from the primary UI. I'd like to be able to hook up...
1
1682
by: Dilip | last post by:
I have a peculiar problem that I am not sure how to solve. I have a C# application that has 2 appdomains. The default appdomain just exposes a remoting end point that external applications can call into if they want to re-start code executing in the other appdomain. The main thread of the other appdomain creates a named event and waits on it (while the actual code is executing in other threads). So when the remoting end point recieves...
0
1857
by: jeremyje | last post by:
I would like to create an application where I have many concurrent processes being managed by a monitoring process. Each process that is "managed" will be invoked from an assembly dll (think reflection). I want a way to invoke these processes in parallel utilizing multi-core processors but I'd like to have the protection that AppDomains provide. I was doing some research where I found that there is no true isolation between threads and...
0
8059
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, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
8495
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, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
8470
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 tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
8145
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
8330
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
6815
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
5475
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
4023
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
0
1328
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

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.