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 section
Attribute 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 section
Each log facility configuration can contain multiple Action sections.
Attribute Definition
Severity Comma delimited list of severity levels to apply this section to.

Execute section
Each 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.config
RS Application Domains

Last edited Dec 8, 2011 at 7:20 PM by fixitchris, version 28

Comments

No comments yet.