Gdy próbuję obsługiwać usługę WCF na IIS na komputerze z systemem Windows 8, pojawia się dobrze znany błąd
Żądana strona nie może zostać wyświetlona z powodu konfiguracji rozszerzenia. Jeśli strona jest skryptem, dodaj moduł obsługi. Jeśli plik powinien zostać pobrany, dodaj mapę MIME.
Stare obejście miało zostać uruchomione, aspnet_regiis -i
ale wydaje się, że to polecenie było przestarzałe w systemie Windows 8, dając odpowiedź This option is not supported on this version of the operating system. (...)
.
Jaka będzie praca?
(Udało mi się już włączyć zwykłe aspx
strony, więc większość konfiguracji IIS wydaje się zdrowa).
aspnet_regiis -i
polecenia dla użytkowników wcześniejszych niż Windows 8, zobacz ten link: aspsnippets.com/Articles/…Odpowiedzi:
Wydawało się, że nie ma problemu; usługę WCF należy włączyć za pomocą
Programs and Features -> Turn Windows features on or off
Panelu sterowania. Przejdź.NET Framework Advanced Services -> WCF Services
i włączHTTP Activation
zgodnie z opisem w tym poście na mdsn .W wierszu polecenia (jako administrator) możesz uruchomić:
Jeśli pojawi się błąd, skorzystaj z poniższego
źródło
/all
argument), który następnie pracował w porządku:DISM /Online /Enable-Feature /all /FeatureName:WCF-HTTP-Activation45
..NET 3.5 Framework Advanced Services -> Windows Communication Foundation HTTP Activation
W przypadku systemu Windows Server 2012 rozwiązanie jest bardzo podobne do faester (patrz wyżej). W Menedżerze serwera kliknij
Add roles and features
, wybierz odpowiedni serwer, a następnie wybierzFeatures
. Poniżej.NET Framework 4.5 Features
zobaczyszWCF Services
, a poniżej znajdzieszHTTP Activation
.źródło
Wykonaj następujące dwa kroki w IIS 8.0
Dodaj nowy typ MIME i HttpHandler
Rozszerzenie: .svc, typ MIME: application / octet-stream
Ścieżka żądania: * .svc, Typ: System.ServiceModel.Activation.HttpHandler, Nazwa: svc-Integrated
źródło
Możesz to również osiągnąć poprzez WŁĄCZENIE funkcji systemu Windows.
źródło
To jest naprawdę to samo rozwiązanie, co rozwiązanie Faestera i Billa Moona, ale oto jak to zrobić za pomocą PowerShell:
Oczywiście nic też nie powstrzymuje Cię przed dzwonieniem
DISM
z PowerShell.źródło
możesz dodać ten kod do web.config w asp mvc
możesz zmienić rozszerzenie pliku za pomocą rozszerzenia
źródło