Достаточно базовых знаний C#, HTML, CSS, JS.
Я бы даже рекомендовал сразу создать проект(благо шаблон сайта на asp.net вполне рабочий из коробки) и изучать что там к чему, вносить свои изменения, пробовать сделать что-то новое. Без практики изучать такие технологии считаю бессмысленным. Есть не плохой ресурс с руководствами по asp.net -
metanitНеобходимо ли изучать потоки, асинхронность , XML и прочее?
В целом в asp.net можно жить и без них, но общее понимание таки нужно. XML в последних версиях практически не используется, по большей части его заменил JSON.
Необходимо ли полностью изучать с#, JavaScript, Html &CSS ?
Полностью изучить не выйдет, как уже многие написали. Тем более что технологии на месте не стоят и постоянно развиваются, особенно это касается JS.
Есть базовые знание - нужно закреплять практикой, дальше опыт сделает свой дело.