2009-09-15 8 views
0

Permettez-moi de cette préface (Parce que je sais que je vais obtenir ce terme dans les réponses)Déploiement Servics Web .NET

  • Oui je sais à propos de WCF, mais nous n'utilisons pas que ou d'un plan en ce moment (le boss ne bougera pas)

Ok, donc mes questions sont les suivantes. Je veux d'abord déplacer certains de nos .asmx dans un projet séparé. En ce moment, il est dans plusieurs dossiers dispersés dans notre projet WAP. Ok donc si je crée un nouveau projet:

1) Quel type devrait-il être? 2) À quels problèmes de déploiement dois-je faire face maintenant? Quelqu'un m'a dit que si nous passons à un projet séparé, nous devons le déployer séparément, je suppose que cela signifie IIS, et oui, copier ce projet à un autre endroit sur le serveur 3) On m'a dit que si nous le déplaçons hors du projet WAP, nous ne pouvons plus faire fonctionner ce service sous notre domaine (quelquechose.com). Mais alors quelqu'un m'a dit que vous pouvez configurer un seul service Web pour qu'il soit un "pass-through" et que vous ayez les fichiers .asmx réels où vous voulez? Je ne comprends pas ça.

La principale préoccupation est de le déplacer. Comment exposer les services dans ce projet web car nous en aurons plusieurs. Comment déployer (à la fois les fichiers et les services Internet (IIS)) et comment vous assurer qu'il est toujours disponible sous notre même domaine en production.

+0

Je pense que votre besoin de réécrire en plus petites parties de ce que la question est exactement, c'est très confus. –

+0

Ce qu'a dit Akash. – jro

+0

ok, je pensais que c'était assez clair. J'ai 3 questions .. toujours désolé. – PositiveGuy

Répondre

1

D'accord, créez un nouveau projet de service Web.

Il n'y a aucun problème pour que votre service Web soit déployé à côté de votre site existant dans IIS. Créez votre URL de site existant www.something.com puis, dans IIS, ajoutez un répertoire ou une application virtuelle à myservice pour obtenir www.something.com/myservice/awesome.asmx.

Vous pouvez également créer vous-même un autre en-tête d'hôte pour diriger webservices.something.com vers vos services Web.

3

Le fichier asmx est simplement un pointeur sur le fichier de code C#. Vous pouvez inclure les fichiers asmx n'importe où dans votre projet Web.

Vous pouvez créer un projet de service Web dans Visual Studio IDE ou simplement créer une bibliothèque de classes et ajouter les références nécessaires.

Un projet de service Web utilise les DLL suivantes:

  • System.EnterpriseServices
  • System.Web
  • System.Web.Extensions
  • System.Web.Mobile
  • System.Web .Services

Et le suivant web.config referenc e:

<configSections> 
    <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> 
    <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> 
     <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/> 
     <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> 
     <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere" /> 
     <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" /> 
     <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" /> 
     <section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" /> 
     </sectionGroup> 
    </sectionGroup> 
    </sectionGroup> 
</configSections> 


<httpHandlers> 
     <remove verb="*" path="*.asmx"/> 
     <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
</httpHandlers> 
+0

donc si je crée une bibliothèque de classes, parlez-vous simplement d'ajouter les références à d'autres projets sur lesquels votre codde s'appuie ou ....quel genre de références à quoi exactement? – PositiveGuy

+0

Je parle de déplacer physiquement les fichiers .asmx dans un projet séparé. – PositiveGuy

Questions connexes