Search

Atalasoft Knowledge Base

FAQ: Support for ASP.NET Core / .NET Core

Administrator
DotImage

<

.NET Core (sometimes referred to as .NET Core Native)

A lot of customers have asked about "full .NET Core native" support.

DotImage is a .NET SDK .. in the past, before .NET Core, that was clear enough as the only ".NET" was shorthand for .NET Framework.

Now with Microsoft .NET Core and .NET Framework and ASP.NET Core, there can be confusion.

Our SDK is still a .NET Framework SDK, and unfortunately, at this time, the answer is no, we do not support .NET Core Native

Support for ASP.NET Core Apps for WebDocumentViewer and WebCapture

As of 11.0, we now do have support for ASP.NET Core apps targeting the .NET framework for our WebDocumentViewer

IMPORTANT NOTE:
Atalasoft DotImage components can be used along with ASP.Net Core libraries, but it requires the application to be built for .Net Framework 4.5.2 for ASP.NET Core 1.x and at least Framework 4.6.2 for ASP.NET Core 2.x

You should create new projects in Visual Studio from the ASP.NET Core Web Application template, using .NET Framework and ASP.NET Core 1.1 like this:

By default the left combobox has value .NET Core which we do not support. If you try to create new project with default settings, you won't be able to use the WDV.

NOTE: we do support targeting ASP.NET core 2.x .. version 11.0 works with it, but you  will need to target at least .NET framework 4.6.2

We have a similar screenshot in our tutorial, but Microsoft updated its template in a recent Visual Studio update.

Customizing Middleware / Event Handling (Formerly Custom Handler)

In the tutorial, you will see a brief mention about customizing the middleware:

If you want to customize this middleware, you can choose another overload of the method RunWebDocumentViewerMiddleware that accepts implementation of the interface IWebDocumentViewerCallbacks.

However, it's a bit light on details. So here's the "missing piece"

Instead of this line

    app.Map("/wdv", wdvApp => { wdvApp.RunWebDocumentViewerMiddleware(); });

use this line:

	app.Map("/wdv", wdvApp => { wdvApp.RunWebDocumentViewerMiddleware(new MyWDVCallbacks()); } );

and add this class

public class MyWDVCallbacks : WebDocumentViewerCallbacks
{
    public override void DocumentInfoRequested(DocumentInfoRequestedEventArgs args)
    {
        Console.WriteLine("**********===DocumentInfoRequested===**********");
        base.DocumentInfoRequested(args);
    }

    public override void ImageRequested(ImageRequestedEventArgs args)
    {
        Console.WriteLine("**********===ImageRequested===**********");
        base.ImageRequested(args);
    }
    
    /*
     * The above was just an example of hooking to the two main events.. you can handle any exposed event here
     *
     * //.. most common ...
     *  AnnotationDataRequested
     *  DocumentSave
     *  DocumentStreamWritten
     *  AnnotationStreamWritten
     *  //.. less common .
     *  PageTextRequested
     *  PdfFormRequested
     *  //.. rarely if ever used ..
     *  ReleaseDocumentStream
     *  ReleasePageStream
     *  ResolveDocumentUri
     *  ResolvePageUri
     */
}


Support for ASP.NET Core 2.x

The 11.0 and 11.1 versions were only certified for ASP.NET Core 1.x (Targeting .NET Framework 4.5.2 or higher). It was possible to target ASP.NET Core 2.x, but was not officially certified.

The 11.2 version now officially supports ASP.NET Core 2.1 targeting .NET Framework 4.6.1 or higher.

Support for ASP.NET Core in Legacy Web Controls

Our legacy web controls (WebImageViewer / WebAnnotationViewer / WebThumbnailViewer) do NOT have any support for ASP.NET Core or .NET Core native. The only support for ASP.NET Core we provide at this time is for the new WebDocumentViewer / WebDocumentThumbnailer controls mentioned above.

ASP.NET Core Blazor

The question of whether we support ASP.NET Core Blazor has come up. At this time (as of 11.2) we do not officially support it.

Indications are that it may be possible to use jQuery and js within the Blazor pages, and in theory if they let you run them and you can load our required js and css files and reference the required jQuery, jQuery-UI, etc, it might be able to work.

Please see https://www.talkingdotnet.com/using-jquery-with-asp-net-core-blazor/

However, at this time it is not tested and would be considered "use at your own risk". We require an IIS server on the back end running ASP.NET or ASP.NET Core (targeting .NET Framework) for our handler / middle-wear to run. There is no client-only option.

More Resources

INFO: ASP.NET Core WDV Whitepaper - Getting Started

Original Article:

Q10467 - FAQ: Support for ASP.NET Core / .NET Core

Details
Last Modified: Last Month
Last Modified By: Tananda
Type: FAQ
Article not rated yet.
Article has been viewed 5.2K times.
Options
Also In This Category