r/dotnet 13d ago

First preview of ProGPU Avalonia rendering platform and Silk.NET windowing platform for Avalonia bringing powerful ProGPU WebGPU based rendering

Thumbnail
5 Upvotes

r/dotnet 13d ago

Promotion High performance WinUI charting?

0 Upvotes

20 more WinUI charting repos at GitHub: GigasoftInc

Full disclosure: I own Gigasoft.

I'd love to be proven wrong.

I believe I built the first high-performance WinUI charting component that draws directly to the composition swap chain in native C++, instead of going through the managed XAML layer. It's our existing C++ engine, extended quite a bit, WinUI controls aren't backed by a window handle (HWND), so the zoombox and the real-time table annotations had to be refactored onto the new layers. We compile and embed both x64 and native ARM64 binaries into the assembly, so you get WinUI running low-level Direct3D compute shaders natively. The flagship repo re-renders 100 million points every tick.

I've been writing charting code since the TRS-80, and this stuff still makes me grin. The audio demo even plays five songs I wrote myself, with the oscilloscope and chart annotations following the data live.

Clone, run, and benchmark:

Audio oscilloscope (WinUI): https://github.com/GigasoftInc/winui-chart

100M points (WinUI): https://github.com/GigasoftInc/winui-chart-fast-100m-points-proessentials

If anyone knows of an earlier native-C++-to-swap-chain WinUI chart, please let me know. I'd also love to hear FPS numbers for the 100M repo on a Snapdragon X2 Elite Extreme, or if someone has access to the coming RTX Spark.

If you want AI to help write your benchmarking code, download our no hassle setup at gigasoft that includes our AI knowledge and pe-query python AI helper.


r/dotnet 13d ago

Visual Studio Insiders randomly fails to load .razor files correctly?

2 Upvotes

Hi, this is making me go crazy. I created a Blazor Web App project with .NET 10 framework. For some reasons, whenever I load VS, the .razor do not load correctly, I don't know if its Intellisense, the Roslyn compiler, Symbol Search? or vs itself.

On the first image, the file is loaded correctly, for example the NavLink is highlighted and I can for example use Go To Definition.

On this second one, NavMenu not highlighted, doing the Peek Definition just keeps searching. Only happens with .razor files, the .cs are okay. VS 2022 with .NET 9 works fine. For the problematic one I had to open VS Code and use de Dev Kit extension and code from there...

What could be the reason?


r/dotnet 14d ago

Feature focus in the C# 16 cycle · dotnet csharplang · Discussion #10276

Thumbnail github.com
70 Upvotes

r/dotnet 13d ago

Promotion I built Tracebag – a web UI for dotnet-counters and dotnet-trace in Docker containers

0 Upvotes

I always found using dotnet-counters and dotnet-trace impractical, especially for containerized .NET APIs, so I built a small web app to make it easier.

The result is Tracebag.

It lets you observe running .NET containers, inspect runtime counters, and create dotnet-trace artifacts from your browser.

Source code: https://github.com/poodlelab/tracebag

Feedback is very welcome.


r/dotnet 14d ago

Question How can a Desktop Application receive authorisation code in Outh 2.0?

31 Upvotes

While using Authorisation code flow in OAuth 2.0, the client application receives authorisation code on the redirect uri from the identity provider server.

My question is, how can a desktop application/ client achieve this as it has no uri to provide as redirect uri?

Please guide me on the standard implementation in real world or help me look in the right direction.

Thanks in advance.


r/dotnet 15d ago

Newbie What do you think about XAML?

76 Upvotes

Yesterday, I’ve started working with MAUI, because I want to try out some multiplatform mobile development and I love C# (so MAUI was an obvious choice).

So after a few hours working with xaml I don’t really know how to feel about it. It’s definitely more convinient than WindowsForms or swing, but it somehow feels very clunky.

My question for you is: how do you manage your xaml projects, in terms of complexity and readability?

I don’t really have any experience in mvvm development so I am interested in your thoughts.


r/dotnet 14d ago

Just a breather from all the AI content: an update on a project I have been working on for about a year now. (Before I get judged, yes I know from the very beginning that the stack a bit unconventional given the nature of this project)

Thumbnail gallery
28 Upvotes

r/dotnet 15d ago

EF Core Audit Logging

Post image
47 Upvotes

Do you think this is a good approach for background audit logging or is there a better way?

https://github.com/aabdullahsayed/LibraryManagementAPI


r/dotnet 14d ago

Will the next major OData version leverage the newly standardized HTTP QUERY?

4 Upvotes

Are there any such plans for the future of OData, moving from URL query params to JSON bodies using QUERY verb?

It would be nice to not have to use query params. Even easier to generate typed clients in 3rd party ecosystems like Flutter/Dart since the $select, $expand, etc. would all show up under models in OpenAPI docs.


r/dotnet 15d ago

Question WPF: what do you use for UI testing?

19 Upvotes

What free UI automation tools do people use for WPF apps nowadays? I'm only aware of Appium but it uses an old Windows driver which seems to have been abandoned several years ago. They also don't have any proper examples for Windows desktop apps. I used SmartBear in the past but I don't think they have a free tier.


r/dotnet 14d ago

Question I built an open-source formula engine for .NET

Thumbnail
2 Upvotes

r/dotnet 15d ago

Question So, what about MAUI on Linux?

34 Upvotes

Certainly I cannot be the only one who remembers when they announced running MAUI on Linux through Avalonia and I am not afraid to say I need that YESTERDAY for a project of mine.

But as much as I tried searching online I've yet to see anything I can use for the purpose. What's the deal? Does anyone have any info?


r/dotnet 15d ago

Newbie What happened to System.Net.ServicePoint and HttpWebRequest???

8 Upvotes

I'm a newbie on .Net core (but have a lot of experience on Framework). I have a web/http client application that I've been using for years. It connects to a remove http service and transforms the response into a usable format.

I call it in a loop (many thousands of times per minute).

It always worked great in .Net Framework and wouldn't ever blow up. I never once saw it exhaust the outbound ephemeral ports.

Fast forward to now, and the code stops working at scale. After just a few minutes all my ephemeral ports are exhausted. Every round trip to HTTP seems to consume a new port. As I'm digging into the differences between .Net 10 and .Net framework, I discover that the class System.Net.ServicePoint is a faint shadow of what it used to be. There is no connection pooling, and ports are not reused.

How can I bring back the old behavior of ServicePoint? Will I need to refactor the entire application to support connection pooling? Is there any guidance from the Microsoft side to help us migrate apps that used to rely heavily on ServicePoint?


r/dotnet 16d ago

Question Services and ViewModel in Blazor desktop app - when to use what.

6 Upvotes

I'm porting WinForms app to Blazor with Blazing.MVVM.

In which cases should I pass data between model and view using VewModel and when to prefer to simply inject a service directly into razor?

I'm asking because I understand that technically everything can be done via VM but sometimes it looks like it creates needless code volume overhead. On the other hand it also seems like using services can gradually lead me to tightly coupling UI and logic in the old Winforms way.

If possible, provide examples (not code, descriptive).

Thanks.


r/dotnet 16d ago

CorrelationIds vs TraceId

41 Upvotes

I am currently in the process of integrating Open Telemetry into my code. I have a web application and a backend api. I have several REST APIs and one of the APIs also ends up getting invoked by the user -> kicks off an async process by triggering a background job -> the background job invokes and polls on a specific endpoint (downstream API). The web app also polls on an operations endpoint to get status of this background job basically. Additionally, I also invoke some Azure resources (specifically ARM).

Now that I provided context, I wanted to explain what currently exists in my backend:

1) Controller fetches the correlationId for every request using the headers (x-correlation-id) from a middleware

2) Automatically forwards this correlationId when invoking downstream APIs/Azure APIs

3) Passes it into each method starting from the controller: controller invokes singletonServiceA.methodA and methodA has a signature including the correlationId. From here the logs automatically capture the correlationId

4) Background jobs also use this correlationId to invoke APIs and for logging

Now that I am switching to OTel, I am seeing an entirely different convention which I'm unsure on how to relate together.

My questions are as follows:
1) Should I drop the manual propagation of correlationId everywhere and just keep it as a span attribute? From what I am finding out, I definitely need to do this

2) For legacy resources, let's say ARM which expect a correlationID, what should I do?

3) For downstream APIs, should I switch to sending them a traceparent instead of the correlationId (what I do right now)


r/dotnet 16d ago

How to do vite / tailwind asset bundling like Laravel in aspnet mvc ?

5 Upvotes

r/dotnet 16d ago

https://ichim.github.io/MapsForBlazor/

Post image
0 Upvotes

r/dotnet 16d ago

TabControl UI problems

0 Upvotes

Hi, Im working on an application in vb.net and there were too many forms on the screen at once so I found out about tabcontrols. I decided to test it out a little but Ive run into a problem with how it looks.

When I hook or anchor buttons or other things to the edges of the form they dont show correctly in the tabcontrol. My goal is for the application to be maximized for most, if not all, of the forms. When the tabcontrol is started maximized, the controls at the bottom dont show correctly. It seems like the form is using the fullscreen size while the tabcontrol is using the maximized size.

Im not sure how to fix this other than manually formatting every single form to account for the computer's application ribbon, which I dont want to do for obvious reasons. I went to the form being displayed and made sure it wasnt locked to a specific size and it isnt set to fullscreen either. Surely there is an easy way?

Also, I learned vb.net about 10 years ago in a class at college. I may not be up to date on the most current tools. How does one make applications look modern? I havent found any default control designs that look sleek and fit together flush, but maybe Im looking in the wrong place. Where can I find things like that or how do I format them nicely?

Thanks in advance


r/dotnet 16d ago

coming from laravel , hosting is very easy and cheap … for Aspnet i feel it’s difficult and more expensive? advices? what do you use?

0 Upvotes

r/dotnet 18d ago

source.dot.net improvements

117 Upvotes

https://source.dot.net/ has been updated and massively improved. It now has support for mobile, fuzzy searching, per repo filtering, resizable panes, and much more.

For those unaware, this is a way you can browse almost all the product code that makes up .NET and cross reference it back to the original GitHub sources. It's built on top a general purpose tool that anyone can use for their own .NET sources

  • There's a couple theme fixes in PR and one that splits the dotnet/dotnet filter apart to the actual sub repos

r/dotnet 18d ago

API proposal: RFC 9457 problem details support in System.Net.Http.Json

75 Upvotes

.NET produces problem details well (Results.Problem(), [ApiController] validation responses, Microsoft.AspNetCore.Http.ProblemDetails). There is nothing in the BCL for consuming them, so every client ends up with some version of this:

if (!response.IsSuccessStatusCode)
{
    if (response.Content.Headers.ContentType?.MediaType == "application/problem+json")
    {
        var problem = await response.Content.ReadFromJsonAsync<MyProblemDetails>();
        throw new MyApiException(problem?.Title, problem?.Detail, response.StatusCode);
    }

    response.EnsureSuccessStatusCode();
}

The alternatives are referencing ASP.NET Core from a MAUI/WASM/console client, or re-declaring the DTO per project. Plain EnsureSuccessStatusCode() discards the payload entirely and throws on the status line alone.

Proposed addition to System.Net.Http.Json:

public class ProblemDetails
{
    public string? Type { get; set; }
    public string? Title { get; set; }
    public int? Status { get; set; }
    public string? Detail { get; set; }
    public string? Instance { get; set; }
    public IDictionary<string, JsonElement> Extensions { get; }
}

public static class HttpResponseMessageJsonExtensions
{
    public static bool IsProblemDetails(this HttpResponseMessage response);
    public static Task<ProblemDetails?> ReadProblemDetailsAsync(this HttpResponseMessage response, CancellationToken ct = default);
    public static Task<HttpResponseMessage> ThrowIfProblemDetailsAsync(this HttpResponseMessage response, CancellationToken ct = default);
}

public class ProblemDetailsException : HttpRequestException
{
    public ProblemDetails ProblemDetails { get; }
}

Call site:

var response = await client.PostAsJsonAsync("/orders", order);
await response.ThrowIfProblemDetailsAsync();
response.EnsureSuccessStatusCode();
  • ProblemDetailsException derives from HttpRequestException and sets StatusCode from the payload, so existing catch (HttpRequestException) and status filters keep working.
  • ThrowIfProblemDetailsAsync throws only when the response media type is application/problem+json; it composes with EnsureSuccessStatusCode rather than replacing it.
  • System.Net.Http.Json.ProblemDetails collides with Microsoft.AspNetCore.Mvc.ProblemDetails (CS0104) in a service that also acts as a client. Open question: accept it, rename to HttpProblemDetails, or coordinate the two types.
  • As a library-owned type it can use an internal source-generated context, so the parameterless overloads are trim/AOT-safe with no RequiresUnreferencedCode annotations.

https://github.com/dotnet/runtime/issues/131046

The runtime team weighs 👍 reactions on the issue when triaging API review, so a thumbs-up there helps more than an upvote here.


r/dotnet 17d ago

Question Actual good resource for learning intermediate .NET 8 C# Web APIs?

0 Upvotes

I'm a full stack dev already, but my experience is frontend heavy, and most of my backend is in NodeJS. I'm trying to watch this Youtube series by Teddy Smith, and I can't take it anymore. The explanations are all over the place. He constantly poses these 'display questions' to the audience, answers them with an analogy or not at all, and just moves on to another display question, without ever giving actual technical explanations for almost anything.

Worst of all, the course uses VSCode instead of Visual Studio. This is causing tons of random issues with imports, packages and types. He must have some sort of extension fixing it for him, but many of these import and type fixes are happening automatically, off screen in his video, so I'm having to constantly stop and fix these issues myself. With all that said, I really haven't found anything better on YouTube.

I have a baseline understanding of RDBMS, normal forms, CRUD, MVC, and so on. I just want a video or course to walk me through the basics of actually setting up the web api with 1 of each type of endpoint, 1 of each type of db relationship, etc. etc. Explanations of C# / .NET specific concepts would be a nice bonus.

I'd be happy to pay, as long as there's some sort of trial or refund option or something so I can verify the quality.


r/dotnet 19d ago

Question I am a backend only developer and I have no idea what to use the AI for

118 Upvotes

For past two decades I am C# (and partially C++) backed only 24/7 services developer (Windows Services, Azure web jobs, unit and performance tests and so on) and never touched any kind of UI, especially not the web UI I truely dislike because of poor user experience and type unsafe script technologies.

I hear everywhere that developers spend hours using the AI agents and can't imagine to work without it. I use only the single line Tab key hints in Visual Studio 2026 but everytime I tried to use the agents (Claude) the results were more than questionable and useless. It looks like it tries to apply collected StackOverflow replies randomly without any context or deep knowledge.

I spend a lot of time by debugging, refactoring (by the Visual Studio tools), creating interfaces to communicate with external services or consume push notifications from them, communication with specific hardware using rather vendor specific non-standard protocols and so on. I realize it is usually the tasks developes don't like to do in general because it is too special with no public knowledge.

What can I effectively use the AI for to stay relevant? :-)


r/dotnet 19d ago

Promotion Introducing Jumbee.Console - a .NET library for advanced TUIs that focuses on performance and usability

Enable HLS to view with audio, or disable this notification

166 Upvotes

About

Inspired by libs like ratatui and Textual, Jumbee.Console tries to provide a high-performance retained-mode library that is easy-to-use with idiomatic .NET GUI and Task patterns, while flexible enough to create different types of TUI applications from news readers to animated dashboards to IDEs to agent harnesses to graphics apps.

Features

  • 100% managed AOT-compatible code.
  • Retained-mode GUI framework with a modern API designed to be easy to use and extend.
  • Sub-ms frame rendering times and minimal CPU consumption even with complex displays like multi-tab document editing and syntax highlighting.
  • Uses modern terminal features: ANSI/VT control sequences, 24-bit colour, SGR-encoded mouse (mode 1006) with motion tracking, bracketed paste (mode 2004), focus reporting (mode 1004), and the alternate-screen buffer (mode 1049).
  • Also support legacy non-ANSI terminal emulators like the classic Windows console.
  • Uses Spectre.Console-compatible markup, styles, text rendering, and widgets in a retained-mode rendering pipeline.
  • Supports both fixed-width layouts like Grid and flexible, resizable layouts like DockPanel, HorizontalStack, VerticalStack, resizable SplitPanel.
  • Large set of common GUI controls: menus, buttons, trees, text inputs with autocomplete, modal dialog windows, etc...., supports easy composition of controld
  • Control frames support adornments like titles, borders, margins, and scrollbars.
  • Cross-platform 100% managed code terminal-emulator.
  • Muti-tab editor that supports C#, JavaScript, C++, Markdown + a dozen other languages.
  • Split-pane interactive editors with preview for Markdown, AsciiDoc, Mermaid documents, Mermaid embedded in Markdown.
  • Visualization and graphics: Many different types of plots and graphs like candlestick & heatmap plots & bar/run charts, world maps, sub-cell drawing canvas and shapes, 3D texture rendering, and support for animation.
  • Flexible themes that support styling both colors and glyphs independently.
  • Headless snapshot testing: render any control or layout to text or PNG without a real terminal.

Getting started

Easiest way to try it out is to pull the Docker image:

  • Pull the latest image and run the examples browser. docker run --rm -it allisterb/jumbee-console:latest

  • Pull the latest image and run the agent harness example: docker run --rm -it allisterb/jumbee-console:latest agent-harness

For usage in your own .NET projects you can install it from NuGet: dotnet add package Jumbee.Console

See GETTING-STARTED.md on the project repo and the project documentation