Hi,

    I have a GUI application that uses a remote serviced component in a
server COM+ application. The serviced component must let know the GUI
application instances when certain events happen. A transient subscription
could be the solution, but making a transient subscription implies
modification of the COM Admin Catalog with COMAdmin and the GUI application
does not have administrative privileges on the remote machine (neither on the local 
machine).
    GUI.exe processes live on machines A1, A2, ..., An; the application
server (and event class) lives on machine B. For developing purposes, B could be the 
same machine as one of A1, ..., An when testing the server and the GUI on the same 
machine.
The GUI clients make changes to the database through the application server.
When one of the clients makes such a change, the application server sends
the appropriate SQL statements to the database, and also notifies the other
GUI clients of the change. So the GUI clients can work on shared data at the same time.

    I tried this, but it doesn't work:

    In the same COM+ server application as the event class I implemented a serviced 
component with 2 methods: Adivise and Unadvise. The Advise uses the COMAdmin to 
transiently subscribe the IMsgSink parameter to the event class on the same machine. 
This is possible because the COM+ server application has Admin rights on its machine.
    The GUI creates a library activated COM+ component implementing the IMsgSink 
interface, lets call it S. It also creates an instance of the intermediary serviced 
component in the event class server application, and calls its Advise method passing 
it S.
    But UnauthorizedAccessException gets thrown. I'm in a workgroup environment, but I 
don't think it matters.
    (I posted this question on other groups, and that helped me a lot, but I still 
can't solve it completely).

TIA,
Daniel Aioanei

You can read messages from the DOTNET archive, unsubscribe from DOTNET, or
subscribe to other DevelopMentor lists at http://discuss.develop.com.

Reply via email to