Start by looking for what
http 401 error[
^] actually means - it's pretty simple!
Quote:
You may see the “Error code 401” if you try to access an outdated or misspelled URL. It means that the URL is non-existent, and the server may return a server error “401 Unauthorized Access”. Maybe you saved the page address in your browser, but the page address has been changed, or it has been deleted.
I'd start by looking at the Page Load method, and checking all URL's there, and then do the same for all config files.
If they all look right and appear to work, check the folder's you code is using and the user permissions on those folders - remember that websites don't run under your "normal user" account, but a specific account for IIS. If you have migrated this site to a new server (and that's likely given you are probably upgrading the .NET version) then you may have missed some folder permissions.