Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Om een aangepaste assembly te implementeren in SQL Server Reporting Services, plaats u de assembly in de applicatiemappen van zowel Report Designer als de report server. Standaard krijgen aangepaste assemblies Execution permission in Reporting Services. Om aangepaste assemblies privileges te verlenen buiten de Execute-toestemming, moet je het rssrvpolicy.config configuratiebestand voor de rapportserver en het rspreviewpolicy.config configuratiebestand voor het Report Designer previewvenster bewerken. Alternatief kun je je aangepaste assembly installeren in de global assembly cache (GAC).
Note
Er zijn twee preview-modi voor Report Designer: het tabblad Preview en het pop-up previewvenster dat wordt geopend wanneer je rapportproject wordt gestart in DebugLocal-modus. Het tabblad Preview-weergave voert alle rapportexpressies uit met de FullTrust-machtigingsset en past geen beveiligingsbeleidsinstellingen toe. Het pop-up previewvenster is bedoeld om de functionaliteit van de rapportserver te simuleren en bevat daarom een beleidsconfiguratiebestand dat jij of een beheerder moet aanpassen om aangepaste assemblies in Report Designer te gebruiken. Deze pop-up preview vergrendelt ook de aangepaste assembly. Daarom moet je het previewvenster sluiten om je aangepaste assemblycode te wijzigen of bij te werken.
Zet een aangepaste assembly uit in Reporting Services
Kopieer je aangepaste assembly van je bouwlocatie naar de Report Server bin-map of de Report Designer-map.
Door je aangepaste assembly in de report server bin-map te plaatsen, kun je rapporten publiceren die naar je aangepaste assembly verwijzen. De standaardlocatie van de bin-map voor de rapportserver is:
Reporting Services 2016
%ProgramFiles%\Microsoft SQL Server\MSRS13.MSSQLSERVER\Reporting Services\ReportServer\binReporting Services 2017 en later
%ProgramFiles%\Microsoft SQL Server Reporting Services\SSRS\ReportServer\binDoor het in de Report Designer-map te plaatsen, kun je rapporten uitvoeren en debuggen die naar je aangepaste assembly verwijzen in Report Designer. De standaardlocatie van de Report Designer is:
Visual Studio 2012
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssembliesVisual Studio 2013
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\PrivateAssembliesVisual Studio 2015
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\PrivateAssembliesVisual Studio 2017
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\SSRSVisual Studio 2019
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\CommonExtensions\Microsoft\SSRSOpen het juiste configuratiebestand. De standaardlocatie van rssrvpolicy.config voor de rapportserver is:
Reporting Services 2016
%ProgramFiles%\Microsoft SQL Server\MSRS13.MSSQLSERVER\Reporting Services\ReportServerReporting Services 2017 en later
%ProgramFiles%\Microsoft SQL Server Reporting Services\SSRS\ReportServerDe bestanden die voor de Report Designer bijgewerkt moeten worden zijn:
Visual Studio 2012
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies\PreviewProcessingService.exe.config C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies\RSPreviewPolicy.config C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies\RSReportDesigner.config C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies\RSReportHost11.exe.configVisual Studio 2013
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\PrivateAssemblies\PreviewProcessingService.exe.config C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\PrivateAssemblies\RSPreviewPolicy.config C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\PrivateAssemblies\RSReportDesigner.config C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\PrivateAssemblies\RSReportHost.exe.configVisual Studio 2015
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\PrivateAssemblies\PreviewProcessingService.exe.config C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\PrivateAssemblies\RSPreviewPolicy.config C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\PrivateAssemblies\RSReportDesigner.config C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\PrivateAssemblies\RSReportHost.exe.configVisual Studio 2017
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\SSRS\PreviewProcessingService.exe.config C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\SSRS\RSPreviewPolicy.config C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\SSRS\RSReportDesigner.config C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\SSRS\RSReportHost.exe.configVisual Studio 2019
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\CommonExtensions\Microsoft\SSRS\PreviewProcessingService.exe.config C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\CommonExtensions\Microsoft\SSRS\RSPreviewPolicy.config C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\CommonExtensions\Microsoft\SSRS\RSReportDesigner.config C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\CommonExtensions\Microsoft\SSRS\RSReportHost.exe.configVoeg een codegroep toe voor je aangepaste assembly. Voor meer informatie, zie Secure Development (Reporting Services).
Werk aangepaste assemblies bij
Op een gegeven moment moet je misschien een versie van een aangepaste assembly updaten die wordt genoemd door verschillende gepubliceerde rapporten. Als die assembly al bestaat in de bin-map van de report server of Report Designer, en het versienummer van de assembly is verhoogd of op een bepaalde manier veranderd, werken de momenteel gepubliceerde rapporten niet goed. Je moet de versie van de assembly die in het CodeModules-element van de rapportdefinitie wordt genoemd bijwerken en de rapporten opnieuw publiceren. Als je weet dat je vaak een aangepaste assembly zult updaten, en je momenteel gepubliceerde rapporten moeten naar de nieuwe assembly verwijzen, kun je overwegen hetzelfde versienummer te gebruiken voor alle updates van een bepaalde assembly.
Als je je momenteel gepubliceerde rapporten niet nodig hebt om naar de nieuwe versie van de assembly te verwijzen, kun je je aangepaste assembly uitrollen naar de globale assemblycache. De globale assemblycache kan meerdere versies van dezelfde assembly beheren, zodat je huidige rapporten naar de vorige versie van je assembly kunnen verwijzen en je nieuw gepubliceerde rapporten naar de bijgewerkte assembly. Een andere aanpak zou zijn om de bindende redirect van de rapportserver zo in te stellen dat alle verzoeken voor de oude assembly naar de nieuwe assembly worden doorgestuurd. Je zou het rapport server Web.config bestand moeten aanpassen en de rapportserver ReportingServicesService.exe.config bestand. De vermelding kan er als volgt uitzien:
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="myAssembly"
publicKeyToken="32ab4ba45e0a69a1"
culture="neutral" />
<bindingRedirect oldVersion="1.0.0.0"
newVersion="2.0.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>