I have a WCF webservice that acts as a proxy between a WCF windows service and a client interface. This is done so that our program can have a central "state" server, while the webservices can be distributed.
Ideally i would like to cut out the middle IIS hosted WCF webservice serialization and feed the bytes sent by the client directly to the windows service via IIS. Is this possible?
Why not using NLB directly? I think that a cluster will do a better job distributing requests than a proxy WCF service.
It's possible but you'll want to not use WCF in the middle. The level of difficulty depends on the technology you're using for your transport. For example, if you're using BasicHttp (good ol' SOAP) you can write a proxy in ASP.NET that routes the bytes from the client to the server via an HttpWebRequest.
You also could consider installing a reverse proxy on your web boxes to route your WCF requests through to your central web service.
Related
I've recently discovered Azure Relay and it seems very powerful. I have a basic project using it now to expose a WCF Windows Service. I've read in the documentation about how it can be used to expose RESTful services, but I'm having trouble understanding if it can be used to expose a SOAP web service. I can't seem to find any examples of that and the closest I can is this post about exposing the WSDL. I have an extremely simple SOAP web service with a single method that takes in 5 strings as arguments. I know WCF Services can be hosted in IIS but my client's requirement is that no firewall ports are opened so here's my actual question:
Is there a way to use a Relay to expose an internal IIS WebService publicly? Is there another method I might have overlooked to get around opening a port in the firewall?
I would be very open to exposing the service I have or rewriting it completely since it's so simple, I'm just not sure what my options are.
You could try to re-implement the service as RESTful service or as a Web API and then use Azure's API Management to expose it to the outer world.
Hope it helps!
I have website build using python and I want to connect with point of sell in the client side
there is any way to send data and get result from windows service or any other way ?
You can create and send an HTTP/HTTPS request according to the configuration and specification of the WCF of the service you want to use.
WCF and Python
How to post complex type to WCF using Python's requests?
However, it may not be possible.
WCF with netTcpBinding + cPython
Please start with obtaining service specifications.
Well, I am thinking about creating a web application with C# and asp.net mvc 4. The idea is create an asp.net web application that can be use in any browser, so I can use my application anywhere and any computer.
But in the communication, can I use WCF or the communication is over HTTP and I can't choose other transport?
I mean that if WCF is only to communicate two desktop/mobile applications or it could be use for web applications too?
In a web application is possible to have a duplex communication?
You can use HTTP bindings in WCF if you want to use SOAP. Otherwise you may want to look into WebApi which provides a more natural abstraction over HTTP. For duplex communication over HTTP you can consider SignalR.
can I use WCF
Yes, WCF can be hosted in an asp.net application.
Duplex Communication cant induced easily in Client-server model where system is working in disconnected fashion.
What happen when when your client(browser) want some data.
1) Request comes to server
2) Server ask to WCF duplex service and forgot to wait for response as it is duplex in nature.
3) WCF duplex respond to Server with data
4) Now server can process that data either by saving or logging to Database but doesn't know who was the client that asked for and how to intimate them.
So what is the solution
User SignalR with Some weird coding.
OR
Call WCF service directly from Browser by jquery $.ajax call So your browser directly will have response from WCF service.
I want to ask if i built my server-client application using WCF technique can i connect java client application and objective-c client application with this server technique . because i want to build cross-platform application but i want the server to be c# server
Can I connect them together or not ?
is there another technique for the server application using c# ?
Yes you should be using RESTful service in order to create cross platform service. this way you can access your wcf service methods using
http://yourdomain.com//service.svc/users/{username}/bookmarks?tag={tag}
But there is a problem with consuming restful service you need to implement authentication in order to secure them properly to avoid DOS attack and other malicious use. Best approach to secure restful service is to use Hashing paramters in every service call. hash param could be derived from a secretkey,datetime, message salt etc.. for more info check this.
WCF, RESTful Web Services and custom authentication
I would suggest you should be creating restful service in JSON format so that it will be light weight and cause less overhead on data package.
http://www.codeproject.com/Articles/327420/WCF-REST-Service-with-JSON
Regards.
We are using WCF Services that transfer some data from a Client Application to the Server Application (WCF Service). This last one will apply an algorithm using these data and send back the result to the client.
We would like to authenticate the Client Application from the Server WCF Service. Would it be possible to get the Client Application Checksum directly from the WCF Service?
We are already using wsHttpBinding but we would like to add one more layer on the client application integrity.
Appreciate for your help,
Camille.
he WCF service can't get anything from the client unless the client sends it to the service. So if you can get your client to send your service the checksum (as a method parameter), then you're in business. WCF is not magic. Nor is any "service" technology for that matter. It is a simple tcp/ip communication between a client and a server. On both side, the only information that goes across is the information each side decides to send, nothing more.