2017-08-03 1 views
1

Création d'une application de la console auto-hébergé Nancy requiert l'adresse locale y compris le port en tant que paramètre:Est-il possible qu'un NancyHost utilise un autre nom d'hôte que localhost?

using (var host = new NancyHost(new Uri("http://localhost:1234"))) 
{ 
    host.Start(); 
    Console.ReadLine(); 
} 

tout en personnalisant le port est un cas d'utilisation valable, est-il possible d'utiliser un autre hôte que (« http://localhost ») . Si oui, lesquels et pour quelle raison?

Backgroud:

Je crée un fichier de paramètres personnalisés pour le serveur et je me demande s'il suffit de fournir un cadre « Port » ou est-il préférable de fournir « Host » un cadre (ou ' URL ') qui inclut l'HÔTE ainsi que le PORT?

Modifier

Pour éviter hardcoding, la partie hôte peut être configurable via les paramètres d'application (App.config) qui est différent du fichier de paramètres personnalisés qui est utilisé par l'administrateur du serveur. Cependant, je veux garder le fichier de paramètres personnalisés aussi simple que possible. Là-bas, la question: Y a-t-il une raison pensable que la partie 'http://localhost' devrait être modifiée?

+0

Demandez-vous si c'est OK pour coder localhost dans votre code? Si oui, la réponse est un non catégorique, même si vous croyez que cela ne changera jamais. C'est juste une pratique courante. –

+0

@tomredfern: veuillez voir la question mise à jour. – JanDotNet

+0

Demandez-vous que quel que soit l'environnement dans lequel vous déployez le service, utilisera-t-il toujours localhost? –

Répondre

1

Le constructeur NancyHost a besoin d'un objet Uri valide, et pour créer que vous ne pouvez pas contourner la spécification d'un HOST. En fonction de votre application, modifiez l'HOST soit dans votre programme, soit sous forme de communication ou via un fichier de paramètres. Ne pas coder l'HÔTE en tant qu'hôte local, même si vous pensez que ça va rester comme ça, c'est une bonne pratique de garder les choses modifiables. Si vous voulez que votre fichier de paramètres soit aussi simple que possible, il divisé en 2 fichiers:

basicSettings

advancedSettings

où advancedSettings contient des choses que vous rarement, voire jamais, basicSettings changement und contiennent les choses vous vous attendez à être changé plus souvent.

Il pourrait y avoir un cas à un moment donné où vous souhaitez vous connecter à un autre hôte parce que NancyHost a déménagé, soit vers le cloud ou un autre système dans le même réseau (ce dernier est plus probable). Juste au cas où cela se produirait, vous devriez le rendre modifiable.

+0

Merci pour la réponse. Je pense que je vais aller de cette façon avec les 2 fichiers de paramètres (où le fichier avancé est le fichier de paramètres par défaut de l'application: App.config). – JanDotNet

+0

Cependant, je n'ai pas compris le point de la dernière partie _ Il pourrait y avoir un cas à un moment donné où vous voulez vous connecter à un autre hôte ... _. 'NancyHost' est le serveur et il est toujours à l'écoute sur localhost (l'ordinateur sur lequel il s'exécute). Alors, où est le cas d'utilisation pour changer cette partie? C'est en fait le point qui m'intéresse;) – JanDotNet