Installation:
Contact me direct.
Configurations:
Client and Server application.config
Application Section
<application
type="SERVER"
name="Chicago1"
configuration="http://iis/SsrsRenderStudio/master/SsrsRenderStudioServer.config"/>
Attribute | Definition |
type | Application type identifier: CLIENT or SERVER. |
name | The unique name of this app. This value must correspond to a server or client in the master configuration file. |
configuration | The URL of the master configuration. |
DEPRECATED: WCF Endpoint Section
<endpoint
location="http://iis/SsrsRenderStudio/endpoints/servers/chicago1.config"/>
Attribute | Definition |
location | URL pointing to a WCF Pointer file |
DEPRECATED: Logging Section
<logging
source="SsrsRenderStudioConsoleClient"
verbosity="10"/>
Attribute | Definition |
source | This value identifies the source of each log message. |
verbosity | Represents message severity threashold to include in logging. For example, if the verbosity value is set to 4, messages with severity 0, 1, 2, 3 and 4 are logged. Messages with severity higher than 4 are ignored. |
The user running the Server service must have appropriate permissions to create an event source and view the Security event log.Value | Severity |
0 | emergency |
1 | alert |
2 | critical |
3 | error |
4 | warning |
5 | notice |
6 | informational |
7 | debug |
DEPRECATED: Server Section
<server
name="Chicago1"
configuration="http://iis/SsrsRenderStudio/master/SsrsRenderStudioServer.config"/>
Attribute | Definition |
name | The unique name of this server. This value must correspond to a server in the master configuration file. |
configuration | The URL of the master configuration. |
Configuration Server Configurations
WCF Pointers and Bindings
Client WCF Pointer
<endpoints><endpoint
name="SsrsRenderStudio.Wcf.ServiceContract.IRenderStudioUserService"
location="http://iis/SsrsRenderStudio/endpoints/bindings/SsrsRenderStudio_ServerA.config"/>
<endpoint
name="SsrsRenderStudio.Wcf.ServiceContract.IRenderStudioUserService"
location="http://iis/SsrsRenderStudio/endpoints/bindings/SsrsRenderStudio_ServerB.config"/></endpoints>
Server WCF Pointer
<endpoints><endpoint
name="SsrsRenderStudio.Wcf.ServiceImpl.RenderStudioUserService"
location="http://iis/SsrsRenderStudio/endpoints/bindings/SsrsRenderStudio_ServerA.config"/></endpoints>
Attribute | Definition |
name | Type name associated with the endpoint section. |
location | URL pointing to the actual WCF endpoint binding information. |
Please note that the name attribute must appear as shown above. They are different for client and server.The Client and Server nodes inside the master configuration contain a Endpoint attribute which corresponds to a node inside the Endpoints list in the same configuration file. The node inside the Enpoints list is referencedy by the FriendlyName attribute and the Location attribute is the URL to the 'WCF Pointer'.
The client and server application.config files contain a URL that points to the above 'WCF pointers'. A 'WCF pointer' points to the 'WCF endpoint binding configuration'. When a client channel is created or a server service host is opened, the 'WCF endpoint binding configuration' (system.serviceModel) is applied and network communication is established.
'WCF pointers' are located on the configuration server for ease of administration. For example, if Server C is added to the Chicago group, only the 'WCF pointer' file has to be modified and the local client/server configurations are not touched.
'WCF pointers' can contain multiple <endpoint> sections, prioritized from top to bottom. If a client attempts to connect to Server A, but Server A is down, then the client will attempt to connect to Server B. Multiple <endpoint> sections for servers are not supported.
RenderStudio Master Configuration
Application section
<Application
Name="SsrsRenderStudio"
Version="1"
Revision="0"/>
Not Used.
Smtp section
<Smtp
Host="smtp.domain.com"
FromAddress="SsrsRenderStudio@domain.com"
FromDisplayName="SSRS Render Studio"
AdministratorEmail="admin@domain.com"/>
Used for email communications.
Logging section
<Logging>
<Log FriendlyName="Chicago1" Verbosity="10" IsImmediate="true" LogProcessingInterval="0:00:30">
<Actions>
<Action Severity="0,1,2,3,4,5">
<Execute Type="CONSOLE"/>
<Execute Type="LOG" Filename="server.log"/>
<Execute Type="EVENT" Logname="Application" Source="SsrsRenderStudioServer"/>
</Action>
<Action Severity="0,1,2">
<Execute Type="EMAIL" Recepient="chris@somewhere.com"/>
<Execute Type="LOG" Filename="server_CRITICAL.log"/>
</Action>
<Action Severity="6,7">
<Execute Type="CONSOLE"/>
<Execute Type="LOG" Filename="server.log"/>
</Action>
</Actions>
</Log>
</Logging>
Per application configuration of the logging facilities. Changes to the logging configuration require application restart.
Log sectionAttribute | Definition |
FriendlyName | Identifies the log facilities configuration. Must match the Logging attribute in Client/Server configuration. |
Verbosity | Severity level to log up to. 0=emergency, 7=debug. |
IsImmediate | 'true' or 'false'. Determines whether the log facility processes requests immediately or as a batch at given intervals. |
LogProcessingInterval | If IsImmediate is 'false' then this TimeSpan interval determines the batch processing interval of log requests. |
Action sectionEach log facility configuration can contain multiple Action sections.
Attribute | Definition |
Severity | Comma delimited list of severity levels to apply this section to. |
Execute sectionEach Action section can contain multiple Execute sections.
Attribute | Definition |
Type | Type of task to execute for this severity. |
Available Types:
Type | Description | Parameters |
CONSOLE | Output to console | None |
LOG | Output to file | Filename=the filename to write to in the application's directory. |
EVENT | Output to Windows Event Log | Logname=the log name to write to (Application,System,Security), Source=the name of the log entry as it appears in the Event Log. |
EMAIL | Output to email, based on the Smtp section of the master configuration. | Recepient=single email address. |
NONE | Output to null | None |
Endpoints section
<Endpoints>
<Endpoint FriendlyName="Chicago1" Location="http://iis/SsrsRenderStudio/endpoints/servers/chicago1.config"/>
<Endpoint FriendlyName="SsrsRenderStudioConsoleClient" Location="http://iis/SsrsRenderStudio/endpoints/clients/chicago.config"/>
</Endpoints>
Attribute | Definition |
FriendlyName | Identifies the name of this Endpoint configuration. Must match the Endpoint attribute in the Server/Client section. |
Location | URL to the WCF Endpoint Pointer configuration. |
Recovery section
<Recovery>
<RexRecovery Description="Server should recover when the REX renderer returns any of these enabled exceptions.">
<RecoverOn Exception="RENDERER_REX_DOWN" Enabled="true"/>
<RecoverOn Exception="RENDERER_REX_MALFORMED" Enabled="true"/>
<RecoverOn Exception="RENDERER_LOAD_REPORT_FAILED" Enabled="true"/>
<RecoverOn Exception="RENDERER_LOAD_REPORT_FAILED_INVALID_REPORT" Enabled="true"/>
<RecoverOn Exception="RENDERER_SOAP_ERROR" Enabled="false"/>
<RecoverOn Exception="RENDERER_GENERIC_ERROR" Enabled="false"/>
<RecoverOn Exception="RENDERER_ZERO_LENGTH_STREAM" Enabled="false"/>
<RecoverOn Exception="RENDERER_ENGINE_CONTEXT_NOT_SETUP" Enabled="false"/>
</RexRecovery>
</Recovery>
The exception types that should trigger a REX recovery action. If a server submits a report processing request to a
faulted REX and encounters one of the above exceptions it will attempt to submit the request to the next REX.
Attribute | Definition |
Exception | Predetermines exception type available in the application. |
Enabled | If 'true' then the exception will trigger a recovery attempt. |
Clients section
<Clients>
<Client FriendlyName="SsrsRenderStudioConsoleClient"
Logging="SsrsRenderStudioConsoleClient"
Endpoint="SsrsRenderStudioConsoleClient"/>
</Clients>
Attribute | Definition |
FriendlyName | Identifies the client. Must match the name attribute in the client's application.config. |
Logging | Identifies log facility configuration. Must match the FriendlyName attribute in the Logging section. |
Endpoint | Identifies WCF endpoint pointer to use. Must match the FriendlyName attribute in the Endpoints section. |
Servers section
<Server
FriendlyName="Chicago1"
ServiceName="SsrsRenderStudio"
PreferredReportServer="US09RPT01"
PreferredReportServerGroup="ChicagoReportServers"
PreferredReportServerGroupOnly="false"
ReportCacheTtl="0:05:00"
IsDebug="true"/>
Attribute | Definition |
FriendlyName | Identifies the server. Must match the name attribute in the server's application.config. |
Logging | Identifies log facility configuration. Must match the FriendlyName attribute in the Logging section. |
Endpoint | Identifies WCF endpoint pointer to use. Must match the FriendlyName attribute in the Endpoints section. |
ServiceName | Not Used |
PreferredReportServer | The RS to use when executing reports. |
PreferredReportServerGroup | The RS group to iterate when recovering from a broken RS instance. |
PreferredReportServerGroupOnly | Recover within the preffered RS group only. |
ReportCacheTtl | TimeSpan that a processed report is available for quick reprocessing (hh:mm:ss). |
RexKeepAliveTimer | TimeSpan that a dummy report is sent to the seen REXs. This is used to speed up report processing after IIS recycles the SSRS process |
IsDebug | Boolean value that outputs extra debug information to disk. You must manually create a debug folder in the installation directory. |
ReportServers section
<ReportServer
FriendlyName="US09RPT01"
Group="ChicagoReportServers"
RexUrl="http://rpt01:80/reportserver/ReportExecution2005.asmx"
RsUrl="http://rpt01:80/ReportServer/ReportService2005.asmx"/>
Used by the Servers section.
Reports section
<Report
FriendlyName="Test_Portrait_4by6"
ReportUrl="/SsrsRenderStudioDev/SatoReportPortrait"
OverridePageSettings="True"
Width="4" Height="6" MarginTop="0" MarginBottom="0" MarginRight="0" MarginLeft="0"/>
Attribute | Definition |
FriendlyName | Name of the report as it called from the client application. |
ReportUrl | Native RS requires the relative path to the report. |
OverridePageSettings | Increases performance if the report settings are listed and overriden here. Otherwise SsrsRenderStudio has to query for report settings after it loads the report to the RS ReportExecutionService. All dimensions are in inches. |
Printers section
<Printer
FriendlyName="ChrisPrinter"
NetworkDestination="\\PrtSrv\chris"
OverridePrinterSettings="true"
DpiX="203" DpiY="203"/>
Attribute | Definition |
FriendlyName | Name of the printer as it is called from the client application. |
NetworkDestination | The CIFS path of the printer. |
OverridePrinterSettings | Increases performance if the printer DPI are listed and overriden here. Otherwise SsrsRenderStudio has to query the printer for that information. |
Important: printer drivers must be installed on each SsrsRenderStudio Server manually!
Other Settings
Report Server RsReportServer.config
Report execution performance is affected by the RS application domain recycle time. When the application domain is recycled, the first client request can take longer than expected. Ensure your WCF binding timeouts accomodate this or modify the RS recycle time.
RsReportServer.configRS Application Domains