# TX Text Control Supports .NET 8 in ASP.NET Core Applications

> At the .NET Conf 2023, Microsoft officially announced .NET 8, which is the next long term support (LTS) release after .NET 6. TX Text Control .NET Server supports ASP.NET Core applications built with .NET 8, and this article shows some performance improvements.

- **Author:** Bjoern Meyer
- **Published:** 2023-11-16
- **Modified:** 2026-07-17
- **Description:** At the .NET Conf 2023, Microsoft officially announced .NET 8, which is the next long term support (LTS) release after .NET 6. TX Text Control .NET Server supports ASP.NET Core applications built with .NET 8, and this article shows some performance improvements.
- **5 min read** (839 words)
- **Tags:**
  - ASP.NET
  - .NET 8
  - ASP.NET Core
- **Web URL:** https://www.textcontrol.com/blog/2023/11/16/tx-text-control-supports-net-8-in-aspnet-core-applications/
- **LLMs URL:** https://www.textcontrol.com/blog/2023/11/16/tx-text-control-supports-net-8-in-aspnet-core-applications/llms.txt
- **LLMs-Full URL:** https://www.textcontrol.com/blog/2023/11/16/tx-text-control-supports-net-8-in-aspnet-core-applications/llms-full.txt

---

We are pleased to announce Day 0 support for the latest version of the .NET for TX Text Control .NET Server. At the [.NET Conf 2023](https://www.dotnetconf.net/), Microsoft officially announced .NET 8. This new version is supported for 3 years with free support and patches and is the LTS successor to .NET 6.

![.NET 8 release schedule](https://s1-www.textcontrol.com/assets/dist/blog/2023/11/16/a/assets/release-schedule.svg ".NET 8 release schedule")

All update notes and especially the performance improvements can be found in a very detailed blog post by Stephen Toub.

[Performance Improvements in .NET 8](https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-8/)

TX Text Control .NET Server 32.0 supports .NET 8 applications and we have tested our libraries with early versions and the final release version.

### Memory and Performance Improvements

To see how the memory footprint and performance improved, we created a simple *ASP.NET Core Web App* to test the new version.

### Creating the Application

Make sure that you downloaded the latest version of Visual Studio 2022 that comes with the [.NET 8 SDK](https://dotnet.microsoft.com/en-us/download/dotnet/8.0). Or download the .NET 8 SDK here:

[Download .NET 8.0](https://dotnet.microsoft.com/en-us/download/dotnet/8.0)

1. In Visual Studio 2022, create a new project by choosing *Create a new project*.
2. Select *ASP.NET Core Web App (Model-View-Controller)* as the project template and confirm with *Next*.
3. Choose a name for your project and confirm with *Next*.
4. In the next dialog, choose *.NET 8 (Long-term support)* as the *Framework* and confirm with *Create*.
    
    ![Creating the .NET 6 project](https://s1-www.textcontrol.com/assets/dist/blog/2023/11/16/a/assets/visualstudio1.webp "Creating the .NET 6 project")

#### Adding the NuGet Package

5. In the *Solution Explorer*, select your created project and choose *Manage NuGet Packages...* from the *Project* main menu.
    
    Select *Text Control Offline Packages* from the *Package source* drop-down.
    
    Install the latest versions of the following packages:
    
    
    - **TXTextControl.TextControl.ASP.SDK**
    - **TXTextControl.Web**
    
    ![ASP.NET Core Web Application](https://s1-www.textcontrol.com/assets/dist/blog/2023/11/16/a/assets/visualstudio2.webp "ASP.NET Core Web Application")

#### Configure the Application

6. Open the *Program.cs* file located in the project's root folder.
    
    At the very top of the file, insert the following code:
    
    ```
    using TXTextControl.Web;
    ```
    
    Add the following code after the entry `app.UseStaticFiles();`:
    
    ```
    // enable Web Sockets
    app.UseWebSockets();
    
    // attach the Text Control WebSocketHandler middleware
    app.UseTXWebSocketMiddleware();
    ```

#### Adding the Control to the View

7. Find the *Index.cshtml* file in the *Views -> Home* folder. Replace the complete content with the following code to add the document editor to the view:
    
    ```
    @using TXTextControl.Web.MVC
    
    @Html.TXTextControl().TextControl().Render()
    
    <input type="button" onclick="loadDocument()" value="Generate Document" />
    
    @section Scripts {
        <script>
            function loadDocument() {
                $.get('@Url.Action("LoadDocument")', function (data) {
                    TXTextControl.loadDocument(TXTextControl.StreamType.InternalUnicodeFormat, data);
                });
            }
        </script>
    }
    ```
    
    This code adds the Document Editor and a button to the view that loads a document generated in a server-side controller method.
8. Find the *HomeController.cs* file in the *Controllers* folder. Insert the following method to the file:
    
    ```
    [HttpGet]
    [Route("Home/LoadDocument")]
    public IActionResult LoadDocument()
    {
        byte[] document;
    
        using (var tx = new TXTextControl.ServerTextControl())
        {
            tx.Create();
            tx.Load("App_Data/invoice.tx", TXTextControl.StreamType.InternalUnicodeFormat);
    
            var jsonData = System.IO.File.ReadAllText("App_Data/data.json");
    
            using (var mailMerge = new MailMerge { TextComponent = tx })
            {
                mailMerge.MergeJsonData(jsonData, true);
            }
    
            tx.Save(out document, TXTextControl.BinaryStreamType.InternalUnicodeFormat);
        }
    
        return new JsonResult(document);
    }
    ```
9. Create a folder named *App\_Data* in the root of your project. Copy the files contained in [this ZIP](https://s1-www.textcontrol.com/assets/dist/blog/2023/11/16/a/assets/files.zip) file into this folder.

#### Executing the Application

When the button is clicked, the MailMerge class is used to merge the JSON data into a template, which is then returned to the editor. The Visual Studio *Diagnostic Tools* are used to monitor memory usage and document merge time. These values will be compared to the same application that is running with .NET 6.

Start the application by pressing *F5* and click the *Generate Document* button. The document is loaded and the merge process is started. The following screenshots shows the memory usage and the merge time:

#### .NET 8

In .NET 8, the maximum amount of memory that the application will use is 285 MB or process memory. The *ServerGarbageCollection* option is set to true for this demo. More information on the differences is available here: [Workstation and server garbage collection](https://learn.microsoft.com/en-us/dotnet/standard/garbage-collection/workstation-server-gc).

The time it takes to load the template, merge the JSON data, and export the document, resulting in a 25-page document, is approximately 1.9 seconds.

![Memory usage and merge time](https://s1-www.textcontrol.com/assets/dist/blog/2023/11/16/a/assets/visualstudio3.webp "Memory usage and merge time")

#### .NET 6

The same application running with .NET 6 uses 451 MB of process memory. The average time to create the document using the same template and data is approximately 2.4 seconds.

![Memory usage and merge time](https://s1-www.textcontrol.com/assets/dist/blog/2023/11/16/a/assets/visualstudio4.webp "Memory usage and merge time")

#### Conclusion

NET 8 uses approximately 35% less process memory than .NET 6 for this particular benchmark application. The time it takes to generate the document in the controller method is reduced by about 18%.

---

## About Bjoern Meyer

As CEO, Bjoern is the visionary behind our strategic direction and business development, bridging the gap between our customers and engineering teams. His deep passion for coding and web technologies drives the creation of innovative products. If you're at a tech conference, be sure to stop by our booth - you'll most likely meet Bjoern in person. With an advanced graduate degree (Dipl. Inf.) in Computer Science, specializing in AI, from the University of Bremen, Bjoern brings significant expertise to his role. In his spare time, Bjoern enjoys running, paragliding, mountain biking, and playing the piano.

- [LinkedIn](https://www.linkedin.com/in/bjoernmeyer/)
- [X](https://x.com/txbjoern)
- [GitHub](https://github.com/bjoerntx)

---

## Related Posts

- [AI Natural Language Document Generation with MCP and TX Text Control .NET](https://www.textcontrol.com/blog/2026/07/16/ai-natural-language-document-generation-with-mcp-server-and-tx-text-control-dotnet/llms.txt)
- [WeAreDevelopers World Congress Europe 2026 Wrap Up: Record Breaking Days in Berlin](https://www.textcontrol.com/blog/2026/07/13/wearedevelopers-world-congress-europe-2026-wrap-up-record-breaking-days-in-berlin/llms.txt)
- [C# Document Generation: A Developer's Guide for .NET](https://www.textcontrol.com/blog/2026/07/08/csharp-document-generation-developer-guide-for-dotnet/llms.txt)
- [Validating PDF/UA Documents in .NET C#: A Practical Guide](https://www.textcontrol.com/blog/2026/07/06/validating-pdf-ua-documents-in-dotnet-csharp/llms.txt)
- [See Text Control at WeAreDevelopers World Congress Europe 2026 in Berlin](https://www.textcontrol.com/blog/2026/07/06/see-text-control-at-wearedevelopers-world-congress-europe-2026-in-berlin/llms.txt)
- [DWX 2026 Wrap-Up: Four Days of Innovation, Conversations, and Enterprise Document Solutions](https://www.textcontrol.com/blog/2026/07/03/dwx-2026-wrap-up-four-days-of-innovation-conversations-and-enterprise-document-solutions/llms.txt)
- [Create SignFabric Envelopes from Mail Merge Templates in .NET C#](https://www.textcontrol.com/blog/2026/06/23/create-signfabric-envelopes-from-mail-merge-templates-using-dotnet-csharp/llms.txt)
- [Convert SSRS RDL Reports to DOCX and TX Text Control Templates in .NET C#](https://www.textcontrol.com/blog/2026/06/22/convert-ssrs-rdl-reports-to-docx-and-tx-text-control-templates-in-dotnet-csharp/llms.txt)
- [Export Document Tables to CSV in .NET C#](https://www.textcontrol.com/blog/2026/06/19/export-document-tables-to-csv-in-dotnet-csharp/llms.txt)
- [Major SignFabric Updates: Stronger Audit Trails, Validation, and Recipient Workflows](https://www.textcontrol.com/blog/2026/06/17/major-signfabric-updates-stronger-audit-trails-validation-and-recipient-workflows/llms.txt)
- [Text Control Expands North American Conference Presence with WeAreDevelopers World Congress North America](https://www.textcontrol.com/blog/2026/06/12/text-control-expands-north-american-conference-presence-with-wearedevelopers-world-congress-north-america/llms.txt)
- [Converting HTML to Markdown in C# .NET](https://www.textcontrol.com/blog/2026/06/11/converting-html-to-markdown-in-csharp-dot-net/llms.txt)
- [Beyond WebSockets: A Glimpse into the Future of Document Editing with WebAssembly](https://www.textcontrol.com/blog/2026/06/10/beyond-websockets-glimpse-future-document-editing-webassembly/llms.txt)
- [Showcasing the Future of Document Processing at Developer World DWX 2026](https://www.textcontrol.com/blog/2026/06/08/showcasing-the-future-of-document-processing-at-dwx-developer-week-2026/llms.txt)
- [PDF Security Explained: Passwords, Permissions, Encryption and Digital Signatures in C# .NET](https://www.textcontrol.com/blog/2026/06/08/pdf-security-explained-passwords-permissions-encryption-and-digital-signatures-in-csharp-dotnet/llms.txt)
- [NDC Copenhagen 2026: Great Days in the Heart of Copenhagen's Developer Community](https://www.textcontrol.com/blog/2026/06/05/ndc-copenhagen-2026-great-days-in-the-heart-of-copenhagens-developer-community/llms.txt)
- [Automatically Mapping TX Text Control Form Fields to JSON Data in .NET C#](https://www.textcontrol.com/blog/2026/06/03/automatically-mapping-tx-text-control-form-fields-to-json-data-in-dotnet-csharp/llms.txt)
- [Getting Started with SignFabric: From Clone to Your First Signature Envelope](https://www.textcontrol.com/blog/2026/06/02/getting-started-with-signfabric-from-clone-to-your-first-signature-envelope/llms.txt)
- [We Never Pause - Join Us at NDC Copenhagen 2026](https://www.textcontrol.com/blog/2026/05/27/we-never-pause-join-us-at-ndc-copenhagen-2026/llms.txt)
- [MD DevDays 2026: Record Attendance, Packed Expo Hall, and Three Great Days in Magdeburg](https://www.textcontrol.com/blog/2026/05/21/md-devdays-2026-record-attendance-packed-expo-hall-and-three-great-days-in-magdeburg/llms.txt)
- [TX Text Control 34.0 SP4 is Now Available: What's New in the Latest Version](https://www.textcontrol.com/blog/2026/05/20/tx-text-control-34-0-sp4-is-now-available/llms.txt)
- [Techorama 2026: Welcome to The Document Forge](https://www.textcontrol.com/blog/2026/05/15/techorama-2026-welcome-to-the-document-forge/llms.txt)
- [Signed CycloneDX SBOMs for CRA Compliance Available for Text Control Products](https://www.textcontrol.com/blog/2026/05/08/signed-cyclonedx-sboms-for-cra-compliance-available-for-text-control-products/llms.txt)
- [Introducing SignFabric: An Open Source, Enterprise-Ready E-Sign Platform Built with TX Text Control](https://www.textcontrol.com/blog/2026/05/06/introducing-signfabric-an-open-source-enterprise-ready-esign-platform-built-with-tx-text-control/llms.txt)
- [TX Text Control vs IronPDF for Enterprise PDF Workflows: Complete Comparison Guide](https://www.textcontrol.com/blog/2026/04/28/tx-text-control-vs-ironpdf-for-enterprise-pdf-workflows-complete-comparison-guide/llms.txt)
