I use Visual Studio Enterprise 2022 (64-bit) version 17.4, .Net 7, and BlazorWebAssembly.
When I use BlazorWebAssembly and try to debug a Blazor client-side app, I keep getting the error
Debugging connection was closed. Reason : WebSocket disconnected
This is my code launchSettings.json
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:33139",
"sslPort": 0
}
},
"profiles": {
"BlazorApp": {
"commandName": "Project",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}",
"applicationUrl": "http://localhost:5149",
"dotnetRunMessages": true
},
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}"
},
"WSL": {
"commandName": "WSL2",
"launchBrowser": true,
"launchUrl": "http://localhost:5149",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development",
"ASPNETCORE_URLS": "http://localhost:5149"
},
"distributionName": ""
}
}
}
I try this Debug ASP.NET Core Blazor WebAssembly
but it doesn't work.
Add app.UseBlazorDebugging(); inside the if (env.IsDevelopment()) block in Startup.cs will resolved your issue.
Related
Hello I want to apply Hsts (Strict-Transport-Security) and I want to implement and test in my local.
But i can't change my application Url from http to https version . I tried solutions on other answers but did not worked. I tried 443 port / I tried delete .vs config file but it does not exist.
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "https://localhost:47000",// This was working http
"sslPort": 0
}
},
"$schema": "http://json.schemastore.org/launchsettings.json",
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"launchUrl": "swagger/index.html",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"Product.Core.WebApi": {
"commandName": "Project",
"launchBrowser": true,
"launchUrl": "api/values",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"applicationUrl": "http://localhost:5000"
}
}
}
When I try I couldn't run this project in my computer today but my teammates can run at their own computer. By the way I can run other projects. My launchSettings file like this:
{
"$schema": "http://json.schemastore.org/launchsettings.json",
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:4321",
"sslPort": 0
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
//"launchUrl": "User",
"launchUrl": "swagger",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"Dashboard.WebAPI": {
"commandName": "Project",
"launchBrowser": true,
"launchUrl": "User",
"applicationUrl": "http://localhost:5000",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
But when I run this project my url is opening as "https://localhost:4321/swagger/index.html".
I guess this problem is because this url is run as "https" but my applicationUrl is "http".
What could be the cause of this problem?
Edit:
My browser:
Either disable Https redirection in your Startup.cs/Program.cs depending whether you use .net5 or .net6 or put your sslPort value in launchSettings.json to a 4322 port (or some other of your choosing, just not any that are in use) and it'll work.
Edit:
{
"$schema": "http://json.schemastore.org/launchsettings.json",
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:4321","https://localhost:4322",
"sslPort": 4322
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
//"launchUrl": "User",
"launchUrl": "swagger",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"Dashboard.WebAPI": {
"commandName": "Project",
"launchBrowser": true,
"launchUrl": "User",
"applicationUrl": "http://localhost:5000","https://localhost:5001"
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
On the Visual Studio toolbar their is a dropdown that allows you to select which profile to run. I suspect you are running the IIS Express profile when you want to run the Dashboard.WebAPI profile. If you see "IIS Express" on your toolbar with a green arrow to the left of it then select the dropdown and choose Dashboard.WebAPI (see mocked up image below)
Created project by Micosoft Visual Studio "ASP.NET with React+Redux" template. In that case app running by IIS Express. But hot-reload for react-app doesn't work and shows error in console: "WebSocket connection to 'wss://localhost:54691/ws' failed:"
After some research, I found a solution: disable SSL in IIS settings. But how can I achieve using hot reload when SSL is enabled?
package.json dependencies:
"dependencies": {
"#emotion/react": "^11.8.2",
"#emotion/styled": "^11.8.1",
"#mui/material": "^5.5.2",
"#reduxjs/toolkit": "^1.8.1",
"history": "4.10.1",
"node-sass": "^6.0.1",
"react": "^18.0.0",
"react-dom": "^18.0.0",
"react-scripts": "5.0.0",
"react-redux": "~7.2.6",
"react-router-dom": "6.2.1",
"redux": "4.1.2",
"redux-thunk": "2.4.1",
"typescript": "4.4.4"
},
launchSettings.json generated by template (SSL enabled)
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:48763",
"sslPort": 44373
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"MyProject": {
"commandName": "Project",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"applicationUrl": "https://localhost:5001;http://localhost:5000"
}
}
error message:
WebSocketClient.js:16 WebSocket connection to 'wss://localhost:54691/ws' failed:
WebSocketClient # WebSocketClient.js:16
initSocket # socket.js:24
./node_modules/webpack-dev-server/client/index.js?protocol=ws%3A&hostname=0.0.0.0&port=54691&pathname=%2Fws&logging=none&reconnect=10 # index.js:273
options.factory # react refresh:6
__webpack_require__
When debugging in VS 2019 the api url automatically opens which is different from the angular live url.
The angular live url is my actual complete application. Is there a way to open that url automatically when debugging?
I think you need to modify your json config a little bit. So when you use VS to run your code or using dotnet run command you will use port 59709 to run your app
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:59709/",
"sslPort": 0
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"ancmHostingModel": "InProcess"
},
"KaddaTechnologies": {
"commandName": "Project",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"applicationUrl": "http://localhost:59709/"
}
}
}
My launchSettings.json is (after changing launchUrl to applicationUrl):
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:5000/",
"sslPort": 0
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"applicationUrl": "http://localhost:5050/"
},
"Project Development": {
"commandName": "Project",
"launchBrowser": true,
"applicationUrl": "http://localhost:5050/"
}
}
}
Previously both profiles opened http://localhost:5050/. Now second profile just starts the server and first shows "The project doesn't know how to run the profile IIS Express" error.