473,326 Members | 2,023 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,326 software developers and data experts.

Interprocess data exchange

What is the preferred way to exchange data between processes?
Example:
I have 2 applications (C#)
1) WinForms (A)
2) Command Line (B)
Both od them use DataLayer (class library) C

A calls to run B (via exec)
B loads data into C
A reads data from C

How to tell C to save data and serve both of applications (A+B)
Right now A told than the class in C empty from the data....


Thank you\

Nov 15 '05 #1
11 2197
Hi Tamir,

The magic word would be remoting.

--
Miha Markic - RightHand .NET consulting & development
miha at rthand com

"Tamir Khason" <ta**********@tcon-NOSPAM.co.il> wrote in message
news:%2******************@TK2MSFTNGP09.phx.gbl...
What is the preferred way to exchange data between processes?
Example:
I have 2 applications (C#)
1) WinForms (A)
2) Command Line (B)
Both od them use DataLayer (class library) C

A calls to run B (via exec)
B loads data into C
A reads data from C

How to tell C to save data and serve both of applications (A+B)
Right now A told than the class in C empty from the data....


Thank you\

Nov 15 '05 #2
I do not need remoting
I have both of them on the same computer...
Are there other ways to bound into process and retrive the information in
runtime?

"Miha Markic" <miha at rthand com> wrote in message
news:%2****************@TK2MSFTNGP12.phx.gbl...
Hi Tamir,

The magic word would be remoting.

--
Miha Markic - RightHand .NET consulting & development
miha at rthand com

"Tamir Khason" <ta**********@tcon-NOSPAM.co.il> wrote in message
news:%2******************@TK2MSFTNGP09.phx.gbl...
What is the preferred way to exchange data between processes?
Example:
I have 2 applications (C#)
1) WinForms (A)
2) Command Line (B)
Both od them use DataLayer (class library) C

A calls to run B (via exec)
B loads data into C
A reads data from C

How to tell C to save data and serve both of applications (A+B)
Right now A told than the class in C empty from the data....


Thank you\


Nov 15 '05 #3
No, remoting is pretty much all .net offers in this case.
Mind though, that it is designed for interprocess and not just intercomputer
communicaton.
Read the .net help files to find more.

--
Miha Markic - RightHand .NET consulting & development
miha at rthand com

"Tamir Khason" <ta**********@tcon-NOSPAM.co.il> wrote in message
news:%2****************@TK2MSFTNGP12.phx.gbl...
I do not need remoting
I have both of them on the same computer...
Are there other ways to bound into process and retrive the information in
runtime?

"Miha Markic" <miha at rthand com> wrote in message
news:%2****************@TK2MSFTNGP12.phx.gbl...
Hi Tamir,

The magic word would be remoting.

--
Miha Markic - RightHand .NET consulting & development
miha at rthand com

"Tamir Khason" <ta**********@tcon-NOSPAM.co.il> wrote in message
news:%2******************@TK2MSFTNGP09.phx.gbl...
What is the preferred way to exchange data between processes?
Example:
I have 2 applications (C#)
1) WinForms (A)
2) Command Line (B)
Both od them use DataLayer (class library) C

A calls to run B (via exec)
B loads data into C
A reads data from C

How to tell C to save data and serve both of applications (A+B)
Right now A told than the class in C empty from the data....


Thank you\



Nov 15 '05 #4
Every program runs in process boundries. Remoting is a way to remote objects
and member calls across those process boundries. It doesn't matter if the
processes are physically on the same or different computers.

Even inteprocess calls in COM follow the same marshalling principals that
remoting follows. The difference is in the implementation. Remoting works
with TCP sockets (by default), and interprocess COM calls on the same
computer work via wndproc messages on hidden windows. Interprocess COM calls
on different computers uses RPC library calls on sockets (by default).

-Rob Teixeira [MVP]

"Tamir Khason" <ta**********@tcon-NOSPAM.co.il> wrote in message
news:%2****************@TK2MSFTNGP12.phx.gbl...
I do not need remoting
I have both of them on the same computer...
Are there other ways to bound into process and retrive the information in
runtime?

"Miha Markic" <miha at rthand com> wrote in message
news:%2****************@TK2MSFTNGP12.phx.gbl...
Hi Tamir,

The magic word would be remoting.

--
Miha Markic - RightHand .NET consulting & development
miha at rthand com

"Tamir Khason" <ta**********@tcon-NOSPAM.co.il> wrote in message
news:%2******************@TK2MSFTNGP09.phx.gbl...
What is the preferred way to exchange data between processes?
Example:
I have 2 applications (C#)
1) WinForms (A)
2) Command Line (B)
Both od them use DataLayer (class library) C

A calls to run B (via exec)
B loads data into C
A reads data from C

How to tell C to save data and serve both of applications (A+B)
Right now A told than the class in C empty from the data....


Thank you\



Nov 15 '05 #5
You need remoting or some other IPC construct (i.e. Named Pipes, Mem Mapped
file, etc.) to talk between processes - even on the same box.

--
William Stacey, MVP

"Tamir Khason" <ta**********@tcon-NOSPAM.co.il> wrote in message
news:#j**************@TK2MSFTNGP12.phx.gbl...
I do not need remoting
I have both of them on the same computer...
Are there other ways to bound into process and retrive the information in
runtime?

"Miha Markic" <miha at rthand com> wrote in message
news:%2****************@TK2MSFTNGP12.phx.gbl...
Hi Tamir,

The magic word would be remoting.

--
Miha Markic - RightHand .NET consulting & development
miha at rthand com

"Tamir Khason" <ta**********@tcon-NOSPAM.co.il> wrote in message
news:%2******************@TK2MSFTNGP09.phx.gbl...
What is the preferred way to exchange data between processes?
Example:
I have 2 applications (C#)
1) WinForms (A)
2) Command Line (B)
Both od them use DataLayer (class library) C

A calls to run B (via exec)
B loads data into C
A reads data from C

How to tell C to save data and serve both of applications (A+B)
Right now A told than the class in C empty from the data....


Thank you\



Nov 15 '05 #6
Could you run IIS and use web services?

"Tamir Khason" <ta**********@tcon-NOSPAM.co.il> wrote in message
news:%2****************@TK2MSFTNGP12.phx.gbl...
I do not need remoting
I have both of them on the same computer...
Are there other ways to bound into process and retrive the information in
runtime?

"Miha Markic" <miha at rthand com> wrote in message
news:%2****************@TK2MSFTNGP12.phx.gbl...
Hi Tamir,

The magic word would be remoting.

--
Miha Markic - RightHand .NET consulting & development
miha at rthand com

"Tamir Khason" <ta**********@tcon-NOSPAM.co.il> wrote in message
news:%2******************@TK2MSFTNGP09.phx.gbl...
What is the preferred way to exchange data between processes?
Example:
I have 2 applications (C#)
1) WinForms (A)
2) Command Line (B)
Both od them use DataLayer (class library) C

A calls to run B (via exec)
B loads data into C
A reads data from C

How to tell C to save data and serve both of applications (A+B)
Right now A told than the class in C empty from the data....


Thank you\



Nov 15 '05 #7
Can you provide examples of using remoting with custom channels.
I tried to find it, but with no success

"William Stacey" <st***********@mvps.org> wrote in message
news:u3****************@tk2msftngp13.phx.gbl...
You need remoting or some other IPC construct (i.e. Named Pipes, Mem Mapped file, etc.) to talk between processes - even on the same box.

--
William Stacey, MVP

"Tamir Khason" <ta**********@tcon-NOSPAM.co.il> wrote in message
news:#j**************@TK2MSFTNGP12.phx.gbl...
I do not need remoting
I have both of them on the same computer...
Are there other ways to bound into process and retrive the information in runtime?

"Miha Markic" <miha at rthand com> wrote in message
news:%2****************@TK2MSFTNGP12.phx.gbl...
Hi Tamir,

The magic word would be remoting.

--
Miha Markic - RightHand .NET consulting & development
miha at rthand com

"Tamir Khason" <ta**********@tcon-NOSPAM.co.il> wrote in message
news:%2******************@TK2MSFTNGP09.phx.gbl...
> What is the preferred way to exchange data between processes?
> Example:
> I have 2 applications (C#)
> 1) WinForms (A)
> 2) Command Line (B)
> Both od them use DataLayer (class library) C
>
> A calls to run B (via exec)
> B loads data into C
> A reads data from C
>
> How to tell C to save data and serve both of applications (A+B)
> Right now A told than the class in C empty from the data....
>
>
>
>
> Thank you\
>
>
>



Nov 15 '05 #8
From the other point of view all .NET proceses run in the same memory space.
Why not to use it?
"Rob Teixeira [MVP]" <RobTeixeira@@msn.com> wrote in message
news:ut*************@TK2MSFTNGP11.phx.gbl...
Every program runs in process boundries. Remoting is a way to remote objects and member calls across those process boundries. It doesn't matter if the
processes are physically on the same or different computers.

Even inteprocess calls in COM follow the same marshalling principals that
remoting follows. The difference is in the implementation. Remoting works
with TCP sockets (by default), and interprocess COM calls on the same
computer work via wndproc messages on hidden windows. Interprocess COM calls on different computers uses RPC library calls on sockets (by default).

-Rob Teixeira [MVP]

"Tamir Khason" <ta**********@tcon-NOSPAM.co.il> wrote in message
news:%2****************@TK2MSFTNGP12.phx.gbl...
I do not need remoting
I have both of them on the same computer...
Are there other ways to bound into process and retrive the information in runtime?

"Miha Markic" <miha at rthand com> wrote in message
news:%2****************@TK2MSFTNGP12.phx.gbl...
Hi Tamir,

The magic word would be remoting.

--
Miha Markic - RightHand .NET consulting & development
miha at rthand com

"Tamir Khason" <ta**********@tcon-NOSPAM.co.il> wrote in message
news:%2******************@TK2MSFTNGP09.phx.gbl...
> What is the preferred way to exchange data between processes?
> Example:
> I have 2 applications (C#)
> 1) WinForms (A)
> 2) Command Line (B)
> Both od them use DataLayer (class library) C
>
> A calls to run B (via exec)
> B loads data into C
> A reads data from C
>
> How to tell C to save data and serve both of applications (A+B)
> Right now A told than the class in C empty from the data....
>
>
>
>
> Thank you\
>
>
>



Nov 15 '05 #9
I guess you are a little confused.
There is no such thing as a .NET process, on windows you only have Win32
processes each of them running in their own process space. A win32 process
can have one or more application domains created/managed by the CLR which is
loaded in that process whenever the first .NET application gets loaded.
Applications loaded into different domains within the same process can use
remoting to cross the Application domain boundaries, so we can say that (one
of) the .NET way(s) to call into another domain is "remoting", irrespective
the location of the other application domain:
- in the same process,
- another process on the same
- another process on a remote machine

Willy.

"Tamir Khason" <ta**********@tcon-NOSPAM.co.il> wrote in message
news:Op**************@TK2MSFTNGP11.phx.gbl...
From the other point of view all .NET proceses run in the same memory space. Why not to use it?
"Rob Teixeira [MVP]" <RobTeixeira@@msn.com> wrote in message
news:ut*************@TK2MSFTNGP11.phx.gbl...
Every program runs in process boundries. Remoting is a way to remote

objects
and member calls across those process boundries. It doesn't matter if the
processes are physically on the same or different computers.

Even inteprocess calls in COM follow the same marshalling principals that remoting follows. The difference is in the implementation. Remoting works with TCP sockets (by default), and interprocess COM calls on the same
computer work via wndproc messages on hidden windows. Interprocess COM

calls
on different computers uses RPC library calls on sockets (by default).

-Rob Teixeira [MVP]

"Tamir Khason" <ta**********@tcon-NOSPAM.co.il> wrote in message
news:%2****************@TK2MSFTNGP12.phx.gbl...
I do not need remoting
I have both of them on the same computer...
Are there other ways to bound into process and retrive the information

in runtime?

"Miha Markic" <miha at rthand com> wrote in message
news:%2****************@TK2MSFTNGP12.phx.gbl...
> Hi Tamir,
>
> The magic word would be remoting.
>
> --
> Miha Markic - RightHand .NET consulting & development
> miha at rthand com
>
> "Tamir Khason" <ta**********@tcon-NOSPAM.co.il> wrote in message
> news:%2******************@TK2MSFTNGP09.phx.gbl...
> > What is the preferred way to exchange data between processes?
> > Example:
> > I have 2 applications (C#)
> > 1) WinForms (A)
> > 2) Command Line (B)
> > Both od them use DataLayer (class library) C
> >
> > A calls to run B (via exec)
> > B loads data into C
> > A reads data from C
> >
> > How to tell C to save data and serve both of applications (A+B)
> > Right now A told than the class in C empty from the data....
> >
> >
> >
> >
> > Thank you\
> >
> >
> >
>
>



Nov 15 '05 #10
What kind of custom channels are you thinking about? You can write your
own, however you probably would be better off with a book like Advanced .Net
Remoting if you want to go down that route. hth

--
William Stacey, MVP

"Tamir Khason" <ta**********@tcon-NOSPAM.co.il> wrote in message
news:er**************@TK2MSFTNGP12.phx.gbl...
Can you provide examples of using remoting with custom channels.
I tried to find it, but with no success

"William Stacey" <st***********@mvps.org> wrote in message
news:u3****************@tk2msftngp13.phx.gbl...
You need remoting or some other IPC construct (i.e. Named Pipes, Mem

Mapped
file, etc.) to talk between processes - even on the same box.

--
William Stacey, MVP

"Tamir Khason" <ta**********@tcon-NOSPAM.co.il> wrote in message
news:#j**************@TK2MSFTNGP12.phx.gbl...
I do not need remoting
I have both of them on the same computer...
Are there other ways to bound into process and retrive the information in runtime?

"Miha Markic" <miha at rthand com> wrote in message
news:%2****************@TK2MSFTNGP12.phx.gbl...
> Hi Tamir,
>
> The magic word would be remoting.
>
> --
> Miha Markic - RightHand .NET consulting & development
> miha at rthand com
>
> "Tamir Khason" <ta**********@tcon-NOSPAM.co.il> wrote in message
> news:%2******************@TK2MSFTNGP09.phx.gbl...
> > What is the preferred way to exchange data between processes?
> > Example:
> > I have 2 applications (C#)
> > 1) WinForms (A)
> > 2) Command Line (B)
> > Both od them use DataLayer (class library) C
> >
> > A calls to run B (via exec)
> > B loads data into C
> > A reads data from C
> >
> > How to tell C to save data and serve both of applications (A+B)
> > Right now A told than the class in C empty from the data....
> >
> >
> >
> >
> > Thank you\
> >
> >
> >
>
>



Nov 15 '05 #11

Hi Tamir,

I think there maybe someting wrong of your understanding of .Net
applications. In .Net an applicaiton runs in an AppDomain. While several
appdomain consist of a process. So 2 .Net application can be run in the
same process but 2 different appdomain, or 2 processes and 2 different
processes(Either the same machine or different machine).
So .Net applications did not run in the same memory space, and the
communication is a problem. In .Net, the recommanded communication
technical is Remoting.

Best regards,
Jeffrey Tan
Microsoft Online Partner Support
Get Secure! - www.microsoft.com/security
This posting is provided "as is" with no warranties and confers no rights.

Nov 15 '05 #12

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

Similar topics

7
by: Daniel | last post by:
I search for a good way to communicate between processes. I have a main application(might be more instances) and an tool that should exchange information such as which user is logged in into the...
2
by: M Rao | last post by:
I have xml data coming in as a stream from a web service running against exchange server.The attributes for the elements dtstart and dtend, b:dt="dateTime.tz"...
10
by: jeff | last post by:
I've been doing some minor stuff with an Access Database that creates an email, or a calendar item etc. for a couple of years now. I have had no problem using the MAPI code and haven't had any...
5
by: guy | last post by:
In the past I've used sockets in C++ to allow apps to communicate with each other over a local network. Is there anything better/more advanced in .NET or should I continue to use sockets and the...
3
by: James Aguilar | last post by:
Oh wise readers of comp.lang.python, Lend a newbie your ears. I have read several old articles from this group about memory mapping and interprocess communication and have Googled the sh** out...
4
by: batista | last post by:
Hello all, I need suggestions and possibly solutions to the problem stated below: I have an application written purely in .NET ( Windows Form Application) and another application that is...
6
by: Senthil | last post by:
Hi All We are having a VB application on SQL. But we need to collect information from persons who will be offline to verify data and insert new data. Generally they will be entering the data in...
0
by: rnaimon | last post by:
I found the following information on this site, but I am unable to get it to work. All it brings back is the xml page with no data. I am running a Windows 2003 Server with Exchange 2003 Server. ...
0
by: ryjfgjl | last post by:
ExcelToDatabase: batch import excel into database automatically...
0
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: jfyes | last post by:
As a hardware engineer, after seeing that CEIWEI recently released a new tool for Modbus RTU Over TCP/UDP filtering and monitoring, I actively went to its official website to take a look. It turned...
0
by: ArrayDB | last post by:
The error message I've encountered is; ERROR:root:Error generating model response: exception: access violation writing 0x0000000000005140, which seems to be indicative of an access violation...
1
by: PapaRatzi | last post by:
Hello, I am teaching myself MS Access forms design and Visual Basic. I've created a table to capture a list of Top 30 singles and forms to capture new entries. The final step is a form (unbound)...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
1
by: Shællîpôpï 09 | last post by:
If u are using a keypad phone, how do u turn on JavaScript, to access features like WhatsApp, Facebook, Instagram....
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...

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.