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

Communication via shared memory space [webcontrols, NT Sessions, UI]

Hi gang,

I have somewhat of a complicated question. I will try my best to
explain. I have .NET assemblies that run in IIS's memory space. But I want
to be able to interface with those running instances from a user's logon
session on the host server. Basically I want to write a UI that allow a
server administrator to see what is happening at runtime and be able to
control the assemblies. I know of three basic ways to get this done:

1) write a web UI and allow him to interface via an administrative web page
that accesses the app via the "Application" variables in .ASPX forms

2) bridge the gap via a database like a local .MDB

3) bridge the gap via TCP connections to the local loopback address
127.0.0.1 with TcpClient and TcpListener.

But I want to do it through and API or memory space. No offence but these
way seem to be workarounds for this type of controlling/interfacing. Does
..NET facilitate this functionality or am I going to have to settle for the
three mentioned options? Is there a way to share the memory space in a .NET
dll so I can change settings at run time? I mean in how do MSExcnahge and
IIS admin tools do it anyway? Lots of good questions here, I sincerely hope
someone can answer them.

- Rashad Rivera

Department of State/NCC


Nov 15 '05 #1
2 1629
Let me get this right. You have web applications using your .NET
assemblies. You want to control those assemblies with some kind of
"administrator" control. Right?

You listed some possibilities (you forgot a few... I like MSMQ as a way of
sending messages back and forth between applications, and of course, don't
forget web services as a way to have a server hold a message cache).

However, the best way to approach this is by using .NET Remoting. You
create an administrative object on your server and each of your .NET
assemblies would contact the server object to communicate with it. The
admin console would simply be another client of the server object... it
would simply have different privileges (or perhaps, it is simply the only
client app that makes use of the administrative methods you provide... no
point in making this harder than it has to be).

I believe that it is possible to set up your clients to get events sent by
the server. The possibilities are endless.

I recommend the book "Advanced .NET Remoting" by Ingo Rammer. The book goes
into solid examples in a well-written and quite readable style.

HTH,
--- Nick

"Rashad Rivera" <rashadrivera@NO_____SPAM__.hotmail.com> wrote in message
news:%2****************@TK2MSFTNGP09.phx.gbl...
Hi gang,

I have somewhat of a complicated question. I will try my best to
explain. I have .NET assemblies that run in IIS's memory space. But I want to be able to interface with those running instances from a user's logon
session on the host server. Basically I want to write a UI that allow a
server administrator to see what is happening at runtime and be able to
control the assemblies. I know of three basic ways to get this done:

1) write a web UI and allow him to interface via an administrative web page that accesses the app via the "Application" variables in .ASPX forms

2) bridge the gap via a database like a local .MDB

3) bridge the gap via TCP connections to the local loopback address
127.0.0.1 with TcpClient and TcpListener.

But I want to do it through and API or memory space. No offence but these
way seem to be workarounds for this type of controlling/interfacing. Does
.NET facilitate this functionality or am I going to have to settle for the
three mentioned options? Is there a way to share the memory space in a ..NET dll so I can change settings at run time? I mean in how do MSExcnahge and
IIS admin tools do it anyway? Lots of good questions here, I sincerely hope someone can answer them.

- Rashad Rivera

Department of State/NCC

Nov 15 '05 #2
I can offer you a commercial solution. My product "Professional Validation
And More" is a replacement to Microsoft's validators that overcomes its many
limitations. For example, it includes properties to show a Confirm
messagebox as part of submitting a page. Learn more at
http://www.peterblum.com/vam/home.aspx.
--- Peter Blum
www.PeterBlum.com
Email: PL****@PeterBlum.com

"Rashad Rivera" <rashadrivera@NO_____SPAM__.hotmail.com> wrote in message
news:%2****************@TK2MSFTNGP09.phx.gbl...
Hi gang,

I have somewhat of a complicated question. I will try my best to
explain. I have .NET assemblies that run in IIS's memory space. But I want to be able to interface with those running instances from a user's logon
session on the host server. Basically I want to write a UI that allow a
server administrator to see what is happening at runtime and be able to
control the assemblies. I know of three basic ways to get this done:

1) write a web UI and allow him to interface via an administrative web page that accesses the app via the "Application" variables in .ASPX forms

2) bridge the gap via a database like a local .MDB

3) bridge the gap via TCP connections to the local loopback address
127.0.0.1 with TcpClient and TcpListener.

But I want to do it through and API or memory space. No offence but these
way seem to be workarounds for this type of controlling/interfacing. Does
.NET facilitate this functionality or am I going to have to settle for the
three mentioned options? Is there a way to share the memory space in a ..NET dll so I can change settings at run time? I mean in how do MSExcnahge and
IIS admin tools do it anyway? Lots of good questions here, I sincerely hope someone can answer them.

- Rashad Rivera

Department of State/NCC

Nov 15 '05 #3

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

Similar topics

16
by: Andrew | last post by:
I'm afraid I don't know PHP well enough to figure this out. What I would like is to keep an array in memory so that it doesn't have to be reloaded each time a .php script is run. Is this...
1
by: Google Mike | last post by:
I'm using PHP 4.2.2 on RH9 Linux (with Progeny.com updates, in case you're wondering). I was using shared memory (shm* API) a great deal in my web applications because I have 1GB of RAM on this...
11
by: Michael Schuler | last post by:
The use of STL in shared memory poses a real problem since (non-smart) pointers are not allowed there. Is there any solution for containers in shared memory using smart pointers? Where can I...
1
by: myren, lord | last post by:
When I first discovered shared memory (between multiple processes) I immediately started thinking of how to build my own VM subsystem + locking mechanisms for a large single block of memory. This...
15
by: Rob Nicholson | last post by:
A consequence of the ASP.NET architecture on IIS has just hit home with a big thud. It's to do with shared variables. Consider a module like this: Public Module Functions Public GlobalName As...
3
by: Sally Sally | last post by:
I have a very basic question on the two parameters shared buffers and effective cache size. I have read articles on what each is about etc. But I still think I don't quite grasp what these settings...
1
by: Alexander Cohen | last post by:
Hi, sometimes ill get this error: FATAL: could not create shared memory segment: Cannot allocate memory DETAIL: Failed system call was shmget(key=2, size=4153344, 03600). HINT: This error...
28
by: Jon Davis | last post by:
We're looking at running a memory-intensive process for a web site as a Windows service in isolation of IIS because IIS refuses to consume all of the available physical RAM. Considering remoting to...
2
by: oopsatwork | last post by:
Ok...so, I have been outside of the C world for a _very_ long time...but not so long as to remember how to do multidimensional arrays. So, let me state that I know how to malloc pointers to...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
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: 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
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
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
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...
0
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...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 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 a new...

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.