Can't communicate with WebSocket server hosted on Azure - c#

I have recently hosted my .NET Core WebSocket server on Azure but I can't communicate with it from any client at all.
I used to host it locally on "wss://127.0.0.1:8080" using a self signed ssl certificate and everything worked fine, I also hosted it using SAP Hana Cockpit (uses Cloud Foundry api) and it worked if started on "http://0.0.0.0:8080", and I accessed both via "wss://ADDRESSWITHOUTPORT" from my angular client and both work fine.
When I host it on Azure and try to use it from client, it gives me Unexpected Response Message 200 (WebSockets don't even have that error, iirc), changing port/address/protocol doesn't seem to do anything at all.
What should I do?
If it's useful, this is my project https://github.com/JamesMaloney/WebSocketServer.NET
Thanks in advance, Giacomo

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.

Grpc-Web Application hosting in IIS

I have created a sample Grpc application with a basic ado .net query and I want to host the same in the IIS. The application works fine when I consume it from a net client but after hosting, I am getting an error in the client application when I try to consume the grpc endpoint.
'Status(StatusCode="Unimplemented", Detail="Bad gRPC response. HTTP status code: 404")'
I have created an entity a grpc app with ef core and a WCF service with EF6. when I compare the response times, the WCF service seems to respond quicker than grpc app. Am I missing anything?

What is buffering SignalR Server Sent Events on Azure Web Role?

I have a Xamarin app that connects to a SignalR server hosted on Azure.
Since it's Xamarin running over mono, websockets are not available.
When my server was hosted on Azure Mobile Services, the app used SSE.
I moved the server to a web role because mobile services were too limited.
Now my app fails to connect using SSE and falls back to long polling after the 5 seconds timeout interval.
I tried creating a new Web Role and only adding SignalR. Still get the same problem.
I have identified/tried the following:
It looks like the SSE request is being buffered somewhere in Azure. If I use a proxy I can see the request but the first response byte is received only after SignalR times out and closes the connection.
There is no proxy or similar on my network - I can still connect over SSE to my old mobile services server.
I turned on tracing on the server and it looks like SignalR is doing its thing - it returns the response to the SSE connect request.
I can also see the SSE request in IIS in the AuthorizeRequest stage which means the connection is opened.
I disabled dynamic compression. Didn't help.
To summarize, looks like the SSE connection is made, remains open, but something prevents the data from SignalR from reaching the client.
I read here that this can be an issue with the Http Platform Handler. But as far as I understand, this is not relevant to web role since it's normal C# code running in IIS.
Try using HTTPS - it will prevent proxies from messing with the event stream.

Connect to Web Server using HTTPS from .NET Client

I'm totally new to SSL. I have .NET client that connect to Web Server (SOAP-based web Services) using HTTPS. Do I need to do anything extra at the .NET client app? Current, the server end-point URL that I use is already HTTPS, and it seems to work fine. However, when comparing to browser, a browser knows when it's HTTPS connection (the pad lock at address bar). So, how do I ensure that my .NET client is connect via HTTPS connection? Thanks in advance.

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.

Categories