Sto costruendo una soluzione client/server, utilizzando un'app singola pagina AngularJS come componente client e un'API RESTful SelfState host come componente server. Un singolo progetto di applicazione della console di Visual Studio contiene file HTML e JavaScript per il componente AngularJS, insieme alle classi C# per l'avvio del ServiceStack AppHost (ho delegato le responsabilità dell'interfaccia e del servizio per separare i progetti di Visual Studio).Come posso far funzionare AngularJS con l'attributo FallbackRoute di ServiceStack per supportare gli URL pushstate HTML5?
Ho impostato tutti i file HTML e JavaScript per avere una 'Build Action' di 'None' e una 'Copy to Output Directory' di 'Copy if newer'.
Tutto sta funzionando molto bene fino a quando sono pronto a sopportare di avere un "#" nei miei URL del sito. Vorrei eliminarlo usando gli URL dello spazio di stampa HTML5.
Questo significa che devo convincere ServiceStack a pubblicare la pagina di shell HTML della pagina singola predefinita ogni volta che viene richiesta una route inesistente. È ora disponibile l'attributo FallbackRouteavailable in ServiceStack che sembra essere stato aggiunto esattamente per questo scopo.
Tuttavia, non sono sicuro di come utilizzarlo. Ho trovato persone che facevano domande simili here, here e here. Ma le risposte fornite erano tutte precedenti all'arrivo del nuovo attributo FallbackRoute.
In sostanza, sto cercando un esempio semplice ma completo di come utilizzare l'attributo FallbackRoute per garantire che tutte le richieste di route inesistenti vengano reindirizzate a una singola pagina HTML statica.
Questo è tutto molto bello. Tuttavia, preferirei non dover aggiungere il plug-in Razor se non è necessario. Sto usando una singola pagina HTML statica e sembrerebbe eccessivo usare un motore di template Razor solo per aggiungere una Fallback Route. – Holf
aggiunto 'senza rasoio' opzione –
Sembra molto bello ... ci proverò più tardi. Grazie! – Holf