"
ASP.NET (snapshot 2017) Microsoft documentation and samples

Browser Link in ASP.NET Core

By Nicolò Carandini, Mike Wasson, and Tom Dykstra

Browser Link is a feature in Visual Studio that creates a communication channel between the development environment and one or more web browsers. You can use Browser Link to refresh your web application in several browsers at once, which is useful for cross-browser testing.

ASP.NET Core 2.x

The ASP.NET Core 2.x Web Application, Empty, and Web API template projects use the Microsoft.AspNetCore.All meta-package, which contains a package reference for Microsoft.VisualStudio.Web.BrowserLink. Therefore, using the Microsoft.AspNetCore.All meta-package requires no further action to make Browser Link available for use.

ASP.NET Core 1.x

The ASP.NET Core 1.x Web Application project template has a package reference for the Microsoft.VisualStudio.Web.BrowserLink package. The Empty or Web API template projects require you to add a package reference to Microsoft.VisualStudio.Web.BrowserLink.

Since this is a Visual Studio feature, the easiest way to add the package to an Empty or Web API template project is to open the Package Manager Console (View > Other Windows > Package Manager Console) and run the following command:

install-package Microsoft.VisualStudio.Web.BrowserLink

Alternatively, you can use NuGet Package Manager. Right-click the project name in Solution Explorer and choose Manage NuGet Packages:

Open NuGet Package Manager
Open NuGet Package Manager

Find and install the package:

Add package with NuGet Package Manager
Add package with NuGet Package Manager

Configuration

In the Configure method of the Startup.cs file:

Usually the code is inside an if block that only enables Browser Link in the Development environment, as shown here:

For more information, see (xref:)Working with Multiple Environments.

When you have an ASP.NET Core project open, Visual Studio shows the Browser Link toolbar control next to the Debug Target toolbar control:

Browser Link drop-down menu
Browser Link drop-down menu

From the Browser Link toolbar control, you can:

[!NOTE] Some Visual Studio plug-ins, most notably Web Extension Pack 2015 and Web Extension Pack 2017, offer extended functionality for Browser Link, but some of the additional features don’t work with ASP.NET Core projects.

Refresh the web application in several browsers at once

To choose a single web browser to launch when starting the project, use the drop-down menu in the Debug Target toolbar control:

F5 drop-down menu
F5 drop-down menu

To open multiple browsers at once, choose Browse with… from the same drop-down. Hold down the CTRL key to select the browsers you want, and then click Browse:

Open many browsers at once
Open many browsers at once

Here’s a screenshot showing Visual Studio with the Index view open and two open browsers:

Sync with two browsers example
Sync with two browsers example

Hover over the Browser Link toolbar control to see the browsers that are connected to the project:

Hover tip
Hover tip

Change the Index view, and all connected browsers are updated when you click the Browser Link refresh button:

browsers-sync-to-changes
browsers-sync-to-changes

Browser Link also works with browsers that you launch from outside Visual Studio and navigate to the application URL.

Open the Browser Link Dashboard from the Browser Link drop down menu to manage the connection with open browsers:

open-browserslink-dashboard
open-browserslink-dashboard

If no browser is connected, you can start a non-debugging session by selecting the View in Browser link:

browserlink-dashboard-no-connections
browserlink-dashboard-no-connections

Otherwise, the connected browsers are shown with the path to the page that each browser is showing:

browserlink-dashboard-two-connections
browserlink-dashboard-two-connections

If you like, you can click on a listed browser name to refresh that single browser.

When you re-enable Browser Link after disabling it, you must refresh the browsers to reconnect them.

Enable or disable CSS Auto-Sync

When CSS Auto-Sync is enabled, connected browsers are automatically refreshed when you make any change to CSS files.

How does it work?

Browser Link uses SignalR to create a communication channel between Visual Studio and the browser. When Browser Link is enabled, Visual Studio acts as a SignalR server that multiple clients (browsers) can connect to. Browser Link also registers a middleware component in the ASP.NET request pipeline. This component injects special <script> references into every page request from the server. You can see the script references by selecting View source in the browser and scrolling to the end of the <body> tag content:

Your source files aren’t modified. The middleware component injects the script references dynamically.

Because the browser-side code is all JavaScript, it works on all browsers that SignalR supports without requiring a browser plug-in.



Comments ( )
Link to this page: //www.vb-net.com/AspNet-DocAndSamples-2017/aspnetcore/client-side/using-browserlink.htm
< THANKS ME>