2010-01-05 9 views
6

Ich habe IIS 6.0 unter Windows Server 2003Wie WCF-Dienst auf IIS 6.0

Ich installierte .NET 3.5 und 4 Beta 2 "Normal" ASP Dinge funktionieren (perfekt) zu implementieren. Aber wenn ich versuche, zu meinem Dienst zu navigieren (/myServer/MyService.svc) bekomme ich eine 404. Seite nicht gefunden.

Um genau zu sein, habe ich eine 404 2 "Web-Service-Erweiterung Sperrrichtlinie verhindert diese Anfrage."

I ServiceModelReg.exe /ia verwendet, um sicherzustellen, dass die Erweiterung I bekannt und ich überprüfte die Konfiguration mit:

Admin-Werkzeuge, iis, haus Registerkarte Konfiguration ausführbar-Box, und dort:

Erweiterung : .svc, Pfad: c:\windows\microsoft.net\framework\v4.0.210..., Verben: alle Verben.

So scheint alles in Ordnung. Aber ich bekomme immer noch ein 404-2.

+0

ist es Ihre Wahl/Wunsch, dass SVC-Dateien, die von .NET 4 bereits behandelt bekommen ?? –

Antwort

2

Können Sie uns Ihre serverseitige web.config zeigen (nur die <system.serviceModel> Sektion)? Wo auf Ihrem Server lebt Ihr Service?

Wenn in IIS-Hosting, Ihre Service-Adresse ist wie folgt definiert:

  • Servernamen (oder IP-Adresse)
  • Name des virtuellen Verzeichnisses (plus alle Unterverzeichnisse unter diesem), in dem Sie Ihre * .svc Datei lebt
  • die * .SVC selbst
Datei

So wäre es so etwas wie:

http://YourServer/YourVirtualDirectory/MyService.svc 

Sie scheinen kein virtuelles Verzeichnis in dem von Ihnen angegebenen Pfad zu verwenden - befindet sich Ihre * .svc-Datei wirklich im Stammverzeichnis des Webservers oder haben Sie vergessen, das virtuelle Verzeichnis zu Ihrem Pfad hinzuzufügen?

1

Die Informationen in diesem Blogbeitrag erwiesen sich als unbezahlbar, um dies zum Laufen zu bringen.

http://xamlcoder.com/blog/?p=7

ich IIS6 bin nicht sicher, aber ich erstellt eine neue Website in IIS7 (ich konnte nicht die Dinge unter einem virtuellen Verzeichnis zu arbeiten, aber das ist wahrscheinlich Wissen meines Mangel an IIS) habe ich meine .svc Datei im Stammverzeichnis und in ~/Services/

Alles begann großartig zu arbeiten.

Der Blog erwähnt, dass IIS in ~/Services/automatisch suchen sollte, wann immer eine .svc Datei serviert wird, aber das hat nicht funktioniert. Aus diesem Grund habe ich einfach die .svc-Datei in meine Website root kopiert.

Hoffe, das hilft.

7

Ihre "Web Service Extension Lockdown-Richtlinie" verhindert, dass die ASP.NET 4.0 ISAPI-Erweiterung Ihre Anfrage verarbeitet. Es mir passiert ist, check it out:

C:\>cscript c:\WINDOWS\system32\iisext.vbs /ListFile 
Microsoft (R) Windows Script Host Version 5.6 
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved. 

Connecting to server ...Done. 

Status/Extension Path 
------------------------ 
0 C:\WINDOWS\system32\inetsrv\httpodbc.dll 
0 C:\WINDOWS\system32\inetsrv\ssinc.dll 
0 C:\WINDOWS\system32\inetsrv\asp.dll 
1 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll 
0 *.exe 
0 C:\WINDOWS\system32\inetsrv\httpext.dll 
0 *.dll 
1 C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll 
1 C:\WINDOWS\system32\MQISE.DLL 
0 C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll 

Haben Sie eine "0" neben dem v4.0 aspnet_isapi.dll wie ich es tat? Da ist dein Problem.Sie müssen es ermöglichen:

C:\>cscript c:\WINDOWS\system32\iisext.vbs /EnFile C:\WINDOWS\Microsoft.NET\Frame 
work64\v4.0.30319\aspnet_isapi.dll 
Microsoft (R) Windows Script Host Version 5.6 
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved. 

Connecting to server ...Done. 
Enabling extension file complete. 

Für weitere Informationen über das iisext.vbs Werkzeug: http://support.microsoft.com/kb/328419/

+0

Danke für das tolle Detail. Du hast mein Problem gelöst. –

+0

vielen Dank für diesen Beitrag – holzleube

+0

Das war genau mein Problem. Ich bin gerade dabei, ein Problem auf einem alten Server zu beheben, und WCF, das mit Win2003/IIS6 funktioniert, hat länger gedauert, als ich erwartet hatte. – JCallico

Verwandte Themen