I am a little older than you, late 30's now. A quick background, been involved in IT in some way, shape or form for +- 19 years. During this period I have been pretty much a "jack of all trades". I knew a little about a lot. +- 5 years ago I knew exactly where I wanted my career path to go. I began learning and focusing on being primarily a c# developer. The problems I faced were:
1) too old to be a junior
2) not much experience
3) no qualification
So I had to change all of the above. I did this by:
1) Never ever applying for junior positions and always insist that you are looking for an intermediate position.
2) Work very hard. You need to walk around with a personal dev laptop. Install visual studio, go through as many courses and books as possible. If you have free time, you should be on your laptop learning.
3) Get some kind of qualification /certification if you don't have already. I think a CS degree is best.
It sounds like a lot of work... and it is. However, I am now earning 6x more than what I was three years ago. It has been a very worthwhile journey.
Get into some sort of specialised software development if you can.
IMHO most c# web developers inevitably become jack of all trades and often times work more on front end than back end. How do I know? Because it is exactly what I have gone through. If you work with HTML, JS, Angular, Node, react, CSS, c#, MVC, .NET, SQL, MSSQL server, jQuery, Bootstrap, XML, PHP, wordpress etc for 10+ years... how much of an expert can you ever be at any of those technologies? One of my biggest career mistakes was being a "generalist" and not a "specialist".