ASP.NET 5 ajouter une référence de service WCF
Dans Visual Studio 2015 Preview (Avant la Libération), comment puis-je ajouter une référence de service pour un WCF
service?
- Je pense que vous avez raison 🙁 j'ai mis à jour ma réponse à inclure la version de VS.
- Bonne nouvelle! WCF est maintenant disponible sur .NET de Base et est accessible en vertu de ASP.NET 5. dotnetfoundation.org/blog/wcf-is-open-source Maintenant..lorsque que l'outillage sera disponible dans Visual Studio...inconnu.
Vous devez vous connecter pour publier un commentaire.
Actuellement, c'est un assez impliqués processus de l'outillage ne semble pas soutenir beaucoup dans la façon de générer de la WCF code client ou automatiquement la carte à partir de fichiers de configuration. Aussi, comme dotnetstep l'a souligné, le ASP.NET l'équipe n'a pas porté
System.ServiceModel
à 5 (ou une solution de rechange pour les clients encore). Néanmoins, nous pouvons utiliser un code pour créer un proxy client et de l'utilisationsvcutil
pour générer notre service classes de référence.Solution Préalables
Pour cet exemple, nous supposerons que vous avez localement hébergement d'un service à http://localhost:5000/MapService.svc qui implémente une
IMapService
contrat. Aussi, nous appelons le projet qui va contenir le proxy du serviceMapClient
.Votre
project.json
devrait ressembler à quelque chose comme:Générer le Service de Référence des Classes d'
Tout d'abord, nous allons créer un dossier,
Service References
, dans leMapClient
projet.Ensuite, ouvrir Développeur Invite de Commande pour VS2015 et accédez à votre
MapClient
répertoire de projet:Assurez-vous que
MapService
est en cours d'exécution et exécutez la commande suivante:Qui devrait générer deux fichiers,
output.config
etMapServiceReference.cs
.Créer une base de code client proxy
Car il n'y a aucun moyen de automatiquement carte d'extrémité et de la configuration de liaison à partir d'un fichier de configuration pour votre
ClientBase
actuellement en ASP.NET 5, laoutput.config
n'est pas d'une grande aide pour nous. Vous pouvez le supprimer.Au lieu de cela, nous allons créer un proxy client dans le code:
Maintenant, vous pouvez utiliser le
clientProxy
instance pour accéder à tout Contrat d'Opération dansIMapService
.Au passage, il serait probablement préférable de l'architecture pour créer une clé:valeur du fichier de config qui stocke votre liaison et le point de terminaison de la configuration et de l'utilisation de la
Microsoft.Cadre.ConfigurationModel.Configuration
objet pour remplir votreChannelFactory
de sorte que vous pouvez garder votre service de configuration de votre code, mais j'espère que cet exemple vous permettra de commencer.Il y a une nouvelle extension de Visual Studio qui vous permet d'ajouter et d'utiliser des références de service comme dans les versions précédentes. Il est également compatible avec la nouvelle CoreCLR, j'ai juste testé.
http://blogs.msdn.com/b/webdev/archive/2015/12/15/wcf-connected-service-visual-studio-extension-preview-for-asp-net-5-projects.aspx
Il n'existe actuellement aucun outil disponible pour cela et pour des raisons possibles de ce Système.ServiceModel qui n'est pas disponible en mode asp.netcore5.
Si vous avez décidé d'utiliser ASP.net 5 la vous pouvez le faire en suivant chose dès maintenant à utiliser service WCF ( je suis à l'aide de Visual Studio 2015 CTP 5 pour cette réponse)
VS 2015 CTP 5 , il nous permettre d'ajouter une référence régulière de la bibliothèque de la classe.
Ajouter ClassLibrary comme une Référence à ASP.net 5 site web.
( Comme le CoreCLR framework ne prend pas en charge le Système.Modèle de Service j'ai donc supprimé ce projet.json) Cadre le cadre du projet.json.
Maintenant exécuter votre application.
Modifier: La nouvelle extension pour l'ajout d'un service connecté, affichés dans d'autres réponses n'a toujours pas de travail pour moi, mais j'ai trouvé une autre configuration de travail, bien que cela nécessite vous n'utilisez pas dnxcore50:
Ont modèle de Service et nécessaire de sérialisation dll dans le "cadre" de la section projet.json (dnxcore besoin d'être enlevé)
Vous devriez être en mesure de le faire où u besoin:
Vieille Réponse:
cela a fonctionné pour moi:
J'ai suivi à la fois les instructions dans le même temps de problèmes connus pour la beta4 (rechercher dans la page "FMC") à ce lien:
https://github.com/aspnet/Home/releases
mes pas où:
copié l'ensemble de la
<system.serviceModel>...
de app.config à web.config
copié tous ces dépendances manquantes liste à partir du lien ci-dessus dans projet.json, en vertu de la common dépendances, laissant seuls les cadres spécifiques (desessayer de référence de la dotnet4.6 bibliothèque de classes et une école du réseau cadre de la dépendance a donné manque beaucoup de types dans ce cadre)
"dependencies": { >> here << }
Une autre façon de faire ce qui a fonctionné pour moi est tout simplement ajouter un projet dll de la solution et ajouter le service réf ici, comme vous le feriez normalement - inclure les dll dans le projet MVC et ref pour les services.
Vous suffit de copier le contenu de l'application.config pour les projets mvc propre application.config - oui, app.config, pas web.config.
Fait