473,671 Members | 2,384 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

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 Interoperabilit y 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 interoperabilit y
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 ( ClassINterfaceT ype.AutoDispatc h) ] 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 5249
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.co m.pe> wrote in message news:Of******** ******@tk2msftn gp13.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 Interoperabilit y 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 interoperabilit y
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 ( ClassINterfaceT ype.AutoDispatc h) ] 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.co m.pe> wrote in message news:OB******** ******@TK2MSFTN GP11.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.c om> wrote in message news:OL******** ******@TK2MSFTN GP10.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.co m.pe> wrote in message news:Of******** ******@tk2msftn gp13.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 Interoperabilit y 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 interoperabilit y
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 ( ClassINterfaceT ype.AutoDispatc h) ] 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.co m.pe> wrote in message news:OB******** ******@TK2MSFTN GP11.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.c om> wrote in message news:OL******** ******@TK2MSFTN GP10.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.co m.pe> wrote in message news:Of******** ******@tk2msftn gp13.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 Interoperabilit y 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 interoperabilit y
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 ( ClassINterfaceT ype.AutoDispatc h) ] 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
9109
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 version 1.4.0 and WMQ Series version 5.3 with CSD04. Exception in thread "main" java.lang.NoClassDefFoundError: com/ibm/mq/server/MQSESSION at com.ibm.mq.MQSESSIONServer.getMQSESSION(MQSESSIONServer.java:67) at...
0
3660
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 that somebody with JNI/COM experience may be able to help me out. I already posted a similar question in C++ groups but unluckily I haven't received a reply. Here goes... I have a JNI DLL that is statically linked to an MFC DLL. The MFC DLL...
3
6410
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, there is quite little on-line documentation and examples available about PythonCOM. The only good sources I have found were the sample chapter from Mark Hammond's book and some decades old PowerPoint show. I have a following problem:
1
2267
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, Illustrator will start to behave oddly until eventually it refuses the create new COM objects. The solution is to close Illustrator and then restart it.
0
1269
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 the current process (exe/source) as the com server. Now, in python 2.3 when I try to create the COM instance from the exe, it starts up a new process and fails (b/c my exe does not support the command line parameters) The Source below is what...
5
2400
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. Unfortunately, that is not what i really want. First I'd like to make the COM Server accessible from C++ and as a beside product I want to use early binding within VB with the NEW operator. I've googled around alot, but I still have not the complete...
2
4578
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" _reg_progid_ = "Python.TestServer" _public_methods_ = _public_attrs_ = _readonly_attrs_ =
4
3085
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
1517
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 genereted module, but it is in the COM Browser so I'm sure the struct is in the com object Maybe I can find out somewhere what the GUID's is and put it in the RecodMap manually? Roger
0
8397
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 effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
8919
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, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
8821
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 tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
8670
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
1
6230
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 presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
4225
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
4409
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
2813
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
1810
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

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.