I tried to find a solution in stackoverflow, but didn't seem to find it at all like mine, so here it is. I have a computer in the lab that connects to various devices, such as pan / tilt devices, cameras, and light sensors, and all of their drivers are installed. I have C # code on a lab computer that knows how to talk to equipment. C # code can set the exposure time, request an image, return it and display it in the image window. I can say that pan / tilt will move to the right place, and respond when done. If I'm in the lab, everything works the way I want.
The problem is that I want it to feel like I'm on a lab computer when I'm really on another computer. Most likely, I will run code that is on a non-working computer from Visual Studio. A program running in the lab will not start from Visual Studio. With Remoting, this is a piece of cake. Put the code that talks about the hardware in the class, use MarshalByRefObject with the interface I created, add RegisterWellKnownServiceType and presto. I can use GetObject to get the link and control it, as if I was sitting at a computer in a laboratory. Therefore, I know that remote work will work.
However, remote start is gradually discontinued for WCF, not to mention its insecurity in the real world. It seems to me that WCF is going to make a local copy (by value) of the remote object, which means that it will not be on the laboratory computer and, therefore, will not be able to interact with the attached equipment. Someday this laboratory computer and all the sensor equipment will be moved away, and I will have access to it remotely via the Internet. A couple of years ago I did it for sure, but I used a remote control. Since remote work is so unsafe, how can I do it without using remote access? Does WCF not have something equivalent to MarshalByRefObject? If WCF uses only value by value, then it looks likethat they expose something without providing functionality to replace it. Is there a way to use remote access that is not secure? Is there anything else besides WCF that I should use?
, , , , , . , , , , , .