J'ai essayé de suivre ce tutorial pour déployer un échantillon WCF vers IIS. Je ne peux pas le faire fonctionner. C'est un site hébergé, mais j'ai un accès au serveur IIS. Cependant, à l'étape 2 du didacticiel, je ne peux pas "créer une nouvelle application IIS qui se trouve physiquement dans ce répertoire d'application". Je n'arrive pas à trouver un élément de menu, un élément de menu contextuel ou quoi créer une nouvelle application. J'ai fait un clic droit partout comme un fou et je n'arrive toujours pas à comprendre comment créer une nouvelle application. Je suppose que c'est probablement le problème racine, mais j'ai essayé quelques autres choses (décrites ci-dessous) juste au cas où ce n'est pas le problème. Voici une photo de ce que je vois dans le Gestionnaire IIS, dans le cas où mes paroles ne le font pas justice:Déploiement de l'application Tutorial WCF sur IIS7: "Le type n'a pas pu être trouvé"
No add Application Here http://www.freeimagehosting.net/uploads/d6edbaaf3c.png
C'est « déployé » à http://test.com.cws1.my-hosting-panel.com/IISHostedCalcService/Service.svc. L'erreur dit:
The type 'Microsoft.ServiceModel.Samples.CalculatorService',
provided as the Service attribute value in the ServiceHost directive,
or provided in the configuration element
system.serviceModel/serviceHostingEnvironment/serviceActivations
could not be found.
J'ai aussi essayé de créer un répertoire virtuel (IISHostedCalc) en DotNetPanel qui pointe vers IISHostedCalcService. Quand je navigue à http://test.com.cws1.my-hosting-panel.com/IISHostedCalc/Service.svc, puis il y a une autre erreur:
This collection already contains an address with scheme http.
There can be at most one address per scheme in this collection.
Il est intéressant, si je clique sur Afficher les applications, il semble que le répertoire virtuel est une application (voir image ci-dessous) ... bien que, comme par le message d'erreur ci-dessus, cela ne fonctionne pas.
Is this an app or not? http://www.freeimagehosting.net/uploads/f3230be046.png
Selon le tutoriel, il n'y avait pas la compilation impliqué; Je viens de tomber les fichiers sur le serveur comme suivre dans le dossier IISHostedCalcService:
service.svc
Web.config
<dir: App_Code>
Service.cs
service.svc contient:
<%@ServiceHost language=c# Debug="true" Service="Microsoft.ServiceModel.Samples.CalculatorService"%>
(j'ai essayé avec des guillemets autour du C# attribut, comme cela semble un peu étrange sans les guillemets, mais il n'a fait aucune différence)
Web.config contient:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<services>
<service name="Microsoft.ServiceModel.Samples.CalculatorService">
<!-- This endpoint is exposed at the base address provided by host: http://localhost/servicemodelsamples/service.svc -->
<endpoint address=""
binding="wsHttpBinding"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
<!-- The mex endpoint is explosed at http://localhost/servicemodelsamples/service.svc/mex -->
<endpoint address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange" />
</service>
</services>
</system.serviceModel>
<system.web>
<customErrors mode="Off"/>
</system.web>
</configuration>
Service.cs contient:
using System;
using System.ServiceModel;
namespace Microsoft.ServiceModel.Samples
{
[ServiceContract]
public interface ICalculator
{
[OperationContract]
double Add(double n1, double n2);
[OperationContract]
double Subtract(double n1, double n2);
[OperationContract]
double Multiply(double n1, double n2);
[OperationContract]
double Divide(double n1, double n2);
}
public class CalculatorService : ICalculator
{
public double Add(double n1, double n2)
{
return n1 + n2;
}
public double Subtract(double n1, double n2)
{
return n1 - n2;
}
public double Multiply(double n1, double n2)
{
return n1 * n2;
}
public double Divide(double n1, double n2)
{
return n1/n2;
}
}
}
S'il vous plaît essayer Ajouter une application (la réponse de JDC) avant de faire tout cela ... il est beaucoup plus facile et a travaillé pour moi! – JoelFan