The problem is. that with the information you give, the range of possible answers is theoretically infinite.
If I collect the hard facts I get the following picture:
- ASP.NET 1.0 Webform
- Tight coupling
- Dataaccess via custom DAL
Besides that, you didn't say in which direction your refactoring is heading.
Simply »cleaning the mess« is a good starting point, but not enough. And as @Wayne poined out: it would end up effectively in a rewrite.
There are at least 2 possibilities:
1) Making a SPA where you have a smart frontend and do most - or at least a good deal - of logic in the frontend
2) Making a conventional web application with WebAPI.
Besides, though I actually have not worked with it, but perhaps it is worth a glimpse: NancyFX
Depending on how big your application / codebase is - and on how hip you want to be, you should think about using microservices
Some easy recommendations are:
Data access is through a custom DAL, meaning that most of that code also requires a live database with proper data inside it.
- This could be mocked or stubbed away
For the rest, it depends:
If the codebase is somehow in shape. Try to guess, what the code does. Write a test. See if your assumption holds. If so, write another test, to veriy another assumption. If the PITA-factor is too high, rewrite the business logic completely. Otherwise repeat and build an iterative refined understanding of the code and evolve a finegrained test suite. Step by step you are knitting a saftey net around the code. If it is tight enough, take the chainsaw and cut the code in handy pieces.
I have to admit, that this is a very general advice, but without further knowledge of your codebase, it is hard to give any concrete advice.