Live data from Hacker News

Understanding the .NET ecosystem: The evolution of .NET into .NET 7

andrewlock.net

241–250 of 357 posts

Re: Understanding the .NET ecosystem: The evolution of .NET into .NET 7

#241

Doesn't run on Solaris and doesn't run on FreeBSD. An 'LTS' release means ... about 3 years. No thanks...

LTS releases are every 2 years and there is a major version release every year. .NET 6 LTS .NET 7 .NET 8 LTS FreeBSD support has been in the works for a while: - https://wiki.freebsd.org/.NET - https://github.com/dotnet/runtime/issues/14537

"Long Term Support (LTS)—These releases are supported for three years from their first release."

From my perspective, this is not "long term" ; but maybe others view it differently.

Re: Understanding the .NET ecosystem: The evolution of .NET into .NET 7

#242
post #183

Earlier quoted context omitted.

I'm definitely a fan of the "batteries included" approach, but I am ambivalent on EF because I feel like it is still a bit too magic and gets abused. Though it's not like it's a big deal to use whatever else you prefer instead (I am a big fan of the inline SQL with Dapper approach).

I stuck to DB-First model + LINQ + SaveChanges() and largely managed to keep out the magic quite successfully for a .NET6 web project last year. Records are fantastic when composing queries. I didn't touch inheritance or any fancy mapping strategies -- one table, one class. The only bit of framework-specific / hidden magic debugging I really had to do was the realization of AsSplitQuery() when creating objects compos…

Yeah, if you stick to a very narrow subset of what it can do then you will have no problems. Hopefully everyone else on your project is on the same page about what that subset is.

Re: Understanding the .NET ecosystem: The evolution of .NET into .NET 7

#243
post #236

Earlier quoted context omitted.

The writing was on the wall a long, long time ago! These companies had 15 years to do it. And it was fairly easy to get webforms + MVC running side-by-side on the same site so you could gradually migrate. Too late for that now though, you can't run webforms + MVC Core side-by-side. You could put a load balancer in front of the old app and start moving end points to a new code base. It's akin to moaning that MS haven'…

> you can't run webforms + MVC Core side-by-side Besides the obvious IFRAME approach, one could have a single solution with both a ASP.NET Web Application project and another MVC (or Blazor) project. Both of them would reference shared models/services via some .NET Standard 2.0 project. IIS can host ASP.NET Core. Then start refactoring and rewrite the old HTML4/CSS2 into HTML5/CSS4, while the Server Controls and Mast…

That generally requires a reverse proxy or content-switch. That reverse proxy will then have to lie to one or both apps about their URLs, etc...

Microsoft is recommending YARP for this: https://learn.microsoft.com/en-us/events/dotnetconf-2022/mig...

That sounds okay, but you'll hit all sorts of fun technical challenges. Good look making WCF client certificate authentication work through this! There are also performance gotchas with buffering, etc...

There are not-atypical scenarios where during a migration, an app might be behind 4+ reverse proxies, all of which are different products.

E.g.: CDN -> App Gateway WAF v2 -> Kubernetes Ingress -> YARP -> Legacy App.

You'll quickly discover all sorts of fun interactions between these and 15-year-old ASP.NET code!

Re: Understanding the .NET ecosystem: The evolution of .NET into .NET 7

#244

Earlier quoted context omitted.

> how often are you hand-parsing HTTP requests That's exactly what I don't do, and what I want to see available in a standard library. But I quite frequently implement custom request handling before any routing happens (if there's even any routing). That's super easy to do in Go, Python or Rust, but when I needed something comparable in C# I haven't found any similar composable independent pieces that I can join toge…

As a sibling commenter mentioned, there’s a minimalist functional web server available out of the box, that can later have other more complex components added on: https://learn.microsoft.com/en-us/aspnet/core/tutorials/min-... It’s .NET 101 stuff.

I'm sorry, I think I really must be missing something out and/or explained myself poorly, but I don't see how this is comparable... Doesn't `WebApplication.CreateBuilder(args).Build()` creates a whole web application type thing? In my understanding it's something comparable to `gin.Default()` or `flask.Flask(__name__)`, rather than lower level basic `http.Server{Addr: addr}` or `http.server.HTTPServer(address)` (which still doesn't require any manual HTTP protocol parsing).

And this stuff is ASP.NET Core, not a bare .NET [Core], isn't it? What I'm talking about is something comparable to just Kestrel, except that I failed to find any documentation on using it "raw" without the whole ASP.NET thing (maybe I misunderstood what it is and it's tightly coupled with the whole framework?).

Re: Understanding the .NET ecosystem: The evolution of .NET into .NET 7

#245
post #72

Odd question maybe, my company uses C# and I've been picking up more backend responsibilities. However, I'm a Linux and Neovim user. I do have Windows and Visual Studio available but I just find it awkward. Is anyone here having success with Linux and Neovim for C#? Even trying to learn more about the language is awkward as so many resources go straight into VS.

I use vim plugins for whichever IDE (VS, vscode, Rider) I'm using - not as good as full-featured as pure vim, but what I needs it's more than good enough.

Re: Understanding the .NET ecosystem: The evolution of .NET into .NET 7

#246
post #32

I'd be curious to know what is the actual adoption of .net core. I.e. of all the actively developed applications (not just new projects), what is the .net core / .net framework split. I found that the upgrade process is not seamless. Asp.net core has little to do with asp.net MVC. Winform introduced all sorts of contraints. The BCL is full of small changes or features missing. People are less vocal than for the pytho…

We moved from ASP.NET MVC on Framework 4.8 to .net core without it being too painful. Mostly we needed to re-work the authentication pipeline stuff, but the netcore way ends up being much nicer anyway

Re: Understanding the .NET ecosystem: The evolution of .NET into .NET 7

#247

Doesn't run on Solaris and doesn't run on FreeBSD. An 'LTS' release means ... about 3 years. No thanks...

How relevant is Solaris these days? Does it even make sense for them to add support when such a tiny fraction people would use it?

Re: Understanding the .NET ecosystem: The evolution of .NET into .NET 7

#248

Any tips on how to migrate a very large ASP.NET MVC app (framework 4.8), that is still in active development, with tens of thousands of users, without a complete feature-freeze? Am I able to migrate to .NET 7 in small increments over a long period?

We have a similar sounding app in terms of scale. We just bit the bullet and a couple of us spent a few weeks doing the upgrade in one branch while the rest of the team worked in another. We'd periodically merge in to the upgrade branch and tweak things as needed.

It wasn't too bad, really. Mostly it was updating any new controller methods to use the new attributes.

We originally planned to upgrade incrementally (one project at a time) but to be honest, it looked that was going to be far more fiddly and annoying that just doing the full thing.

Re: Understanding the .NET ecosystem: The evolution of .NET into .NET 7

#249

Earlier quoted context omitted.

Everything but the debugger sadly

I know! How crap is that? As a result, no debugging on a Raspberry PI. It turned me right off C# outside of work. There are plenty of other languages that are better suited for hobby development.

The why is Visual Studio. The VPs running that div are a bunch of Muppets who are constantly trying their best to destroy the OSS .Net projects reputation.

The cynic in me suspects all the drama was directly related to Scott Hanselman suddenly losing interest in bloggin.

Re: Understanding the .NET ecosystem: The evolution of .NET into .NET 7

#250
post #64

Earlier quoted context omitted.

A 2TB nvme drive is less than $200. If VS is saving significant dev time, people would install it even if much larger install.

I'm not sure it's 10x as nice as competitors, which is the context here. If it were just about space who cares, but when your competitor does the exact same at a much smaller size and ultimately better price too, it's a little confusing what is going on with VS.

It needs to be 10x nicer to make up for a 10x disk space footprint? What if it were only 1GB and the competitors were only 100Mb? Would it still need to be 10x nicer?
Post reply on HN