Eenmalige installatieprocedure voor de Windows Communication Foundation-voorbeelden
De meeste WCF-voorbeelden (Windows Communication Foundation) worden gehost in Internet Information Services (IIS) en worden uitgevoerd vanuit een gemeenschappelijke virtuele map. Met deze eenmalige installatieprocedure maakt u een map op de schijf; er wordt ook een virtuele map toegevoegd aan IIS met de naam ServiceModelSamples.
De virtuele map ServiceModelSamples wordt gebruikt voor het bouwen en uitvoeren van alle voorbeelden die gebruikmaken van een iis-gehoste service. Dit is de enige virtuele map die nodig is om de voorbeelden uit te voeren. Als u een voorbeeld maakt, wordt een eerder geïmplementeerde service in deze virtuele map vervangen; alleen het meest recent gebouwde voorbeeld wordt geïmplementeerd en beschikbaar in deze virtuele map.
Notitie
- U moet alle opdrachten uitvoeren onder een lokaal beheerdersaccount. Als u Windows 7, Windows Vista of Windows Server 2008 R2 gebruikt, moet u ook de opdrachtprompt uitvoeren met verhoogde bevoegdheden. Klik hiervoor met de rechtermuisknop op het opdrachtpromptpictogram en klik vervolgens op Uitvoeren als administrator.
- Alle opdrachten in dit artikel moeten worden uitgevoerd in een opdrachtprompt met de juiste padinstellingen. De eenvoudigste manier om dit te controleren, is met behulp van de opdrachtprompt voor Ontwikkelaars voor Visual Studio.
Eenmalige installatieprocedure voor WCF-voorbeelden
Zorg ervoor dat ASP.NET is ingesteld. Zie de instructies voor het hosten van internetinformatieservice voor meer informatie over het instellen van ASP.NET.
Zorg ervoor dat .NET Framework 4+ is geïnstalleerd. Zoek in de volgende map naar v4.0 (of hoger): \Windows\Microsoft.NET\Framework
Zorg ervoor dat Visual Studio 2012 of hoger is geïnstalleerd of dat uw besturingssysteem Windows Server 2008 SP2 of hoger is.
Voer de volgende opdrachten uit. Zie iis-gehoste service mislukt voor meer informatie over waarom deze opdrachten moeten worden uitgevoerd.
Waarschuwing
Als IIS opnieuw is geïnstalleerd, moeten de volgende opdrachten opnieuw worden uitgevoerd.
"%WINDIR%\Microsoft.Net\Framework\v4.0.30319\aspnet_regiis" –i –enable "%WINDIR%\Microsoft.Net\Framework\v4.0.30319\ServiceModelReg.exe" -r
Waarschuwing
Als u de opdracht
aspnet_regiis –i –enable
uitvoert, wordt de standaard-app-groep uitgevoerd met behulp van .NET Framework 4, wat kan leiden tot incompatibiliteitsproblemen voor andere toepassingen op dezelfde computer.Volg de firewallinstructies voor het inschakelen van de poorten die door de voorbeelden worden gebruikt.
Voer het Setupvroot.bat batchbestand uit. De volgende stappen worden uitgevoerd:
Er wordt een virtuele map gemaakt in IIS met de naam ServiceModelSamples.
Nieuwe schijfmappen worden gemaakt met de naam %SystemDrive%\Inetpub\wwwroot\ServiceModelSamples en %SystemDrive%\Inetpub\wwwroot\ServiceModelSamples\bin.
Als u deze mappen liever handmatig instelt, raadpleegt u de instructies voor het instellen van virtuele mappen. Als u alle wijzigingen die in deze stap zijn uitgevoerd, wilt herstellen, voert u cleanupvroot.bat uit nadat u klaar bent met het gebruik van de voorbeelden.
Notitie
Deze procedure moet slechts eenmaal op een computer worden uitgevoerd, tenzij u cleanupvroot.bat uitvoert.
U moet toestemming verlenen om te wijzigen voor %SystemDrive%\inetpub\wwwroot aan het account waaronder u de voorbeelden en de gebruiker van de netwerkservice bouwt. Tijdens het bouwen proberen sommige door het web gehoste voorbeelden de gecompileerde binaire bestanden naar de eerder genoemde locatie te kopiëren en als u niet de juiste machtigingen hebt ingesteld, wordt de build verbroken. U kunt de machtigingen ook op dezelfde manier laten staan en de SDK-opdrachtprompt of Visual Studio-opdrachtprompt (2012) uitvoeren als Beheer istrator, of de voorbeelden bouwen in Visual Studio 2012, ook worden uitgevoerd als Beheer istrator.
Notitie
Als deze stap niet is voltooid, mislukken alle iis-gehoste voorbeelden tijdens het bouwen. Zorg ervoor dat u de machtigingen juist instelt of voer zowel de SDK-opdrachtprompt als de Visual Studio-opdrachtprompt uit als Beheer istrator.
Maak een map C:\logs op de computer omdat sommige voorbeelden dit kunnen verwachten. Zorg ervoor dat voor het juiste account schrijftoegang is verleend aan deze map. Voor Windows 7, Windows Vista en Windows Server 2008 R2 is dit account Netwerkservice. Voor Windows Server 2008 is het account NT Authority\Network Service. Voor Windows XP en Windows Server 2003 is het account ASPNET.
Voer het Setupcerttool.bat-bestand uit. Met dit script worden de volgende taken uitgevoerd:
Hiermee wordt het hulpprogramma FindPrivateKey gebouwd.
Hiermee maakt u een map met de naam %ProgramFiles%\ServiceModelSampleTools.
Kopieert het nieuwe hulpprogramma FindPrivateKey naar deze map.
Dit hulpprogramma is vereist voor voorbeelden die gebruikmaken van certificaten en worden gehost in IIS.
Notitie
Voor beveiligingsdoeleinden moet u de definitie en machtigingen van de virtuele map verwijderen die zijn verleend in de bovenstaande installatiestappen door het batchbestand met de naam cleanupvroot.bat uit te voeren nadat u klaar bent met de voorbeelden.
Voor voorbeelden die zelf-hosten (niet gehost in IIS) is toestemming vereist voor het registreren van HTTP-adressen op de computer om te luisteren. De machtiging voor een HTTP-naamruimtereservering is afkomstig van het gebruikersaccount dat wordt gebruikt om het voorbeeld uit te voeren. Beheerdersaccounts hebben standaard de machtiging om een HTTP-adres te registreren. Niet-beheerdersaccounts moeten zijn gemachtigd voor de HTTP-naamruimten die door de voorbeelden worden gebruikt. Zie HTTP en HTTPS configureren voor meer informatie over het configureren van naamruimtereserveringen.
Voor sommige voorbeelden is Message Queuing vereist. Zie Message Queuing (MSMQ) installeren voor installatie-instructies.
Notitie
Zorg ervoor dat u de MSMQ-service start voordat u voorbeelden uitvoert waarvoor Message Queuing is vereist.
Voor sommige voorbeelden zijn certificaten vereist. Zie installatie-instructies voor iis-servercertificaten (Internet Information Services).