|
CybrWeez wrote:
I've tried vsdraCOM and vsdraCOMRelativePath
These two settings only do any magic if the assembly is designed to work through a CCW (Com Callable Wrapper). Basically, if you have designed your assembly to be a <gasp> COM component.
I have used these settings with success. I found a great .NET pdf library that I needed to use in VB6, so I wrote a wrapper object that looked like the VB6 printer object. Using attributes to control the visibility of my properties and methods, then using CCW to expose the object to the COM world. Worked great.
In the project properties of your source project (Not the deployment project), check the "Register for COM interop" to get the TBL built, etc.
Also, using the various attibutes can make your assembly look much better to those COM eyes...
<br />
Imports System.Runtime.InteropServices<br />
<br />
' Expose this object as a COM object<br />
<ClassInterface(ClassInterfaceType.AutoDual), Guid("07C9F63C-4776-49d1-9D12-BB0AF62FC6F2")> _<br />
Public Class PDFPrinter<br />
' Content Goes Here<br />
End Class<br />
Then, in the deployment project...
[cPDFWriter.tbl]
Register=vsdrfCOM
[cPDFPrinter.dll]
Register=vsdrfCOM
|
|
|
|
|
Anyone been able to do this?
I can do it, but I cannot connect to the solution file form a remote machine (get told that the solution file is invalid).
Paul Watson wrote:
"At the end of the day it is what you produce that counts, not how many doctorates you have on the wall."
George Carlin wrote:
"Don't sweat the petty things, and don't pet the sweaty things."
Jörgen Sigvardsson wrote:
If the physicists find a universal theory describing the laws of universe, I'm sure the a**hole constant will be an integral part of that theory.
|
|
|
|
|
Webservice NOT in wwwroot..
Well, I have never made a webservice that WAS in the wwwroot. By defualt VS.NET puts it in a sub-folder. Is there a typo in your question?
Paul Watson Bluegrass Cape Town, South Africa
Robert Edward Caldecott wrote:
My father-in-law calls yer man bits "weasels"
|
|
|
|
|
That's really what I meant
I wanted to run 2 web sites on one bok so I set up another root folder named 'webroot' and set up all the host headers and stuff for it that way.
I even assigned another IP address to my NIC and set up an entry in DNS to point there, then bound that site ot that IP address.
Every time I try to use VS.NET to open a site in a sub folder of the second root folder I am toild that I can't.
Paul Watson wrote:
"At the end of the day it is what you produce that counts, not how many doctorates you have on the wall."
George Carlin wrote:
"Don't sweat the petty things, and don't pet the sweaty things."
Jörgen Sigvardsson wrote:
If the physicists find a universal theory describing the laws of universe, I'm sure the a**hole constant will be an integral part of that theory.
|
|
|
|
|
Ray Cassick wrote:
I wanted to run 2 web sites on one bok so I set up another root folder named 'webroot' and set up all the host headers and stuff for it that way.
Perhaps reinstall the .NET fx, only takes a few minutes.
<a TITLE="See my user info" href=http:
|
|
|
|
|
Hello,
"generic error occurred in GDI+. at System.Drawing.Bitmap.GetHbitmap(Color background)
at System.Drawing.Bitmap.GetHbitmap()
at MyAssembly.Engine.Resources.GetPatternHBitmap(Int32 patternId)"
Does anyone know what this error means?
More info:
My method GetPatternHBitmap() gets a Bitmap from my resource assembly:
<br />
Bitmap b = GetPatternBitmap(patternId); <br />
Then, the error occurs at
<br />
IntPtr ip = b.GetHbitmap();<br />
TIA.
|
|
|
|
|
|
I have a server service running, and i want to IPC using a server activated singleton. How can I give the remoting object acces to the data in my server ? My server process runs all the time ? I just cannot see how to do this
Can anyone help ?
Thanks
Hmmm
|
|
|
|
|
on server side:
HttpChannel chnl = new HttpChannel(port_number);
ChannelServices.RegisterChannel(chnl);
RemotingConfiguration.RegisterWellKnownServiceType
(typeof(remote_object_class),
URI_used_by_client,
WellKnownObjectMode.Singleton);
on client side:
ChannelServices.RegisterChannel(new HttChannel());
remote_object_class obj = (remote_object_class)Activator.GetObject
(typeof(remote_object_class),
"http://localhost:port_number/URI_used_by_client");
Good coding is to put configuration of channels and remote objects in config files: you won't have to change the source code if you'll change configuration.
|
|
|
|
|
I have the remoting working, but how does the remote object that is registered by my service get data from that service.?
Confused Again
|
|
|
|
|
In your example obj is on the client side not the server, the remote object needs data from the server
Non-Guru
|
|
|
|
|
how does the server (my app ) know the server object has been created, does the server have access to this object ?
DOesn't the the initial creation of the remote object not happen until the first client connects ?
|
|
|
|
|
Im not sure we are talking about the same thing thanks for your time
I have a service running that monitors a machine tool. this runs forever. form this service i created a well known singleton from the server , and my client connects to this ok, but how do I get data from the service through the remote object to the client. I don't see how to link the service application and the remote object that the service registered.
.Confused
|
|
|
|
|
so the object will not be created until accessed ? hmmm
in .reflection .Confused
|
|
|
|
|
In your case with first call the server will create an instance of object, any next time if old object still will live, it will be used, if not, the new one will be created.
That describes my problem, because my server needs to do work regardless of any clients there or not. This way doesn't do anything until the client connects.
What I'm doing until I can work out what I need, is having my service create a remote object, and then having the service also connect to this object as a client to push data into the object so that clients can then get this info. This doesn't seem the best way, but as I said how does the process that registers a wellknown remote object (ie the server program) then get a reference to that object?
Thanks
.Confused
|
|
|
|
|
In this case you should use published object as I did.
You pre-create object on server, publish it and after that this object acts as a Singletone.
HttpChannel chnl = new HttpChannel(nr);<br />
ChannelServices.RegisterChannel(chnl);<br />
<br />
MyRemoteObj obj = new MyRemoteObj();<br />
RemotingServices.Marshal(obj, URI);
No clients is necessary to create an object, all clients work with one instance of object living on server.
|
|
|
|
|
Thats it , thanks for your help
.Confused
|
|
|
|
|
Where did you find out how to do that? I have read everything I could find about remoting, and knew that there would be a solution somewhere. Thanks for your help I appreciate your patience.
.Not so Confused
|
|
|
|
|
In the book "Advanced .NET Remoting" by Ingo Rammer.
publisher is apress
)
|
|
|
|
|
I 'm writing a .NET Queued Component. The problem is.. the COM+ application does not start automatically when the client creates an object and calls the method. so the meassages reside on the MSMQ 's private queue. It works if I start the Com+ comonent manually using Component Sevices Explorer. what I 'm missing that the component is not starting on message receive .. any ideas ..?
Thanks in advance ...
Mkl
Mkl
|
|
|
|
|
So you need your component to start when a message is received on the queue? If so, you can use MQ Triggers. Triggers are containers for Rules applied to a queue. By creating Rules, you configure the rule to invoke a method on a COM object or start en EXE. Create your Rules, then create a Trigger on your queue to apply the Rules.
|
|
|
|
|
Hi,
I am trying create deployment package for my windows service application written in C#.
I am able to install my windows service using InstallUtil.exe
but when i try to install using deployment project, it installs successfully but does not show up in Service manager list.
Can anyone knows what I am missing.
Sanjeev
|
|
|
|
|
>How do you install using deployment project?
Right click on Deployment (Setup) project and click on Install popup menu.
>BTW, what is written in installog file?
There is no installog file in the folder.
|
|
|
|
|
OK, I think I can help with this one.
In the Solution Explorer, select your deployment project and press "Custom Actions Editor" icon near the top of the Solution Explorer.
In the Custom Actions window, select the root node, "Custom Actions".
Right-click and choose "Add custom action..."
Select the file that you normally run InstallUtil on as the custom action.
This will have an effect like running InstallUtil during setup, and do the right think at uninstall time too.
Burt Harris
|
|
|
|