Re: Choice Between Windows Service and NET Remoting
- From: "test" <test@xxxxxxx>
- Date: Thu, 28 Jul 2005 23:30:27 -0700
-----Original Message-----
From: Jay B. Harlow [MVP - Outlook]
Posted At: Saturday, July 16, 2005 2:15 AM
Posted To: microsoft.public.dotnet.distributed_apps
Conversation: Choice Between Windows Service and NET Remoting
Subject: Re: Choice Between Windows Service and NET Remoting
Zeeshan,
FWIW: Using MSMQ to multi-cast messages is not necessarily a good idea. I
would use an Event in Remoting to multi-cast "messages" first as Remoting is
"equally" reliable, stable & performs well... Of course MSMQ allows
asynchronous messages, which may be a benefit here (or a detriment).
It sounds like you want a "Publish-Subscribe Channel":
http://www.eaipatterns.com/PublishSubscribeChannel.html
Where you have a publisher (your Windows Service) that publishes a
notification that your Subscribers (Windows Form) subscribe to. The question
then becomes does a single subscriber have a single queue that it reads &
multiple publishers send message to it or does each subscriber have a
distinct queue for each publisher. I would use a single queue for each
subscriber if each publisher used the exact same format for notification. If
each publisher needed a different format, I would have each subscriber have
a distinct queue for each publisher...
MSMQ 3.0 (Windows XP & Windows Server 2003) make setting up a Publish
Subscribe channel easier as you can define MSMQ distribution lists in AD or
you can use a Multiple-Element format name:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msmq/msmq_about_queues_4cvn.asp
NOTE: Private Queues can be sent across machines also. Process A on Machine
A can open private Queue B on Machine B...
Hope this helps
Jay
"Zeeshan Gulzar" <ZeeshanGulzar@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:D6BD83A0-C278-452A-AA8D-2C0E48B26060@xxxxxxxxxxxxxxxx
| Thanks a lot for reply
|
| I am using MSMQ for IPC locally (Private Queues) because of reliability
and
| stability or some how performance.
| My question is that Either we create two or three private queues and
| didicate every queue to two processes for communication or create one
private
| queue and every process get all messages and treverse it and pick one
which
| is required. what is the best way in regard to performance and more
| reliability.
|
| "Jay B. Harlow [MVP - Outlook]" wrote:
|
| > Zeeshan,
| > In addition to the other comments:
| >
| > I would consider the them in the following order:
| >
| > | 1. DOT NET Remoting Services
| > | 3. Through Socket
| > | 2. Message Queues
| > Text or Binary file
| > | 4. Through Database
| >
| > I would need to read up more on MMF transport before knowing where I
would
| > include it in the above list.
| >
| >
| > Remoting might be "easiest" as it allows your service to raise an event
that
| > your UI simply has to listen for.
| >
| > Remember that .NET Remoting currently uses sockets for its transport. VS
| > 2005 (aka Whidbey, due out later in 2005) includes a IpcChannel that
limits
| > Remoting to the current machine.
| >
| > http://msdn2.microsoft.com/library/tz3ew9z6(en-us,vs.80).aspx
| >
| >
| > Remoting & sockets currently are not inherently secure (not
authenticated)
| > unless you use IIS, which brings its own headaches to the mix. VS 2005
| > includes a NetworkStream that you can use to authenticate, integrity
| > protected & encrypt your sockets (including .NET remoting).
| >
| > http://msdn2.microsoft.com/library/z2xae4f4(en-us,vs.80).aspx
| >
| >
| > Depending on what you are trying to communicate you could use a "normal"
| > text or binary file instead of a database also.
| >
| > Hope this helps
| > Jay
| >
| >
| > "Zeeshan Gulzar" <ZeeshanGulzar@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in
message
| > news:69E450C2-3C71-41B1-8E7E-89A1D4F6C800@xxxxxxxxxxxxxxxx
| > |I have created three windows services in which two services listening
two
| > | different logical ports continously and one service capture COM ports.
| > These
| > | windows services informs the Main Window Application which is also
running
| > in
| > | different Application Domain or Window Process space. These services
and
| > | windows application is created in C# .NET
| > |
| > | My Question is that which is the best way to communicate between these
| > | Windows Services running on the same machine (locally).
| > |
| > | 1. DOT NET Remoting Services
| > | 2. Message Queues
| > | 3. Through Socket
| > | 4. Through Database
| > |
| > | Reliability and scalibility is the main requirement because this
machine
| > act
| > | as a server and traffic is very high.
| > |
| > | Your co-operation would be highly appreciated.
| > | Thanks
| >
| >
| >
.
- Prev by Date: re: ASP.NET 2.0 ready yet?
- Next by Date: Re: Choice Between Windows Service and NET Remoting
- Previous by thread: Re: Choice Between Windows Service and NET Remoting
- Next by thread: Re: Choice Between Windows Service and NET Remoting
- Index(es):
Relevant Pages
|