2010-08-23 7 views
1

Je tente d'obtenir le modèle de service de repos WCF 40 (CS) qui est un modèle en ligne dans VS 2010 pour déployer vers IIS 7.5 sur Win Server 2008 R2. Nous havn't changé le modèle du tout et nous essayons de faire cet appel au travail:Modèle de service de repos WCF 40 sur IIS 7.5

public class Service1 
{ 
    // TODO: Implement the collection resource that will contain the SampleItem instances 

    [WebGet(UriTemplate = "")] 
    public List<SampleItem> GetCollection() 
    { 
     // TODO: Replace the current implementation to return a collection of SampleItem instances 
     return new List<SampleItem>() { new SampleItem() { Id = 1, StringValue = "Hello" } }; 
    } .... 

Nous avons essayé:

  • créer manuellement un fichier .svc que ce modèle n'a pas un. ressemble à: <%@ServiceHost language=c# Debug="true" Service="WcfRestService2.Service1"%>
  • Publication en tant que site Web et ajout en tant que site Web dans IIS.
  • Nous avons installé .net framework 4.0 sur IIS et cela fonctionne.
  • en ajoutant quelques trucs webconfig pour tenter d'obtenir les points de terminaison de Global.asax.
  • un tas d'autres choses ...

je tire mes cheveux sur cela et désolé, je ne peux pas être plus précis sur ce qui se passe exactement. Le problème que nous obtenons est que les appels de service tels que http://localhost/Service1 ne peuvent pas être trouvés via IIS, mais ils fonctionnent très bien dans VS.

Voici le fichier webservice:

Comment insérer xml? http://www.nitricburnstudios.com/Web.config

Répondre

2

Après beaucoup de frustration enfin compris comment ça fonctionne.

Vous devez activer redirection HTTP dans IIS.

Cela peut être fait en allant

  1. Panneau de configuration -> Programmes et fonctionnalités
  2. Turn Windos ou désactiver des fonctionnalités
  3. Sous rôles, ajoutez le serveur Web -> Caractéristiques communes http -> http rôle redirection

C'était une sorte de la liste suivante: http://blogs.msdn.com/b/rjacobs/archive/2010/06/30/system-web-routing-routetable-not-working-with-iis.aspx

0

Par défaut, lorsque vous passez à la publication d'IIS, il le fait à un vdir au lieu de la racine du site web, donc je devine que vous devez vérifier l'vdir il est l'installation de (propriétés du projet, web) et changez l'URL que vous essayez d'accéder à http://localhost/WcfRestService1/Service1 (ou autre).

Lorsque je crée un projet à partir du modèle, passez à la publication IIS, appuyez sur F5, puis appuyez sur cette URL, je reçois le résultat attendu très bien:

<ArrayOfSampleItem xmlns="http://schemas.datacontract.org/2004/07/WcfRestService1" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> 
    <SampleItem> 
    <Id>1</Id> 
    <StringValue>Hello</StringValue> 
    </SampleItem> 
</ArrayOfSampleItem> 
Questions connexes