Quindi, sono più esperto in PHP e Python, ma le mie risposte dovrebbero essere valide anche per ASP.NET, visto che le tue domande riguardano più la struttura MVC piuttosto che il linguaggio / framework stesso.
Prima di tutto, la scelta della libreria javascript può essere cruciale per rispondere alle tue domande. Ad esempio, se si sceglie lo stack MeteorJS completo (in cui i modelli sono condivisi tra il server e il client) o solo una libreria front-end come Angular o React (o una combinazione di entrambi).
Does the domain model exist both in .NET and javascript?
È potrebbe : dipende dalla libreria. I dati vengono normalmente ricevuti come oggetti JSON tramite una chiamata XMLHttp (o websocket, per un'applicazione Meteor) o direttamente accessibili dalla memoria locale. L'implementazione di un modello potrebbe essere utile per mantenere pulito il codice (in Typescript è possibile utilizzare un'interfaccia) ma per gestire le operazioni CRUD dipende in realtà dalla libreria JS di propria scelta.
Is the javascript model more of a view model than a complete domain model?
In una SPA normalmente hai Controllori (o "componenti" o "direttive"), non vedi i modelli. Di nuovo, dipende molto dalla struttura / libreria JS. Nell'ultima versione 2.0 di Angular, il componente è sia una vista che un controller. Per maggiori informazioni: link
Does this eliminate the need for views in the context of ASP MVC? ie. Does making an SPA basically turn ASP MVC into ASP MC?
Sì, se prevedi di utilizzare ASP come endpoint RESTful dell'API hai ancora bisogno di controller per il routing e Modelli per CRUD: idealmente, la "Visualizzazione" è solo un documento JSON.
Does the .NET layer only send data (JSON/XML) to the client?
Sì, ma dovrebbe anche essere in grado di gestire le richieste per le operazioni CRUD (GET, POST, UPDATE, DELETE per REST, altre per DDP protocollo)
No markup?
Che tipo di markup vuoi inviare?
Does all the ASP MVC routing configuration become largely irrelevant? Is all the routing handled client side?
Come affermato in precedenza, sarà ancora necessario il routing per gestire la logica di business REST / DDP. Tutto il resto (come il routing degli URL con cui l'utente può interagire nella barra del browser) è gestito dalla SPA (e, naturalmente, l'utilizzo varia a seconda della scelta della libreria)