# JSViewer CORS(Core)

This topic demonstrates the use of the ActiveReports JSViewer when the server is hosted elsewhere with an ASP.NET Core back-end.

## Content

The JSViewer\_CORS\_Core sample demonstrates using the ActiveReports JSViewer when the server is hosted elsewhere with an ASP.NET Core back-end. The sample consists of two applications - client and server, to demonstrate using the CORS (Cross-origin resource sharing) where

* a client requests resources (reports) from one server and
* the server sends a response back to the client.

![Screenshot 2025-06-13 130847](https://cdn.mescius.io/document-site-files/images/b298aea2-8cb8-4a0f-be88-4f54aa263ebd/Screenshot%202025-06-13%20130847.d5fd2f.png)

### Sample Location

[https://github.com/activereports/WebSamples20/tree/main/JSViewer_CORS_Core](https://github.com/activereports/WebSamples19/tree/main/JSViewer_CORS_Core)

### Details

First, you need to build both applications and then run the **Server** application followed by the **Client** application.
When you run the applications, you will see that the client application displays JSViewer on the browser with a list of reports. Clicking the report link in the left panel opens the report for preview. You can preview the following reports.

* AcmeStore.rdlx
* AnnualReport.rdlx
* Invoice.rdlx
* Invoice.rpx
* InvoiceList.rdlx
* Invoice\_Colored.rpx
* Project & Resource Analysis - Staff Performance Analysis.rdlx
* Statistical analysis scatter plot.rdlx
* User defined report columns.rdlx

The Server application consists of the following elements.

* Controllers folder: This folder contains the **HomeController** that handles the user interaction and returns the main Index view.
* packages.config
* Startup.cs: The startup file adds the **UseReportViewer()** middleware to configure the middleware for ActiveReports API and handlers, and the **UseCors()** middleware to enable CORS.
* Web.config: This configuration file contains the httpHandlers that allow ActiveReports to process reports on the Web. Note that you need to manually update version information here when you update your version of ActiveReports.