Bonjour,
Nous proposons des hébergements de sites DNN à partir de 5€ (portail sur instance mutualisée) et nous hébergeons également des applications personnalisées à la demande.
Pour ce qui est du développement, la migration de l'application est sans doute moins contraignante que tu peux l'imaginer. Bien sûr, utiliser un IFrame est une possibilité rapide et si le temps importe, c'est envisageable.
Sinon, il te suffit sans doute de changer tous tes aspx en ascx de type PortalModuleBase et de les déclarer dans des définitions de modules personnalisées en ligne. L'interface de définition en ligne te contraint à placer tes ascx dans un répertoire dédié sous DesktopModules, C'est contournable (comme pour les modules d'admin), mais reste le plus simple à administrer et déployer.
Ca sous-entend sans doute un peu de nettoyage dans le code, ça dépend de l'usage que tu as fait de ton objet page. C'est la solution la plus propre et te donne accès à toute l'API DNN.
Tu peux également envisager une solution hybride comme dans nombre de modules, où un jeu d'ascx simples constituant le module DNN déclaré et font appels à des aspx plus ou moins indépendant réalisant des taches métier. C'est par exemple le cas dans les modules de manipulation d'image ou bien ceux qui ouvrent des pop-up de configuration complexes. Tu peux même placer des HttpHandlers personnalisés dans ton web.config et charger des pages programmatiques (cf le captcha de DNN).
Comme le suggère le code de Roland, tu peux attaquer l'API DNN depuis un aspx en utilisant les fonctions de Globals par exemple ou en instanciant les providers, sachant que les modules HTTP d'authentification et de gestion des URLs sont déjà passés à l'initialisation de ta page, et donc que tu as à portée de code le portail en court, le user authentifié et tout l'état de l'appli DNN. Tu peux même bénéficier du système de traduction par clé de ressource DNN en héritant tes aspx de PageBase.
Programmer dans un module te permet de "rentrer" dans ton code après la mise en place de la page Default.aspx et la classe Skin qui gèrent la mise en page conventionnelle.
Pour ce qui est de la compilation, tu peux utiliser le modèle WAP pour générer tes propres dll, tu pourrais bien encore utiliser un projet de librairie, l'important est que la dll contenant le code de tes aspx/ascx et les dll référencées soit dans le répertoire bin. Sinon, tu peux travailler directement dans le projet DNN comme suggéré dans la doc officielle, et dans ce cas placer tes références externes directement depuis DNN. Le packaging et le sourcing est un peu plus délicat mais le développement est nettement plus rapide (Edit and Continue). L'idéal est sans doute de combiner avantageusement les deux.
Dans tous les cas, il t'est possible de brancher ton propre membership provider tout en utilisant le provider d'authentification par formulaire par défaut. Dans un projet de classe, dérive une classe personnalisée du provider abstrait et branche le sur tes méthodes existantes, déclare le dans le web.config parmi les provider et défini le en provider par défaut.
Voilà pour quelques pistes. Bon développement.