Wie veröffentliche ich einen Web Service von Visual Studio in IIS?

Ich geschrieben habe einen WCF-service in C#. Ursprünglich hatte ich die self-hosted-it und entschied sich dann host it, die auf IIS ausgeführt wird, lokal auf meinem PC. Während der service-arbeiten, gibt es mehrere Aspekte, die den deployment-Prozess, dass ich nicht verstehe:

Erstens, die URL der service-gehostet im IIS nicht dem entspricht, was ich angegeben in meinem web.config. Ich hatte angegeben "http://localhost:8000/MyServices/OrderService" gibt, und dies wurde verwendet, wenn ich selbst gehostet. Nun habe ich bereitgestellt IIS, die URL hat sich "http://localhost/MyServices/OrderService". Warum wird die URL nicht abgeholt von meiner config-Datei?

Zweitens, um als host für den Web-Service erstellte ich eine neue Website innerhalb des IIS (zusätzlich zu den bestehenden 'Default Web Site'). Ich habe die physikalischen Pfad zu c:\inetpub\wwwroot (keine Ahnung ob das stimmt) und Links die anderen Parameter als Standard. Kopiere ich dann meine Ordner /bin, meine .svc-Datei und meine web.config in diesem Ordner. Dies ist das äquivalent von ein 'Virtuelles Verzeichnis'?

Schließlich, der service hat nicht funktioniert, bis (in der IIS -) ich gewählt "Convert to application". Warum ist es notwendig, wählen Sie "Convert to application"?

Kann mir jemand erklären, was die richtige Vorgehensweise ist die Veröffentlichung einer einfachen web-service von Visual Studio, IIS, oder zeigen Sie mich auf einige gute Dokumentation, so kann ich verstehen, den Prozess?

****BEARBEITEN, UM DIE ORIGINAL -*****
Nachdem er mehr Zeit mit der Suche in diesem habe ich Folgendes gefunden:

  • Wenn ich erstellen Sie eine Website in IIS, gebe ich es ein physisches Verzeichnis c:\inetpub\wwwroot....etc
  • Wenn ich dann auf "veröffentlichen" in Visual studio, alle es tut, ist kopieren Sie alle erforderlichen abgelegt (wie im /bin-Verzeichnis, web.config und .svc-Datei) in das physikalische Verzeichnis der website, D. H. - c:\inetpub\wwwroot...

Können Sie kopieren Sie manuell die gleichen Auswirkungen.

  • Schließlich, mit Bezug auf die URL von meinem service nicht entsprechend der baseAddress Abschnitt meiner web.config Datei, dies wurde antwortete auf stackoverflow zuvor.

Die Antwort ist, dass die baseAddress wird völlig ignoriert, wenn das hosting in IIS.

InformationsquelleAutor der Frage JMc | 2011-04-28

Schreibe einen Kommentar