Communicate between .NET desktop applications over local network - c#

I need simple way of communication between 2 desktop application over local network. Client application have to call server and trigger command execution on server desktop. RPC is the old way of doing that. Looks like WCF is new way.
If WCF, does it require IIS on the computer that is running server application?
Where I can find WCF sample code to follow?

For two Windows applications, you're probably going to want a self-hosted WCF service using Net TCP binding.
Self-hosted means the service is contained in your application (could be a desktop app or Windows service) - no IIS required. Just about any kind of binding will work, but Net TCP binding is ideal for .NET applications that only talk to other .NET applications over a LAN.
Here's a sample from MS on self-hosting.

You can host WCF in various ways - IIS, windows service, console application.
So no, you do not need IIS installed unless you want to host it on IIS.
Here are some examples on how to do it
Host a WCF Service in a Managed Windows Service
Host WCF in a Windows Service Using TCP

Related

Communicating Azure Web app with WCF Web App

I need to host ASP.NET based app as Azure Web App which should communicate with WCF based Azure Web App. ( WCF app is also an azure Web App not an on-premise app at all).
What are possible ways to achieve easy and flexible communication between both app services?
Do we need to establish a communication channel specifically?
Both Apps under IIS On-Premises are used to communicate without any problem over NET TCP protocol. But I think now we need both services to communicate over HTTP instead of Net TCP?
What problems we may have?
What things do we need to bear in mind?
First of all, we need to be clear that azure webapp only supports ports 80 and 443.
Secondly, in your project, you said that it runs normally in local, because I don't know what you mean by communicate, and I don't know how to achieve it. Normal communication may be socket or websocket, etc. It is not clear what communication you are talking about. If it is socket and you need to use a port other than 443/80, then it is not supported.
But I know clearly that azure web app supports wcf, which means that both of your webapps can be deployed successfully and run normally. If there is a problem, you can update the error details in the post, and we can provide you with further assistance.

remote client intermitency with wcf service hosted in iis

I have developed a WCF service and hosted in IIS, I need that this service can be consumed by web applications and for one desktop application, but this desktop application was made in .net 2.0, so i add an asmx extension in order to can add the web reference to the desktop app. When I run the app in the same machine that is hosting the WCF service, it works fine, so I installed the system in one client for beta testing. When the client run in the server all requests made to the web services works fine, but this client has 2 remote stations, which have to consume as well the WCF service, now this is the issue, some times the request is not arriving to the WCF, I already added exceptions to the antivirus and firewall, so there is nothing blocking the communication between the server and the client stations.
I'm wondering if all the problem is because an incompatibility issue between the asmx extension and WCF service, but I don't find any after hours googling.
I appreciate any advice about this, the client is a beta, but is pressing hard to get a solucion ASAP.

Can I run a program that consumes a WCF service on Windows 2000?

We're hosting a WCF web service on a server running the latest version of Windows Server.
We have many different clients running different versions of Windows. For example, 2000, XP, Vista and a couple of Windows 7.
Can I run a program that consumes a WCF service in Windows 2000? What do I need for a WCF service to run well on the client side?
A WCF service can be consumed by any client that can communicate with SOAP. The performance of the WCF service has nothing to do with the client OS. If performance is an issue with the WCF service it is most likely a connectivity or bandwidth issue from the client to the server. How you choose to consume the service is up to you. The WCF service will continue to run on your server and perform any methods you invoke from the client on the server.
Its very hard to answer your question without knowning the requirements of the web service which is exposed on the 'latest version' of windows.
The most important part of this will be "which binding(s) is/are being exposed by the WCF service".
If this is 'basicHttp' or 'wsHttp' you will be able to communicate with this service using a .Net 2.0 client (wsdl.exe proxy). If this is not the case, it will become harder to implement.
Bottom line; a Web Service is not tied in to the development platform it has been written on. The real important part of a web service is it's contract (which is described by WSDL). If the contract exposed can be consumed by .Net 2.0 tools, you can communicate.
If they cannot, you either have to use 'extensions' (like WSE) or go the manual route which i both advise not to take!
ps; WCF != WebServices. WCF is a toolkit that can be used to build a web service or rest service. "Traditional webservices used the Basic Profile 1.1" which consist only of XML, XSD, WSDL and SOAP.
hope this helps,

Host TCP Chat Server in IIS

Im looking at this basic chat server/client tutorial using TcpClient in .NET. Now I would like this put the chat server online on my web hosting provider. Is that possible? Can I host this server in IIS somehow? I could probably just start it in Application_Start but I dont think Im allowed to open a connection on any port just like that. What options do I have? I have made a chat app using WCF and net.tcp before but my hosting provider has not activated net.tcp on their IIS-server. So now Im looking at using a TcpClient instead...
I'd avoid attempting to use TCP in shared hosting scenarios. Why not use a HTTP WCF service instead? Most hosts lock down most ports except standard 80/443 and a few others. I can't see that they would allow you to open an arbitrary tcp port from their server, it could be a big security risk.
I would not host a chat in IIS since you are limit to the application pool lifetime. Look after a hosting company that provides virtual servers instead.

web application c#

Im trying to make a a cleint/server web application where eventually the client application will be deploy on the internet. People told me to use visual studio WCF duplex but im confuse on how that works. I know for a simple server/client application using sockets, u can just use console for the server and then a windows form for the client.
So how does WCF duplex work, will it be used for both the server and the client side or do i sill use console for the server?? Also how do they establish a connection, in sockets you use ip address and a port.. HELP!
There are many WCF bindings that enable full-duplex communication. WCF servers and clients are able to use sockets among other means of communication. With WCF you can still use the IP Address:Port address system to expose and consume services.
With WCF you still can use Console Apps, Windows Forms or Web Applications to expose or consume those services. It brings no restriction at this point.
WCF will provide flexibility, since once you want to change the binding or the address, you can do it in the configuration file, instead of doing it by changing the code.

Categories