Ich habe versucht, diesem tutorial zu folgen, um ein WCF-Beispiel für IIS bereitzustellen. Ich kann es nicht zur Arbeit bringen. Dies ist eine gehostete Website, aber ich habe IIS Manager Zugriff auf den Server. In Schritt 2 des Lernprogramms kann ich jedoch nicht "eine neue IIS-Anwendung erstellen, die sich physisch in diesem Anwendungsverzeichnis befindet". Ich kann anscheinend keinen Menüeintrag, keinen Kontextmenüpunkt oder eine neue Anwendung finden. Ich habe überall mit der rechten Maustaste wie verrückt geklickt und kann immer noch nicht herausfinden, wie man eine neue App erstellt. Ich nehme an, das ist wahrscheinlich das Grundproblem, aber ich habe ein paar andere Dinge (unten beschrieben) nur für den Fall, dass das nicht das Problem ist. Hier ist ein Bild von dem, was ich in den IIS-Manager sehen, falls meine Worte es nicht gerecht:Bereitstellen der WCF-Lernprogramm-App auf IIS7: "Der Typ konnte nicht gefunden werden"
No add Application Here http://www.freeimagehosting.net/uploads/d6edbaaf3c.png
Dies wird als „Einsatz“ bei http://test.com.cws1.my-hosting-panel.com/IISHostedCalcService/Service.svc. Der Fehler sagt:
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.
ich auch ein virtuelles Verzeichnis (IISHostedCalc) in DotNetPanel zu schaffen versucht, die IISHostedCalcService verweist. Als ich nach http://test.com.cws1.my-hosting-panel.com/IISHostedCalc/Service.svc navigieren, dann gibt es einen anderen Fehler:
This collection already contains an address with scheme http.
There can be at most one address per scheme in this collection.
Interessanterweise, wenn ich auf dem View-Anwendungen klicken, scheint es wie das virtuelle Verzeichnis ist eine Anwendung (unten im Bild) ... obwohl, wie Laut der obigen Fehlermeldung funktioniert es nicht.
Is this an app or not? http://www.freeimagehosting.net/uploads/f3230be046.png
Gemäß dem Tutorial, gab es keine Zusammenstellung beteiligt; Ich ließ nur die Dateien auf dem Server als in den Ordner IISHostedCalcService folgen:
service.svc
Web.config
<dir: App_Code>
Service.cs
service.svc enthält:
<%@ServiceHost language=c# Debug="true" Service="Microsoft.ServiceModel.Samples.CalculatorService"%>
(Ich habe versucht, mit Anführungszeichen um den C# Attribut, da dies ein wenig seltsam aussieht ohne Anführungszeichen, aber es machte keinen Unterschied)
Web.config enthält:
<?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 enthält:
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;
}
}
}
Bitte versuchen Anwendung hinzufügen (JDC Antwort), bevor Sie all dies tun ... es ist viel einfacher und arbeitete für mich! – JoelFan