J'ai cherché en ligne une solution, mais je n'ai pas encore trouvé celle qui fonctionne.Exception WCF sur serveur hébergé
J'ai une application Silverlight qui utilise un service Web WCF.
Tout va bien sur mon environnement de développement.
Quand je publie sur mon compte DiscountASP.NET - le service Web me donne l'exception suivante:
« Erreur du serveur dans '/ e-learning/Services de demande Le type « eLearning.Web.Services.Learning. , eLearning.Web », à condition que la valeur d'attribut de service dans la directive ServiceHost n'a pas pu être trouvé"
S'il vous plaît se référer à l'exception réelle à:.
http://www.christophernotley.com/eLearning/Services/Learning.svc
J'ai créé "eLearning" une application web - et déplacé web.config dans le répertoire racine.
J'ai également confirmé que dans le balisage du service Web, la propriété de service indique "eLearning.Web.Services.Learning, eLearning.Web".
Des idées sur ce que je fais mal?
Merci.
Chris
Voici le balisage pour le service Web:
<%@ ServiceHost Language="C#" Debug="true" Factory="System.Data.Services.DataServiceHostFactory, System.Data.Services, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Service="eLearning.Web.Services.Learning, eLearning.Web" CodeBehind="Learning.svc.cs" %>
Voici la configuration web System.ServiceModel:
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior name="RestBehaviorConfig">
<webHttp/>
</behavior>
<behavior name="webBehavior">
<webHttp/>
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="DebugEnabled">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<customBinding>
<binding name="customBinding0">
<binaryMessageEncoding/>
<httpTransport/>
</binding>
</customBinding>
</bindings>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true">
<baseAddressPrefixFilters>
<add prefix="http://www.christophernotley.com/"/>
</baseAddressPrefixFilters>
</serviceHostingEnvironment>
<services>
<service behaviorConfiguration="DebugEnabled" name="eLearning.Web.Services.Learning">
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
</services>
</system.serviceModel>
J'ai posté le balisage de service web et le web.config, dans cas cela aide. J'ai défini/eLearning en tant qu'application dans le panneau de contrôle de DiscountASP.NET. J'ai également défini/eLearning/Services en tant qu'application. Le nom du fichier * .svc est Learning.svc. Le code de service actuel se trouve dans le répertoire \ bin, qui se trouve dans \ eLearning. – Chris
Basé sur le message d'erreur (type manquant), je suppose que c'est votre dernier point - l'assemblage manquant, c'est-à-dire le répertoire 'bin'. – Aaronaught
Mais les assemblys dans le framework .NET n'ont pas besoin d'être inclus dans le répertoire/bin, n'est-ce pas? Par exemple, dans mon balisage de service, j'utilise "System.Data.Services.DataServiceHostFactory" pour la fabrique de services. Cela signifie-t-il que System.Data.Services.dll doit être inclus dans le répertoire/bin? – Chris