473,396 Members | 1,853 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,396 software developers and data experts.

COM+ bulit on c#

Please any help will do!!!!

I have several issues implementing serviced components with .NET framework. Please stop a few minutes to read the issues found on my application. This is an academic project emulating an online billing software for a health care facility.

My application is divided into different projects which they map to the logical layers that microsoft suggests for architectural design.

1.. A presentation layer that is a winform project.
2.. A class library of common functionality that is referenced by all projects (client & server side).
On the server side I have:

1.. A project of Interoperability or something like a business facade that interprets incoming parameters (DataSets or XmlDocuments with specified schemas) and passes through the data in order 2 be processed by the business logic application. Then returns the appropiate responses that can be native .net types compliant with COM as string, int, double, or serializable objects like XmlDocument or DataSets. THIS IS WHERE THE SERVICED COMPONENTS ARE!!
2.. A project of business logic, a simple class library containing business rules
3.. A project of data access, a simple class library containing simple methods that receive parameters from the business logic and updates the relational database.
4.. A project that is used to communicate with other applications like invoking other serviced components and consuming XML web services
I have done this:

1.. On the properties of the (1) project I have set on true the Register for COM interoperability
2.. On the bin/debug folder of the (1) project a tlb file is generated.
3.. On the Component Services Admin console I create a new Application, this is set as a ServerLibrary
4.. I drag the tlb from the windows explorer to the Component Services Admin console creating as many components as serviced classes in the project.
5.. I export the application to install a server in another computer. Lets call this Server.msi
6.. I execute the generated Server.msi on computer A
7.. Now on the component services of computer A the application has been installed.
8.. From this computer I generate a client proxy from the Component Services Admin console right clicking on the app. This generates Client.msi
9.. I execute Client.msi on computer B. This creates the same app on the Component Services Admin console but all the settings are disabled except for the activation server to use that is by default computer A.




My questions are:

1.. What should I deploy on computer B. :
1.. The cilente.exe. (It shows an System.IO error, it doesn't find the requested dll meaning dll number 1)
2.. The cilente.exe, and a local copy of project (1).dll (It shows an System.IO error, it doesn't find the requested dll - meaning dll number 2)
3.. The cilente.exe, and a local copy of project (1).dll and the rest of the required dlls by the project (1).dll. That are all the server side dll's.
This actually works but there is no remote access here!!. I run a profiler trace and the HostName of the statements is computer B







Another doubt, I have previously created COM objects and registered on the COM+ catalog.. But these ones where made on Delphi as an active X Library. I notice that building the classes this fashion, the methods of the interfaces implemented by my classes are visible to the COM+ console ..



When I register the Serviced Components built on C#, and setting the class attribute

[ClassInterface ( ClassINterfaceType.AutoDispatch) ] this is suppose to expose all the public methods of my class.. and it doesn't actually none of them is visible.



PLEASE, PLEASE SOMEONE HELP ME



Joseph Higaki

Nov 13 '05 #1
3 5236
You have to

1. run regsvcs on the server for your serviced component
2. Export application proxy on server
3. Import application proxy on client (by running msi file or Add Application).
4. Copy server dlls to client. You might want to put them into GAC but it is not required)

Hope this helps,

-Stan
"Joseph" <jh*****@tss.com.pe> wrote in message news:Of**************@tk2msftngp13.phx.gbl...
Please any help will do!!!!

I have several issues implementing serviced components with .NET framework. Please stop a few minutes to read the issues found on my application. This is an academic project emulating an online billing software for a health care facility.

My application is divided into different projects which they map to the logical layers that microsoft suggests for architectural design.

1.. A presentation layer that is a winform project.
2.. A class library of common functionality that is referenced by all projects (client & server side).
On the server side I have:

1.. A project of Interoperability or something like a business facade that interprets incoming parameters (DataSets or XmlDocuments with specified schemas) and passes through the data in order 2 be processed by the business logic application. Then returns the appropiate responses that can be native .net types compliant with COM as string, int, double, or serializable objects like XmlDocument or DataSets. THIS IS WHERE THE SERVICED COMPONENTS ARE!!
2.. A project of business logic, a simple class library containing business rules
3.. A project of data access, a simple class library containing simple methods that receive parameters from the business logic and updates the relational database.
4.. A project that is used to communicate with other applications like invoking other serviced components and consuming XML web services
I have done this:

1.. On the properties of the (1) project I have set on true the Register for COM interoperability
2.. On the bin/debug folder of the (1) project a tlb file is generated.
3.. On the Component Services Admin console I create a new Application, this is set as a ServerLibrary
4.. I drag the tlb from the windows explorer to the Component Services Admin console creating as many components as serviced classes in the project.
5.. I export the application to install a server in another computer. Lets call this Server.msi
6.. I execute the generated Server.msi on computer A
7.. Now on the component services of computer A the application has been installed.
8.. From this computer I generate a client proxy from the Component Services Admin console right clicking on the app. This generates Client.msi
9.. I execute Client.msi on computer B. This creates the same app on the Component Services Admin console but all the settings are disabled except for the activation server to use that is by default computer A.




My questions are:

1.. What should I deploy on computer B. :
1.. The cilente.exe. (It shows an System.IO error, it doesn't find the requested dll meaning dll number 1)
2.. The cilente.exe, and a local copy of project (1).dll (It shows an System.IO error, it doesn't find the requested dll - meaning dll number 2)
3.. The cilente.exe, and a local copy of project (1).dll and the rest of the required dlls by the project (1).dll. That are all the server side dll's.
This actually works but there is no remote access here!!. I run a profiler trace and the HostName of the statements is computer B







Another doubt, I have previously created COM objects and registered on the COM+ catalog.. But these ones where made on Delphi as an active X Library. I notice that building the classes this fashion, the methods of the interfaces implemented by my classes are visible to the COM+ console ..



When I register the Serviced Components built on C#, and setting the class attribute

[ClassInterface ( ClassINterfaceType.AutoDispatch) ] this is suppose to expose all the public methods of my class.. and it doesn't actually none of them is visible.



PLEASE, PLEASE SOMEONE HELP ME



Joseph Higaki
Nov 13 '05 #2
You got to have an application proxy installed. There must be something wrong with it because this is the only reason I can think of...
"Joseph" <jh*****@tss.com.pe> wrote in message news:OB**************@TK2MSFTNGP11.phx.gbl...
yes i've already done that,
cause i'm pretty sure that draging the component to the COM + console is the same as calling regsvcs but it seems that when i invoke the remote methods on the client, it runs on the local copy of the dll.
I may be wrong, but if the server dll will be instanciated on the remote machine (computer A on my case). The other dlls used by the COM are no t nescessary on the client machine.
When i copy all the server dll's (notice that only one of them contains serviced components). it actually works but running all processes on client machine

Jospeh
"Stan" <no****@yahoo.com> wrote in message news:OL**************@TK2MSFTNGP10.phx.gbl...
You have to

1. run regsvcs on the server for your serviced component
2. Export application proxy on server
3. Import application proxy on client (by running msi file or Add Application).
4. Copy server dlls to client. You might want to put them into GAC but it is not required)

Hope this helps,

-Stan
"Joseph" <jh*****@tss.com.pe> wrote in message news:Of**************@tk2msftngp13.phx.gbl...
Please any help will do!!!!

I have several issues implementing serviced components with .NET framework. Please stop a few minutes to read the issues found on my application. This is an academic project emulating an online billing software for a health care facility.

My application is divided into different projects which they map to the logical layers that microsoft suggests for architectural design.

1.. A presentation layer that is a winform project.
2.. A class library of common functionality that is referenced by all projects (client & server side).
On the server side I have:

1.. A project of Interoperability or something like a business facade that interprets incoming parameters (DataSets or XmlDocuments with specified schemas) and passes through the data in order 2 be processed by the business logic application. Then returns the appropiate responses that can be native .net types compliant with COM as string, int, double, or serializable objects like XmlDocument or DataSets. THIS IS WHERE THE SERVICED COMPONENTS ARE!!
2.. A project of business logic, a simple class library containing business rules
3.. A project of data access, a simple class library containing simple methods that receive parameters from the business logic and updates the relational database.
4.. A project that is used to communicate with other applications like invoking other serviced components and consuming XML web services
I have done this:

1.. On the properties of the (1) project I have set on true the Register for COM interoperability
2.. On the bin/debug folder of the (1) project a tlb file is generated.
3.. On the Component Services Admin console I create a new Application, this is set as a ServerLibrary
4.. I drag the tlb from the windows explorer to the Component Services Admin console creating as many components as serviced classes in the project.
5.. I export the application to install a server in another computer. Lets call this Server.msi
6.. I execute the generated Server.msi on computer A
7.. Now on the component services of computer A the application has been installed.
8.. From this computer I generate a client proxy from the Component Services Admin console right clicking on the app. This generates Client.msi
9.. I execute Client.msi on computer B. This creates the same app on the Component Services Admin console but all the settings are disabled except for the activation server to use that is by default computer A.




My questions are:

1.. What should I deploy on computer B. :
1.. The cilente.exe. (It shows an System.IO error, it doesn't find the requested dll meaning dll number 1)
2.. The cilente.exe, and a local copy of project (1).dll (It shows an System.IO error, it doesn't find the requested dll - meaning dll number 2)
3.. The cilente.exe, and a local copy of project (1).dll and the rest of the required dlls by the project (1).dll. That are all the server side dll's.
This actually works but there is no remote access here!!. I run a profiler trace and the HostName of the statements is computer B







Another doubt, I have previously created COM objects and registered on the COM+ catalog.. But these ones where made on Delphi as an active X Library. I notice that building the classes this fashion, the methods of the interfaces implemented by my classes are visible to the COM+ console .



When I register the Serviced Components built on C#, and setting the class attribute

[ClassInterface ( ClassINterfaceType.AutoDispatch) ] this is suppose to expose all the public methods of my class.. and it doesn't actually none of them is visible.



PLEASE, PLEASE SOMEONE HELP ME



Joseph Higaki
Nov 13 '05 #3
How do you know that it runs on client?
"Joseph" <jh*****@tss.com.pe> wrote in message news:OB**************@TK2MSFTNGP11.phx.gbl...
yes i've already done that,
cause i'm pretty sure that draging the component to the COM + console is the same as calling regsvcs but it seems that when i invoke the remote methods on the client, it runs on the local copy of the dll.
I may be wrong, but if the server dll will be instanciated on the remote machine (computer A on my case). The other dlls used by the COM are no t nescessary on the client machine.
When i copy all the server dll's (notice that only one of them contains serviced components). it actually works but running all processes on client machine

Jospeh
"Stan" <no****@yahoo.com> wrote in message news:OL**************@TK2MSFTNGP10.phx.gbl...
You have to

1. run regsvcs on the server for your serviced component
2. Export application proxy on server
3. Import application proxy on client (by running msi file or Add Application).
4. Copy server dlls to client. You might want to put them into GAC but it is not required)

Hope this helps,

-Stan
"Joseph" <jh*****@tss.com.pe> wrote in message news:Of**************@tk2msftngp13.phx.gbl...
Please any help will do!!!!

I have several issues implementing serviced components with .NET framework. Please stop a few minutes to read the issues found on my application. This is an academic project emulating an online billing software for a health care facility.

My application is divided into different projects which they map to the logical layers that microsoft suggests for architectural design.

1.. A presentation layer that is a winform project.
2.. A class library of common functionality that is referenced by all projects (client & server side).
On the server side I have:

1.. A project of Interoperability or something like a business facade that interprets incoming parameters (DataSets or XmlDocuments with specified schemas) and passes through the data in order 2 be processed by the business logic application. Then returns the appropiate responses that can be native .net types compliant with COM as string, int, double, or serializable objects like XmlDocument or DataSets. THIS IS WHERE THE SERVICED COMPONENTS ARE!!
2.. A project of business logic, a simple class library containing business rules
3.. A project of data access, a simple class library containing simple methods that receive parameters from the business logic and updates the relational database.
4.. A project that is used to communicate with other applications like invoking other serviced components and consuming XML web services
I have done this:

1.. On the properties of the (1) project I have set on true the Register for COM interoperability
2.. On the bin/debug folder of the (1) project a tlb file is generated.
3.. On the Component Services Admin console I create a new Application, this is set as a ServerLibrary
4.. I drag the tlb from the windows explorer to the Component Services Admin console creating as many components as serviced classes in the project.
5.. I export the application to install a server in another computer. Lets call this Server.msi
6.. I execute the generated Server.msi on computer A
7.. Now on the component services of computer A the application has been installed.
8.. From this computer I generate a client proxy from the Component Services Admin console right clicking on the app. This generates Client.msi
9.. I execute Client.msi on computer B. This creates the same app on the Component Services Admin console but all the settings are disabled except for the activation server to use that is by default computer A.




My questions are:

1.. What should I deploy on computer B. :
1.. The cilente.exe. (It shows an System.IO error, it doesn't find the requested dll meaning dll number 1)
2.. The cilente.exe, and a local copy of project (1).dll (It shows an System.IO error, it doesn't find the requested dll - meaning dll number 2)
3.. The cilente.exe, and a local copy of project (1).dll and the rest of the required dlls by the project (1).dll. That are all the server side dll's.
This actually works but there is no remote access here!!. I run a profiler trace and the HostName of the statements is computer B







Another doubt, I have previously created COM objects and registered on the COM+ catalog.. But these ones where made on Delphi as an active X Library. I notice that building the classes this fashion, the methods of the interfaces implemented by my classes are visible to the COM+ console .



When I register the Serviced Components built on C#, and setting the class attribute

[ClassInterface ( ClassINterfaceType.AutoDispatch) ] this is suppose to expose all the public methods of my class.. and it doesn't actually none of them is visible.



PLEASE, PLEASE SOMEONE HELP ME



Joseph Higaki
Nov 13 '05 #4

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

Similar topics

1
by: Andy Howells | last post by:
Can anybody help me on this? I am getting the below error but have not got a clue why. The file in my classpath eing used has the class that it says is not defined. Any ideas? I am running java...
0
by: Randy Roman | last post by:
Hello to all. I have a nagging problem concerning where to call CoUninitialize() COM function. I realize that this may be more of a C++/COM question rather than a Java question, but I just thought...
3
by: Mikko Ohtamaa | last post by:
Hi, I am quite new to Python, PythonCom and COM generally. As a former Java programmer, I have found Python's flexible ability to access native Win32, especially COM, very comfortable. However,...
1
by: Noah | last post by:
Hi, How do I shutdown a win32 COM server? I am scripting Adobe Illustrator through its COM interface. The problem is that Illustrator has memory leaks. And after a few hours of running,...
0
by: Brent Turner | last post by:
Under python 2.2 I was able to create a COM object in an exe much of the same way that I could from py source... meaning that I was able to register the com server and create an instance using...
5
by: Andre Bernemann | last post by:
Hi, I have written a Python COM Server with the help of Mark Hammond's Book Programming Python on Win32. I used the CreateObjects method in VB to access the COM Methods and all worked fine....
2
by: Phil | last post by:
I am using a Pascal like language (Wealth-Lab) on W2K and call this server: class HelloWorld: _reg_clsid_ = "{4E797C6A-5969-402F-8101-9C95453CF8F6}" _reg_desc_ = "Python Test COM Server"...
4
by: Ishpeck | last post by:
I need to make IE execute javascript in a web page with COM+ and Python. Similarly to the way they do it in this article. . . http://www.codeproject.com/com/jscalls.asp
1
by: Gijs Korremans | last post by:
> Does IPADDRESSSTRUCT appear anywhere in the makepy-generated module ? Specifically, there should be a RecordMap dict containing any defined Records and their GUID's. No it's not in the...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
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: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
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
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,...
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
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,...

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.