SignalR: Connection.Start().Wait() hangs the browser indefinitely - signalr.client

I am using ver 0.5.3 of SignalR assembly in my silverlight application. I use connection.Start().wait() to start the connection:
Some of my observations are, which are really strange:
I run the application (In-Browser) mode via Visual Studio and I am able to establish the connection with the SignalR hub
If I deploy the app in IIS and then try accessing the application using the IP address of the machine, the call to connection.start().wait() never returns. I checked the Fiddler and figured out that the call never goes to the SignalR hub
If I use the application in OOB mode (Out of Browser mode), application works without any issue.
My requirement is that it should work in in-Browser mode.
Can somebody throw some light, what could be the issue?
Thanks,
Alpee

It appears to me that you are running into Silverlight's cross-domain request restrictions when run in-browser. You can either host the silverlight application on the same domain that is running SignalR, or you could add a clientaccesspolicy.xml or crossdomain.xml file to the root of the domain running SignalR as suggested in the above link.

Related

SignalR between VsCode dev containers using default bridge network

If I create two ASP Core web services in VsCode and implement a SignalR hub in one which is connected to by the other (Dotnet 5, SignalR client library 5.11). This works fine. I can push these services up to Azure and it still works fine.
If however I open these webservices locally in a VsCode dev container and configure them to connect using the default Docker bridge network and the default forwarded port, I get a Connection Refused exception on the HubConnection.StartAsync call.
Why is this and how do I fix it?
I've tried a few things, using the http and https ports, disabling SSL verification in the client service but nothing works so far. I think I need some information on why this isn't working in the first place before I have much chance of coming up with a solution.
The problem was that that Kestrel was still listening on the default network interface inside the Docker container and I needed to reconfigure it to listen on all interfaces for the connection to work.
So in launchsettings.json I needed to change applicationUrl from "https://localhost:5003;http://localhost:5002" to "https://0.0.0.0:5003;http://0.0.0.0:5002" and then everything worked pefectly.

ASP.NET Core Application registers following url https://gearssdk.opswat.com/ even though I was not registered it

I have noticed that my app is receiving requests to https://gearssdk.opswat.com/ even though I never registered this url
I'm building asp.net core web app with asp.net.core 3.1 framework
screenshot
edit:
this happens both on my PC during debugging and on staging instances
this url is not resolving when app is not running.
It looks to me like your app might be intercepting traffic intended for some security tool that's installed on your machine.
If you run nslookup gearssdk.opswat.com from your machine, you should get a response of 127.0.0.1, which is the local loopback address. You could try listening on a different port

Is it possible to host dache cache on IIS?

I'm developing a Web App with Dache, Thanks the author for the fantastic library.
Unfortunately, I have a big problem with it.
In previous version of 1.5.6, it was worse. but in 1.5.6 it's better but still I get The following exception:
There are no reachable cache hosts available. Verify your client settings and ensure that all cache hosts can be successfully communicated with from this client.
In developing, I get the exception after 2 or 3 times build, and I have to restart cache service and stop IIS Express to remove the exception.
In the web app after some hours the clients disconnect from cache service. and I have to restart the cache service and web sites to remove the exception.
I hosted dache on windows service.
I think the problem is for comunications between dache host and dache clients.
So, Is it possible to host dache cache on IIS like a WCF service instead of windows service?
You can host Dache in your own process using the Nuget package. More information available on the Dache wiki:

Run WCF Service from Metro App Client

I have a WCF service which is hosted on localhost, and I have a Metro app which consumes the service. Currently, for using the service, I have to separately run the service in a separate instance of Visual Studio, and after that I run the Metro App client.
Is there any way I can set the client app to start running the service as soon as the app starts, and not again and again start the service separately before the app?
Thanks in advance.
You should host the WCF service using full-blown IIS instead of IIS Express within Visual Studio. You can change this via the Web Tab of the project properties. By using IIS instead of IIS Express, the WCF service will always be listening for requests.
AFAIK, Windows 8 does not support (yet) the communication on localhost from a Metro App to a WCF service. The reason it works in VS is because they did allow this for development use. If you want a continuously running service available, use another (virtual) machine to host it separately.
Alternatively, check out this question on SO for more information about this issue.

how to debug a WCF service once it's out of dev env

I have a WCF service that i've been able to communicate with fine while it's hosted locally.
I have it deployed to a web server in IIS now, and I can get the wsdl file without error by navigating to http://site.com:8000/service/servicename.svc?wsdl
in trying to test this, i've created a console app and was able to successfully add a service reference to this. But when I try to run a Get() method on the service reference, it just hangs with no response.
How can I begin to debug this?
Thanks!
When you have a service that works in dev but not in IIS, it is often due to a problem with the WCF configuration:
Is the configuration in place (since you can add service reference it probably is)
Is the protocol you are using available. The configuration you are using must match what is turned on. For example are you using nettcpip binding without WAS.