2009-07-09 7 views
0

Je me demandais s'il était possible de réutiliser des objets dans des références Web dans un contrôle ASP.NET Server? (en gardant fondamentalement le même nom de référence Web)Contrôle du serveur ASP.NET - Réutilisation du type/des objets dans les références Web

J'ai quelques services Web (.asmx) que je veux grouper avec le même nom de référence de Web, cependant quand je les consomme en utilisant le même nom ils ajoutent un 1 au fin et avec tous les noms d'objets.

Clic droit - Ajouter une référence Web Entrez l'URL de asmx type "MyServices" dans pour le Web Référence Nom

Répétition, Ajouter une référence Web type "MyServices" dans pour le Web de référence Nom Et il ajoute que "MyServices1" plutôt que de regrouper et de réutiliser les mêmes objets. Cela semble uniquement faire cela sur les contrôles serveur ASP.NET - tout autre projet que j'ai jamais créé, l'application de console standard C#, l'application web asp.net regroupent tous les objets et les noms de référence Web ensemble. Est-ce que je manque un correctif, une mise à niveau ou est-ce que ce n'est pas possible avec un contrôle de serveur? Juste pour un peu d'arrière-plan, je crée un contrôle que je peux déposer dans des projets basés sur une seule DLL.

Je peux regrouper les services dans un projet de test s'il s'agit d'une application Web, mais ils ne sont pas regroupés dans le projet de contrôle du serveur.

Toute aide serait grandement appréciée!

Merci!

Jamey

Un exemple se trouve ici:

http://imgur.com/6tqvQ.jpg

+0

Pourquoi voudriez-vous faire cela? Et, en termes de code - vous pouvez utiliser un alias pour l'espace de noms si vous voulez les amener tous sous 1 tête. Je suis désolé, si je n'ai pas complètement compris la question. – shahkalpesh

+0

Salut - Je suppose que je n'étais pas trop clair sur ce que j'essayais de faire. Je n'essaie pas de joindre les deux fichiers asmx à la fin du service, j'essaie de les joindre sous le même nom de référence Web dans le dossier Référence Web lorsque je les utilise. Je ne suis pas capable de faire cela avec une application de contrôle de service ASP.NET. –

+0

Je semble toujours avoir ce problème. J'essaie de consommer plusieurs services Web (.asmx) qui résident sur le serveur du même projet dans un "nom de référence Web" dans la nouvelle application Web. Avec une application Web ASP.NET, il ajoute toujours 1 à l'espace de noms importé s'il existe précédemment ... hmm ... Les projets ASP.NET WebSite les regroupent comme prévu. J'ai ajouté un exemple ci-dessus. –

Répondre

0

Il est seulement censé être un WSDL par référence web, ce qui signifie qu'un seul .ASMX par référence web.

Afin de partager les types entre procurations à plusieurs fichiers .ASMX, vous devez utiliser l'outil de ligne de commande wsdl.exe:

WSDL /shareTypes http://localhost/service1.asmx?wsdl http://localhost/service2.asmx?wsdl ... 

Cela produira un seul fichier de code, et produira un type par combinaison d'espace de nommage XML, de nom et de signature de fil.

+0

Je suis capable de consommer plusieurs services et de leur donner le même nom de référence Web sur à peu près tous les projets sauf un projet de contrôle serveur ASP.NET.J'essaie de les consommer comme le même nom de référence Web afin que je puisse les référencer tous comme say - com.example.services, plutôt différents noms de services Web. Chaque service web consommé devrait venir avec son propre discomap et wsdl sous ce nom de référence web - mais je n'arrive pas à faire fonctionner correctement sous ASP.NET Serivce Controls. J'ai ajouté une capture d'écran ci-dessus de ce que j'essaie de faire. J'espère que cela a plus de sens. Merci pour ton aide! –

+0

Cela ressemble plus à un bug qu'autre chose. –

Questions connexes