ServiceStack
Used in Unit tests
Ensure the same instance is used for subclasses
Called before page is executed
Called after page is executed but before it's merged with the
website template if any.
Don't HTML encode safe output
Return the output of a different view with the specified name
using the supplied model
Resolve registered Assemblies
Reference to MarkdownViewEngine
The AppHost so you can access configuration and resolve dependencies, etc.
This precompiled Markdown page with Metadata
ASP.NET MVC's HtmlHelper
All variables passed to and created by your page.
The Response DTO is stored and accessible via the 'Model' variable.
All variables and outputs created are stored in ScopeArgs which is what's available
to your website template. The Generated page is stored in the 'Body' variable.
Whether HTML or Markdown output is requested
The Response DTO
If enabled, just returns the Request Info as it understands
For performance withPathInfoParts should already be a lower case string
to minimize redundant matching operations.
The number of segments separated by '/' determinable by path.Split('/').Length
e.g. /path/to/here.ext == 3
The total number of segments after subparts have been exploded ('.')
e.g. /path/to/here.ext == 4
Provide for quick lookups based on hashes that can be determined from a request url
Removes items from cache that have keys matching the specified wildcard pattern
Cache client
The wildcard, where "*" means any sequence of characters and "?" means any single character.
Removes items from the cache based on the specified regular expression pattern
Cache client
Regular expression pattern to search cache keys
Applies the raw request filters. Returns whether or not the request has been handled
and no more processing should be done.
Applies the request filters. Returns whether or not the request has been handled
and no more processing should be done.
Applies the response filters. Returns whether or not the request has been handled
and no more processing should be done.
Call to signal the completion of a ServiceStack-handled Request
The AppHost.Container. Note: it is not thread safe to register dependencies after AppStart.
Inherit from this class if you want to host your web services inside a
Console Application, Windows Service, etc.
Usage of HttpListener allows you to host webservices on the same port (:80) as IIS
however it requires admin user privillages.
Wrapper class for the HTTPListener to allow easier access to the
server, for start and stop management and event routing of the actual
inbound requests.
ASP.NET or HttpListener ServiceStack host
Register dependency in AppHost IOC on Startup
AutoWired Registration of an interface with a concrete type in AppHost IOC on Startup.
Allows the clean up for executed autowired services and filters.
Calls directly after services and filters are executed.
Called at the end of each request. Enables Request Scope.
Register an Adhoc web service on Startup
Apply plugins to this AppHost
Create a service runner for IService actions
Register user-defined custom routes.
Register custom ContentType serializers
Add Request Filters, to be applied before the dto is deserialized
Add Request Filters
Add Response Filters
Add alternative HTML View Engines
Provide an exception handler for un-caught exceptions
Provide an exception handler for unhandled exceptions
Provide a catch-all handler that doesn't match any routes
Provide a custom model minder for a specific Request DTO
The AppHost config
List of pre-registered and user-defined plugins to be enabled in this AppHost
Virtual access to file resources
Starts the Web Service
A Uri that acts as the base that the server is listening on.
Format should be: http://127.0.0.1:8080/ or http://127.0.0.1:8080/somevirtual/
Note: the trailing backslash is required! For more info see the
HttpListener.Prefixes property on MSDN.
Shut down the Web Service
Overridable method that can be used to implement a custom hnandler
TODO: plugin added with .Add method after host initialization won't be configured. Each plugin should have state so we can invoke Register method if host was already started.
A strongly-typed resource class, for looking up localized strings, etc.
Returns the cached ResourceManager instance used by this class.
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
Looks up a localized string similar to Container service is built-in and read-only..
Looks up a localized string similar to Service type {0} does not inherit or implement {1}..
Looks up a localized string similar to Required dependency of type {0} named '{1}' could not be resolved..
Looks up a localized string similar to Required dependency of type {0} could not be resolved..
Looks up a localized string similar to Unknown scope..
Understands how to route and respond to MiniProfiler UI urls.
Returns either includes' css/javascript or results' html.
Handles rendering static content files.
Handles rendering a previous MiniProfiler session, identified by its "?id=GUID" on the query.
Embedded resource contents keyed by filename.
Helper method that sets a proper 404 response code.
Try to keep everything static so we can easily be reused.
Fluent API for customizing the registration of a service.
Helper interface used to hide the base
members from the fluent API to make for much cleaner
Visual Studio intellisense experience.
Fluent API that exposes both
and owner ().
Fluent API that allows specifying the reuse instances.
Specifies how instances are reused within a container or hierarchy. Default
scope is .
Fluent API that allows specifying the owner of instances
created from a registration.
Specifies the owner of instances created from this registration. Default
owner is .
Fluent API for customizing the registration of a service.
Fluent API that allows registering an initializer for the
service.
Specifies an initializer that should be invoked after
the service instance has been created by the factory.
Changes the links for the servicestack/metadata page
Highly optimized code to find if GZIP is supported from:
- http://dotnetperls.com/gzip-request
Other resources for GZip, deflate resources:
- http://www.west-wind.com/Weblog/posts/10564.aspx
- http://www.west-wind.com/WebLog/posts/102969.aspx
- ICSharpCode
when true, (most) bare plain URLs are auto-hyperlinked
WARNING: this is a significant deviation from the markdown spec
when true, RETURN becomes a literal newline
WARNING: this is a significant deviation from the markdown spec
use ">" for HTML output, or " />" for XHTML output
when true, problematic URL characters like [, ], (, and so forth will be encoded
WARNING: this is a significant deviation from the markdown spec
when false, email addresses will never be auto-linked
WARNING: this is a significant deviation from the markdown spec
when true, bold and italic require non-word characters on either side
WARNING: this is a significant deviation from the markdown spec
Markdown is a text-to-HTML conversion tool for web writers.
Markdown allows you to write using an easy-to-read, easy-to-write plain text format,
then convert it to structurally valid XHTML (or HTML).
Tabs are automatically converted to spaces as part of the transform
this constant determines how "wide" those tabs become in spaces
Create a new Markdown instance using default options
Create a new Markdown instance and optionally load options from a configuration
file. There they should be stored in the appSettings section, available options are:
Markdown.StrictBoldItalic (true/false)
Markdown.EmptyElementSuffix (">" or " />" without the quotes)
Markdown.LinkEmails (true/false)
Markdown.AutoNewLines (true/false)
Markdown.AutoHyperlink (true/false)
Markdown.EncodeProblemUrlCharacters (true/false)
Create a new Markdown instance and set the options from the MarkdownOptions object.
maximum nested depth of [] and () supported by the transform; implementation detail
In the static constuctor we'll initialize what stays the same across all transforms.
Transforms the provided Markdown-formatted text to HTML;
see http://en.wikipedia.org/wiki/Markdown
The order in which other subs are called here is
essential. Link and image substitutions need to happen before
EscapeSpecialChars(), so that any *'s or _'s in the a
and img tags get encoded.
Perform transformations that form block-level tags like paragraphs, headers, and list items.
Perform transformations that occur *within* block-level tags like paragraphs, headers, and list items.
splits on two or more newlines, to form "paragraphs";
each paragraph is then unhashed (if it is a hash and unhashing isn't turned off) or wrapped in HTML p tag
Reusable pattern to match balanced [brackets]. See Friedl's
"Mastering Regular Expressions", 2nd Ed., pp. 328-331.
Reusable pattern to match balanced (parens). See Friedl's
"Mastering Regular Expressions", 2nd Ed., pp. 328-331.
Strips link definitions from text, stores the URLs and titles in hash references.
^[id]: url "optional title"
derived pretty much verbatim from PHP Markdown
replaces any block-level HTML blocks with hash entries
returns an array of HTML tokens comprising the input string. Each token is
either a tag (possibly with nested, tags contained therein, such
as <a href="<MTFoo>">, or a run of text between tags. Each element of the
array is a two-element array; the first is either 'tag' or 'text'; the second is
the actual value.
Turn Markdown link shortcuts into HTML anchor tags
[link text](url "title")
[link text][id]
[id]
Turn Markdown image shortcuts into HTML img tags.
![alt text][id]
![alt text](url "optional title")
Turn Markdown headers into HTML header tags
Header 1
========
Header 2
--------
# Header 1
## Header 2
## Header 2 with closing hashes ##
...
###### Header 6
Turn Markdown horizontal rules into HTML hr tags
***
* * *
---
- - -
Turn Markdown lists into HTML ul and ol and li tags
Process the contents of a single ordered or unordered list, splitting it
into individual list items.
/// Turn Markdown 4-space indented code into HTML pre code blocks
Turn Markdown `code spans` into HTML code tags
Turn Markdown *italics* and **bold** into HTML strong and em tags
Turn markdown line breaks (two space at end of line) into HTML break tags
Turn Markdown > quoted blocks into HTML blockquote blocks
Turn angle-delimited URLs into HTML anchor tags
<http://www.example.com>
Remove one level of line-leading spaces
encodes email address randomly
roughly 10% raw, 45% hex, 45% dec
note that @ is always encoded and : never is
Encode/escape certain Markdown characters inside code blocks and spans where they are literals
Encode any ampersands (that aren't part of an HTML entity) and left or right angle brackets
Encodes any escaped characters such as \`, \*, \[ etc
swap back in all the special characters we've hidden
escapes Bold [ * ] and Italic [ _ ] characters
hex-encodes some unusual "problem" chars in URLs to avoid URL detection problems
Within tags -- meaning between < and > -- encode [\ ` * _] so they
don't conflict with their use in Markdown for code, italics and strong.
We're replacing each such character with its corresponding hash
value; this is likely overkill, but it should prevent us from colliding
with the escape values by accident.
convert all tabs to _tabWidth spaces;
standardizes line endings from DOS (CR LF) or Mac (CR) to UNIX (LF);
makes sure text ends with a couple of newlines;
removes any blank lines (only spaces) in the text
this is to emulate what's evailable in PHP
use ">" for HTML output, or " />" for XHTML output
when false, email addresses will never be auto-linked
WARNING: this is a significant deviation from the markdown spec
when true, bold and italic require non-word characters on either side
WARNING: this is a significant deviation from the markdown spec
when true, RETURN becomes a literal newline
WARNING: this is a significant deviation from the markdown spec
when true, (most) bare plain URLs are auto-hyperlinked
WARNING: this is a significant deviation from the markdown spec
when true, problematic URL characters like [, ], (, and so forth will be encoded
WARNING: this is a significant deviation from the markdown spec
current version of MarkdownSharp;
see http://code.google.com/p/markdownsharp/ for the latest code or to contribute
HttpContext based profiler provider. This is the default provider to use in a web context.
The current profiler is associated with a HttpContext.Current ensuring that profilers are
specific to a individual HttpRequest.
BaseProfilerProvider. This providers some helper methods which provide access to
internals not otherwise available.
To use, override the , and
methods.
A provider used to create instances and maintain the current instance.
Starts a new MiniProfiler and sets it to be current. By the end of this method
should return the new MiniProfiler.
Ends the current profiling session, if one exists.
When true, clears the for this HttpContext, allowing profiling to
be prematurely stopped and discarded. Useful for when a specific route does not need to be profiled.
Returns the current MiniProfiler. This is used by .
Starts a new MiniProfiler and sets it to be current. By the end of this method
should return the new MiniProfiler.
Stops the current MiniProfiler (if any is currently running).
should be called if is false
If true, any current results will be thrown away and nothing saved
Returns the current MiniProfiler. This is used by .
Sets to be active (read to start profiling)
This should be called once a new MiniProfiler has been created.
The profiler to set to active
If is null
Stops the profiler and marks it as inactive.
The profiler to stop
True if successful, false if Stop had previously been called on this profiler
If is null
Calls to save the current
profiler using the current storage settings
Public constructor. This also registers any UI routes needed to display results
Starts a new MiniProfiler and associates it with the current .
Ends the current profiling session, if one exists.
When true, clears the for this HttpContext, allowing profiling to
be prematurely stopped and discarded. Useful for when a specific route does not need to be profiled.
Makes sure 'profiler' has a Name, pulling it from route data or url.
Returns the current profiler
Gets the currently running MiniProfiler for the current HttpContext; null if no MiniProfiler was ed.
WebRequestProfilerProvider specific configurations
Provides user identification for a given profiling request.
An individual profiling step that can contain child steps.
Rebuilds all the parent timings on deserialization calls
Offset from parent MiniProfiler's creation that this Timing was created.
Creates a new Timing named 'name' in the 'profiler's session, with 'parent' as this Timing's immediate ancestor.
Obsolete - used for serialization.
Returns this Timing's Name.
Returns true if Ids match.
Returns hashcode of Id.
Adds arbitrary string 'value' under 'key', allowing custom properties to be stored in this Timing step.
Completes this Timing's duration and sets the MiniProfiler's Head up one level.
Add the parameter 'timing' to this Timing's Children collection.
Used outside this assembly for custom deserialization when creating an implementation.
Adds the parameter 'sqlTiming' to this Timing's SqlTimings collection.
A sql statement profiling that was executed in this Timing step.
Used outside this assembly for custom deserialization when creating an implementation.
Returns the number of sql statements of that were executed in this .
Unique identifer for this timing; set during construction.
Text displayed when this Timing is rendered.
How long this Timing step took in ms; includes any Timings' durations.
The offset from the start of profiling.
All sub-steps that occur within this Timing step. Add new children through
Stores arbitrary key/value strings on this Timing step. Add new tuples through .
Any queries that occurred during this Timing step.
Needed for database deserialization and JSON serialization.
Which Timing this Timing is under - the duration that this step takes will be added to its parent's duration.
This will be null for the root (initial) Timing.
Gets the elapsed milliseconds in this step without any children's durations.
Gets the aggregate elapsed milliseconds of all SqlTimings executed in this Timing, excluding Children Timings.
Returns true when this is less than the configured
, by default 2.0 ms.
Reference to the containing profiler, allowing this Timing to affect the Head and get Stopwatch readings.
Returns true when this Timing has inner Timing steps.
Returns true if this Timing step collected sql execution timings.
Returns true if any s executed in this step are detected as duplicate statements.
Returns true when this Timing is the first one created in a MiniProfiler session.
How far away this Timing is from the Profiler's Root.
How many sql data readers were executed in this Timing step. Does not include queries in any child Timings.
How many sql scalar queries were executed in this Timing step. Does not include queries in any child Timings.
How many sql non-query statements were executed in this Timing step. Does not include queries in any child Timings.
Wraps a database connection, allowing sql execution timings to be collected when a session is started.
This will be made private; use
This will be made private; use
Returns a new that wraps ,
providing query execution profiling. If profiler is null, no profiling will occur.
Your provider-specific flavor of connection, e.g. SqlConnection, OracleConnection
The currently started or null.
Determines whether the ProfiledDbConnection will dispose the underlying connection.
The underlying, real database connection to your db provider.
The current profiler instance; could be null.
The raw connection this is wrapping
Ownership setting for the service.
Reuse scope setting for the service.
The container where the entry was registered.
Specifies the owner for instances, which determines how
they will be disposed.
Specifies the scope for instances, which determines
visibility of instances across containers and hierarchies.
The Func delegate that creates instances of the service.
The cached service instance if the scope is or
.
The Func delegate that initializes the object after creation.
Clones the service entry assigning the to the
. Does not copy the .
Sets a persistent cookie which never expires
Sets a session cookie which expires after the browser session closes
Sets a persistent cookie which expires after the given time
Sets a persistent cookie with an expiresAt date
Deletes a specified cookie by setting its value to empty and expiration to -1 days
Sets a persistent cookie which never expires
Sets a session cookie which expires after the browser session closes
Deletes a specified cookie by setting its value to empty and expiration to -1 days
Sets a persistent cookie which expires after the given time
Determines visibility and reuse of instances provided by the container.
Instances are reused within a container hierarchy. Instances
are created (if necessary) in the container where the registration
was performed, and are reused by all descendent containers.
Instances are reused only at the given container. Descendent
containers do not reuse parent container instances and get
a new instance at their level.
Each request to resolve the dependency will result in a new
instance being returned.
Instaces are reused within the given request
Default scope, which equals .
*
Input: http://localhost:96/Cambia3/Temp/Test.aspx/path/info?q=item#fragment
Some HttpRequest path and URL properties:
Request.ApplicationPath: /Cambia3
Request.CurrentExecutionFilePath: /Cambia3/Temp/Test.aspx
Request.FilePath: /Cambia3/Temp/Test.aspx
Request.Path: /Cambia3/Temp/Test.aspx/path/info
Request.PathInfo: /path/info
Request.PhysicalApplicationPath: D:\Inetpub\wwwroot\CambiaWeb\Cambia3\
Request.QueryString: /Cambia3/Temp/Test.aspx/path/info?query=arg
Request.Url.AbsolutePath: /Cambia3/Temp/Test.aspx/path/info
Request.Url.AbsoluteUri: http://localhost:96/Cambia3/Temp/Test.aspx/path/info?query=arg
Request.Url.Fragment:
Request.Url.Host: localhost
Request.Url.LocalPath: /Cambia3/Temp/Test.aspx/path/info
Request.Url.PathAndQuery: /Cambia3/Temp/Test.aspx/path/info?query=arg
Request.Url.Port: 96
Request.Url.Query: ?query=arg
Request.Url.Scheme: http
Request.Url.Segments: /
Cambia3/
Temp/
Test.aspx/
path/
info
*
Use this to treat Request.Items[] as a cache by returning pre-computed items to save
calculating them multiple times.
Store an entry in the IHttpRequest.Items Dictionary
Get an entry from the IHttpRequest.Items Dictionary
Profiles a single sql execution.
Creates a new SqlTiming to profile 'command'.
Obsolete - used for serialization.
Returns a snippet of the sql command and the duration.
Returns true if Ids match.
Returns hashcode of Id.
Called when command execution is finished to determine this SqlTiming's duration.
Called when database reader is closed, ending profiling for SqlTimings.
To help with display, put some space around sammiched commas
Unique identifier for this SqlTiming.
Category of sql statement executed.
The sql that was executed.
The command string with special formatting applied based on MiniProfiler.Settings.SqlFormatter
Roughly where in the calling code that this sql was executed.
Offset from main MiniProfiler start that this sql began.
How long this sql statement took to execute.
When executing readers, how long it took to come back initially from the database,
before all records are fetched and reader is closed.
Stores any parameter names and values used by the profiled DbCommand.
Id of the Timing this statement was executed in.
Needed for database deserialization.
The Timing step that this sql execution occurred in.
True when other identical sql statements have been executed during this MiniProfiler session.
A single MiniProfiler can be used to represent any number of steps/levels in a call-graph, via Step()
Totally baller.
A callback for ProfiledDbConnection and family
Called when a command starts executing
Called when a reader finishes executing
Called when a reader is done iterating through the data
Called when an error happens during execution of a command
True if the profiler instance is active
Returns all currently open commands on this connection
Returns all results contained in all child steps.
Contains any sql statements that are executed, along with how many times those statements are executed.
Adds to the current .
Returns the number of sql statements of that were executed in all s.
Starts when this profiler is instantiated. Each step will use this Stopwatch's current ticks as
their starting time.
Creates and starts a new MiniProfiler for the root , filtering steps to .
Returns the 's and this profiler recorded.
Returns true if Ids match.
Returns hashcode of Id.
Obsolete - used for serialization.
Walks the hierarchy contained in this profiler, starting with , and returns each Timing found.
Returns milliseconds based on Stopwatch's Frequency.
Starts a new MiniProfiler based on the current . This new profiler can be accessed by
Ends the current profiling session, if one exists.
When true, clears the for this HttpContext, allowing profiling to
be prematurely stopped and discarded. Useful for when a specific route does not need to be profiled.
Returns an that will time the code between its creation and disposal. Use this method when you
do not wish to include the MvcMiniProfiler namespace for the extension method.
A descriptive name for the code that is encapsulated by the resulting IDisposable's lifetime.
This step's visibility level; allows filtering when is called.
Returns the css and javascript includes needed to display the MiniProfiler results UI.
Which side of the page the profiler popup button should be displayed on (defaults to left)
Whether to show trivial timings by default (defaults to false)
Whether to show time the time with children column by default (defaults to false)
The maximum number of trace popups to show before removing the oldest (defaults to 15)
xhtml rendering mode, ensure script tag is closed ... etc
when true, shows buttons to minimize and clear MiniProfiler results
Script and link elements normally; an empty string when there is no active profiling session.
Renders the current to json.
Renders the parameter to json.
Deserializes the json string parameter to a .
Create a DEEP clone of this object
Contains information about queries executed during this profiling session.
Milliseconds, to one decimal place, that this MiniProfiler was executing sql.
Returns true when we have profiled queries.
Returns true when any child Timings have duplicate queries.
How many sql data readers were executed in all steps.
How many sql scalar queries were executed in all steps.
How many sql non-query statements were executed in all steps.
Identifies this Profiler so it may be stored/cached.
A display name for this profiling session.
When this profiler was instantiated.
Where this profiler was run.
Allows filtering of steps based on what
the steps are created with.
The first that is created and started when this profiler is instantiated.
All other s will be children of this one.
A string identifying the user/client that is profiling this request. Set
with an -implementing class to provide a custom value.
If this is not set manually at some point, the implementation will be used;
by default, this will be the current request's ip address.
Returns true when this MiniProfiler has been viewed by the that recorded it.
Allows POSTs that result in a redirect to be profiled. implementation
will keep a list of all profilers that haven't been fetched down.
For unit testing, returns the timer.
Milliseconds, to one decimal place, that this MiniProfiler ran.
Returns true when or any of its are .
Returns true when all child s are .
Any Timing step with a duration less than or equal to this will be hidden by default in the UI; defaults to 2.0 ms.
Ticks since this MiniProfiler was started.
Points to the currently executing Timing.
Gets the currently running MiniProfiler for the current HttpContext; null if no MiniProfiler was ed.
Various configuration properties.
Excludes the specified assembly from the stack trace output.
The short name of the assembly. AssemblyName.Name
Excludes the specified type from the stack trace output.
The System.Type name to exclude
Excludes the specified method name from the stack trace output.
The name of the method
Make sure we can at least store profiler results to the http runtime cache.
Assemblies to exclude from the stack trace report.
Types to exclude from the stack trace report.
Methods to exclude from the stack trace report.
The max length of the stack string to report back; defaults to 120 chars.
Any Timing step with a duration less than or equal to this will be hidden by default in the UI; defaults to 2.0 ms.
Dictates if the "time with children" column is displayed by default, defaults to false.
For a per-page override you can use .RenderIncludes(showTimeWithChildren: true/false)
Dictates if trivial timings are displayed by default, defaults to false.
For a per-page override you can use .RenderIncludes(showTrivial: true/false)
Determines how many traces to show before removing the oldest; defaults to 15.
For a per-page override you can use .RenderIncludes(maxTracesToShow: 10)
Dictates on which side of the page the profiler popup button is displayed; defaults to left.
For a per-page override you can use .RenderIncludes(position: RenderPosition.Left/Right)
Determines if min-max, clear, etc are rendered; defaults to false.
For a per-page override you can use .RenderIncludes(showControls: true/false)
By default, SqlTimings will grab a stack trace to help locate where queries are being executed.
When this setting is true, no stack trace will be collected, possibly improving profiler performance.
When is called, if the current request url contains any items in this property,
no profiler will be instantiated and no results will be displayed.
Default value is { "/ss-", "/content/", "/scripts/", "/favicon.ico" }.
The path under which ALL routes are registered in, defaults to the application root. For example, "~/myDirectory/" would yield
"/myDirectory/ss-includes.js" rather than just "/mini-profiler-includes.js"
Any setting here should be in APP RELATIVE FORM, e.g. "~/myDirectory/"
Understands how to save and load MiniProfilers. Used for caching between when
a profiling session ends and results can be fetched to the client, and for showing shared, full-page results.
The normal profiling session life-cycle is as follows:
1) request begins
2) profiler is started
3) normal page/controller/request execution
4) profiler is stopped
5) profiler is cached with 's implementation of
6) request ends
7) page is displayed and profiling results are ajax-fetched down, pulling cached results from
's implementation of
The formatter applied to the SQL being rendered (used only for UI)
Provides user identification for a given profiling request.
Assembly version of this dank MiniProfiler.
The provider used to provider the current instance of a provider
This is also
A function that determines who can access the MiniProfiler results url. It should return true when
the request client has access, false for a 401 to be returned. HttpRequest parameter is the current request and
MiniProfiler parameter is the results that were profiled.
Both the HttpRequest and MiniProfiler parameters that will be passed into this function should never be null.
Allows switching out stopwatches for unit testing.
Gets part of a stack trace containing only methods we care about.
Gets the current formatted and filted stack trace.
Space separated list of methods
Funqlets are a set of components provided as a package
to an existing container (like a module).
Configure the given container with the
registrations provided by the funqlet.
Container to register.
Interface used by plugins to contribute registrations
to an existing container.
Returns the optimized result for the IRequestContext.
Does not use or store results in any cache.
Overload for the method returning the most
optimized result based on the MimeType and CompressionType from the IRequestContext.
Overload for the method returning the most
optimized result based on the MimeType and CompressionType from the IRequestContext.
How long to cache for, null is no expiration
Clears all the serialized and compressed caches set
by the 'Resolve' method for the cacheKey provided
Creates instance using straight Resolve approach.
This will throw an exception if resolution fails
Creates instance using the TryResolve approach if tryResolve = true.
Otherwise uses Resolve approach, which will throw an exception if resolution fails
Formats any SQL query with inline parameters, optionally including the value type
Takes a SqlTiming and returns a formatted SQL string, for parameter replacement, etc.
Return SQL the way you want it to look on the in the trace. Usually used to format parameters
Formatted SQL
Creates a new Inline SQL Formatter, optionally including the parameter type info in comments beside the replaced value
whether to include a comment after the value, indicating the type, e.g. /* @myParam DbType.Int32 */
Formats the SQL in a generic frieldly format, including the parameter type information in a comment if it was specified in the InlineFormatter constructor
The SqlTiming to format
A formatted SQL string
Returns a string representation of the parameter's value, including the type
The parameter to get a value for
Identifies users based on ip address.
Provides functionality to identify which user is profiling a request.
Returns a string to identify the user profiling the current 'request'.
The current HttpRequest being profiled.
Returns the paramter HttpRequest's client ip address.
Main container class for components, supporting container hierarchies and
lifetime management of instances.
Initializes a new empty container.
Creates a child container of the current one, which exposes its
current service registration to the new child container.
Disposes the container and all instances owned by it (see
), as well as all child containers
created through .
Registers a service instance with the container. This instance
will have and
behavior.
Service instance to use.
Registers a named service instance with the container. This instance
will have and
behavior.
Name of the service to register.Service instance to use.
Retrieves a function that can be used to lazily resolve an instance
of the service when needed.
Type of the service to retrieve.The function that can resolve to the service instance when invoked.The requested service has not been registered previously.
Retrieves a function that can be used to lazily resolve an instance
of the service with the given name when needed.
Type of the service to retrieve.Name of the service to retrieve.The function that can resolve to the service instance with the given name when invoked.The requested service with the given name has not been registered previously.
Retrieves a function that can be used to lazily resolve an instance
of the service of the given type, name and service constructor arguments when needed.
Name of the service to retrieve.The function that can resolve to the service instance with the given and service constructor arguments name when invoked.The requested service with the given name and constructor arguments has not been registered previously.
Retrieves a function that can be used to lazily resolve an instance
of the service of the given type, name and service constructor arguments when needed.
Name of the service to retrieve.The function that can resolve to the service instance with the given and service constructor arguments name when invoked.The requested service with the given name and constructor arguments has not been registered previously.
Retrieves a function that can be used to lazily resolve an instance
of the service of the given type, name and service constructor arguments when needed.
Name of the service to retrieve.The function that can resolve to the service instance with the given and service constructor arguments name when invoked.The requested service with the given name and constructor arguments has not been registered previously.
Retrieves a function that can be used to lazily resolve an instance
of the service of the given type, name and service constructor arguments when needed.
Name of the service to retrieve.The function that can resolve to the service instance with the given and service constructor arguments name when invoked.The requested service with the given name and constructor arguments has not been registered previously.
Retrieves a function that can be used to lazily resolve an instance
of the service of the given type, name and service constructor arguments when needed.
Name of the service to retrieve.The function that can resolve to the service instance with the given and service constructor arguments name when invoked.The requested service with the given name and constructor arguments has not been registered previously.
Retrieves a function that can be used to lazily resolve an instance
of the service of the given type, name and service constructor arguments when needed.
Name of the service to retrieve.The function that can resolve to the service instance with the given and service constructor arguments name when invoked.The requested service with the given name and constructor arguments has not been registered previously.
Registers the given service by providing a factory delegate to
instantiate it.
The service type to register.The factory delegate to initialize new instances of the service when needed.The registration object to perform further configuration via its fluent interface.
Registers the given service by providing a factory delegate that receives arguments to
instantiate it.
The service type to register.First argument that should be passed to the factory delegate to create the instace.The factory delegate to initialize new instances of the service when needed.The registration object to perform further configuration via its fluent interface.
Registers the given service by providing a factory delegate that receives arguments to
instantiate it.
The service type to register.First argument that should be passed to the factory delegate to create the instace.Second argument that should be passed to the factory delegate to create the instace.The factory delegate to initialize new instances of the service when needed.The registration object to perform further configuration via its fluent interface.
Registers the given service by providing a factory delegate that receives arguments to
instantiate it.
The service type to register.First argument that should be passed to the factory delegate to create the instace.Second argument that should be passed to the factory delegate to create the instace.Third argument that should be passed to the factory delegate to create the instace.The factory delegate to initialize new instances of the service when needed.The registration object to perform further configuration via its fluent interface.
Registers the given service by providing a factory delegate that receives arguments to
instantiate it.
The service type to register.First argument that should be passed to the factory delegate to create the instace.Second argument that should be passed to the factory delegate to create the instace.Third argument that should be passed to the factory delegate to create the instace.Fourth argument that should be passed to the factory delegate to create the instace.The factory delegate to initialize new instances of the service when needed.The registration object to perform further configuration via its fluent interface.
Registers the given service by providing a factory delegate that receives arguments to
instantiate it.
The service type to register.First argument that should be passed to the factory delegate to create the instace.Second argument that should be passed to the factory delegate to create the instace.Third argument that should be passed to the factory delegate to create the instace.Fourth argument that should be passed to the factory delegate to create the instace.Fifth argument that should be passed to the factory delegate to create the instace.The factory delegate to initialize new instances of the service when needed.The registration object to perform further configuration via its fluent interface.
Registers the given service by providing a factory delegate that receives arguments to
instantiate it.
The service type to register.First argument that should be passed to the factory delegate to create the instace.Second argument that should be passed to the factory delegate to create the instace.Third argument that should be passed to the factory delegate to create the instace.Fourth argument that should be passed to the factory delegate to create the instace.Fifth argument that should be passed to the factory delegate to create the instace.Sixth argument that should be passed to the factory delegate to create the instace.The factory delegate to initialize new instances of the service when needed.The registration object to perform further configuration via its fluent interface.
Registers the given named service by providing a factory delegate to
instantiate it.
The service type to register.A name used to differenciate this service registration.The factory delegate to initialize new instances of the service when needed.The registration object to perform further configuration via its fluent interface.
Registers the given named service by providing a factory delegate that receives arguments to
instantiate it.
The service type to register.First argument that should be passed to the factory delegate to create the instace.A name used to differenciate this service registration.The factory delegate to initialize new instances of the service when needed.The registration object to perform further configuration via its fluent interface.
Registers the given named service by providing a factory delegate that receives arguments to
instantiate it.
The service type to register.First argument that should be passed to the factory delegate to create the instace.Second argument that should be passed to the factory delegate to create the instace.A name used to differenciate this service registration.The factory delegate to initialize new instances of the service when needed.The registration object to perform further configuration via its fluent interface.
Registers the given named service by providing a factory delegate that receives arguments to
instantiate it.
The service type to register.First argument that should be passed to the factory delegate to create the instace.Second argument that should be passed to the factory delegate to create the instace.Third argument that should be passed to the factory delegate to create the instace.A name used to differenciate this service registration.The factory delegate to initialize new instances of the service when needed.The registration object to perform further configuration via its fluent interface.
Registers the given named service by providing a factory delegate that receives arguments to
instantiate it.
The service type to register.First argument that should be passed to the factory delegate to create the instace.Second argument that should be passed to the factory delegate to create the instace.Third argument that should be passed to the factory delegate to create the instace.Fourth argument that should be passed to the factory delegate to create the instace.A name used to differenciate this service registration.The factory delegate to initialize new instances of the service when needed.The registration object to perform further configuration via its fluent interface.
Registers the given named service by providing a factory delegate that receives arguments to
instantiate it.
The service type to register.First argument that should be passed to the factory delegate to create the instace.Second argument that should be passed to the factory delegate to create the instace.Third argument that should be passed to the factory delegate to create the instace.Fourth argument that should be passed to the factory delegate to create the instace.Fifth argument that should be passed to the factory delegate to create the instace.A name used to differenciate this service registration.The factory delegate to initialize new instances of the service when needed.The registration object to perform further configuration via its fluent interface.
Registers the given named service by providing a factory delegate that receives arguments to
instantiate it.
The service type to register.First argument that should be passed to the factory delegate to create the instace.Second argument that should be passed to the factory delegate to create the instace.Third argument that should be passed to the factory delegate to create the instace.Fourth argument that should be passed to the factory delegate to create the instace.Fifth argument that should be passed to the factory delegate to create the instace.Sixth argument that should be passed to the factory delegate to create the instace.A name used to differenciate this service registration.The factory delegate to initialize new instances of the service when needed.The registration object to perform further configuration via its fluent interface.
Resolves the given service by type, without passing any arguments for
its construction.
Type of the service to retrieve.The resolved service instance.The given service could not be resolved.
Resolves the given service by type, passing the given arguments
for its initialization.
Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace.The resolved service instance.The given service could not be resolved.
Resolves the given service by type, passing the given arguments
for its initialization.
Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace.Second argument to pass to the factory delegate that may create the instace.The resolved service instance.The given service could not be resolved.
Resolves the given service by type, passing the given arguments
for its initialization.
Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace.Second argument to pass to the factory delegate that may create the instace.Third argument to pass to the factory delegate that may create the instace.The resolved service instance.The given service could not be resolved.
Resolves the given service by type, passing the given arguments
for its initialization.
Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace.Second argument to pass to the factory delegate that may create the instace.Third argument to pass to the factory delegate that may create the instace.Fourth argument to pass to the factory delegate that may create the instace.The resolved service instance.The given service could not be resolved.
Resolves the given service by type, passing the given arguments
for its initialization.
Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace.Second argument to pass to the factory delegate that may create the instace.Third argument to pass to the factory delegate that may create the instace.Fourth argument to pass to the factory delegate that may create the instace.Fifth argument to pass to the factory delegate that may create the instace.The resolved service instance.The given service could not be resolved.
Resolves the given service by type, passing the given arguments
for its initialization.
Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace.Second argument to pass to the factory delegate that may create the instace.Third argument to pass to the factory delegate that may create the instace.Fourth argument to pass to the factory delegate that may create the instace.Fifth argument to pass to the factory delegate that may create the instace.Sixth argument to pass to the factory delegate that may create the instace.The resolved service instance.The given service could not be resolved.
Resolves the given service by type and name, without passing arguments for its initialization.
Type of the service to retrieve.The resolved service instance.The given service could not be resolved.
Resolves the given service by type and name, passing the given arguments
for its initialization.
Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace.The resolved service instance.The given service could not be resolved.
Resolves the given service by type and name, passing the given arguments
for its initialization.
Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace.Second argument to pass to the factory delegate that may create the instace.The resolved service instance.The given service could not be resolved.
Resolves the given service by type and name, passing the given arguments
for its initialization.
Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace.Second argument to pass to the factory delegate that may create the instace.Third argument to pass to the factory delegate that may create the instace.The resolved service instance.The given service could not be resolved.
Resolves the given service by type and name, passing the given arguments
for its initialization.
Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace.Second argument to pass to the factory delegate that may create the instace.Third argument to pass to the factory delegate that may create the instace.Fourth argument to pass to the factory delegate that may create the instace.The resolved service instance.The given service could not be resolved.
Resolves the given service by type and name, passing the given arguments
for its initialization.
Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace.Second argument to pass to the factory delegate that may create the instace.Third argument to pass to the factory delegate that may create the instace.Fourth argument to pass to the factory delegate that may create the instace.Fifth argument to pass to the factory delegate that may create the instace.The resolved service instance.The given service could not be resolved.
Resolves the given service by type and name, passing the given arguments
for its initialization.
Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace.Second argument to pass to the factory delegate that may create the instace.Third argument to pass to the factory delegate that may create the instace.Fourth argument to pass to the factory delegate that may create the instace.Fifth argument to pass to the factory delegate that may create the instace.Sixth argument to pass to the factory delegate that may create the instace.The resolved service instance.The given service could not be resolved.
Attempts to resolve the given service by type, without passing arguments for its initialization.
Type of the service to retrieve.
The resolved service instance or if it cannot be resolved.
Attempts to resolve the given service by type, passing the
given arguments arguments for its initialization.
Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace.
The resolved service instance or if it cannot be resolved.
Attempts to resolve the given service by type, passing the
given arguments arguments for its initialization.
Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace.Second argument to pass to the factory delegate that may create the instace.
The resolved service instance or if it cannot be resolved.
Attempts to resolve the given service by type, passing the
given arguments arguments for its initialization.
Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace.Second argument to pass to the factory delegate that may create the instace.Third argument to pass to the factory delegate that may create the instace.
The resolved service instance or if it cannot be resolved.
Attempts to resolve the given service by type, passing the
given arguments arguments for its initialization.
Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace.Second argument to pass to the factory delegate that may create the instace.Third argument to pass to the factory delegate that may create the instace.Fourth argument to pass to the factory delegate that may create the instace.
The resolved service instance or if it cannot be resolved.
Attempts to resolve the given service by type, passing the
given arguments arguments for its initialization.
Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace.Second argument to pass to the factory delegate that may create the instace.Third argument to pass to the factory delegate that may create the instace.Fourth argument to pass to the factory delegate that may create the instace.Fifth argument to pass to the factory delegate that may create the instace.
The resolved service instance or if it cannot be resolved.
Attempts to resolve the given service by type, passing the
given arguments arguments for its initialization.
Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace.Second argument to pass to the factory delegate that may create the instace.Third argument to pass to the factory delegate that may create the instace.Fourth argument to pass to the factory delegate that may create the instace.Fifth argument to pass to the factory delegate that may create the instace.Sixth argument to pass to the factory delegate that may create the instace.
The resolved service instance or if it cannot be resolved.
Attempts to resolve the given service by type and name, without passing
arguments arguments for its initialization.
Type of the service to retrieve.
The resolved service instance or if it cannot be resolved.
Attempts to resolve the given service by type and name, passing the
given arguments arguments for its initialization.
Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace.
The resolved service instance or if it cannot be resolved.
Attempts to resolve the given service by type and name, passing the
given arguments arguments for its initialization.
Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace.Second argument to pass to the factory delegate that may create the instace.
The resolved service instance or if it cannot be resolved.
Attempts to resolve the given service by type and name, passing the
given arguments arguments for its initialization.
Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace.Second argument to pass to the factory delegate that may create the instace.Third argument to pass to the factory delegate that may create the instace.
The resolved service instance or if it cannot be resolved.
Attempts to resolve the given service by type and name, passing the
given arguments arguments for its initialization.
Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace.Second argument to pass to the factory delegate that may create the instace.Third argument to pass to the factory delegate that may create the instace.Fourth argument to pass to the factory delegate that may create the instace.
The resolved service instance or if it cannot be resolved.
Attempts to resolve the given service by type and name, passing the
given arguments arguments for its initialization.
Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace.Second argument to pass to the factory delegate that may create the instace.Third argument to pass to the factory delegate that may create the instace.Fourth argument to pass to the factory delegate that may create the instace.Fifth argument to pass to the factory delegate that may create the instace.
The resolved service instance or if it cannot be resolved.
Attempts to resolve the given service by type and name, passing the
given arguments arguments for its initialization.
Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace.Second argument to pass to the factory delegate that may create the instace.Third argument to pass to the factory delegate that may create the instace.Fourth argument to pass to the factory delegate that may create the instace.Fifth argument to pass to the factory delegate that may create the instace.Sixth argument to pass to the factory delegate that may create the instace.
The resolved service instance or if it cannot be resolved.
Register an autowired dependency
Register an autowired dependency as a separate type
Alias for RegisterAutoWiredAs
Auto-wires an existing instance,
ie all public properties are tried to be resolved.
Default owner for new registrations. by default.
Default reuse scope for new registrations. by default.
More familiar name for the new crowd.
Summary description for $codebehindclassname$
Render Markdown for text/markdown and text/plain ContentTypes
Gets the name of the base most type in the heirachy tree with the same.
We get an exception when trying to create a schema with multiple types of the same name
like when inheriting from a DataContract with the same name.
The type.
Loads the operation types into a dictionary.
If there are multiple operation types with the same name,
the operation type that is last will be the one 'discoverable' via the service.
The operation types.
Gets string value from Items[name] then Cookies[name] if exists.
Useful when *first* setting the users response cookie in the request filter.
To access the value for this initial request you need to set it in Items[].
string value or null if it doesn't exist
Gets request paramater string value by looking in the following order:
- QueryString[name]
- FormData[name]
- Cookies[name]
- Items[name]
string value or null if it doesn't exist
Contains helper code to time sql statements.
Returns a new SqlProfiler to be used in the 'profiler' session.
Tracks when 'command' is started.
Returns all currently open commands on this connection
Finishes profiling for 'command', recording durations.
Called when 'reader' finishes its iterations and is closed.
The profiling session this SqlProfiler is part of.
Helper methods that allow operation on SqlProfilers, regardless of their instantiation.
Tracks when 'command' is started.
Finishes profiling for 'command', recording durations.
Called when 'reader' finishes its iterations and is closed.
Categorizes individual steps to allow filtering.
Default level given to Timings.
Useful when profiling many items in a loop, but you don't wish to always see this detail.
Dictates on which side of the page the profiler popup button is displayed; defaults to left.
Profiler popup button is displayed on the left.
Profiler popup button is displayed on the right.
Contains helper methods that ease working with null s.
Wraps in a call and executes it, returning its result.
The current profiling session or null.
Method to execute and profile.
The step name used to label the profiler results.
Returns an that will time the code between its creation and disposal.
The current profiling session or null.
A descriptive name for the code that is encapsulated by the resulting IDisposable's lifetime.
This step's visibility level; allows filtering when is called.
Adds 's hierarchy to this profiler's current Timing step,
allowing other threads, remote calls, etc. to be profiled and joined into this profiling session.
Returns an html-encoded string with a text-representation of ; returns "" when profiler is null.
The current profiling session or null.
Encapsulates a method that has five parameters and returns a value of the
type specified by the parameter.
Encapsulates a method that has six parameters and returns a value of the
type specified by the parameter.
Encapsulates a method that has seven parameters and returns a value of the
type specified by the parameter.
Non ASP.NET requests
ASP.NET requests
NOT IMPLEMENTED - will format statements with paramters in an Oracle friendly way
Does NOTHING, implement me!
This is a micro-cache; suitable when the number of terms is controllable (a few hundred, for example),
and strictly append-only; you cannot change existing values. All key matches are on **REFERENCE**
equality. The type is fully thread-safe.
Stores both 'compressed' and 'text' caches of the dto in the FileSystem and ICacheTextManager provided.
The ContentType is inferred from the ICacheTextManager's ContentType.
Non ASP.NET requests
ASP.NET requests
Provides saving and loading s to a storage medium.
Stores under its .
The results of a profiling session.
Should also ensure the profiler is stored as being unviewed by its profiling .
Returns a from storage based on , which should map to .
Should also update that the resulting profiler has been marked as viewed by its profiling .
Returns a list of s that haven't been seen by .
User identified by the current .
Understands how to store a to the with absolute expiration.
The string that prefixes all keys that MiniProfilers are saved under, e.g.
"mini-profiler-ecfb0050-7ce8-4bf1-bf82-2cb38e90e31e".
Returns a new HttpRuntimeCacheStorage class that will cache MiniProfilers for the specified duration.
Saves to the HttpRuntime.Cache under a key concated with
and the parameter's .
Returns the saved identified by . Also marks the resulting
profiler to true.
Returns a list of s that haven't been seen by .
User identified by the current .
Syncs access to runtime cache when adding a new list of ids for a user.
How long to cache each for (i.e. the absolute expiration parameter of
)
Understands how to save MiniProfiler results to a MSSQL database, allowing more permanent storage and
querying of slow results.
Returns a new SqlServerDatabaseStorage object that will insert into the database identified by connectionString.
Saves 'profiler' to a database under its .
Returns the MiniProfiler identified by 'id' from the database or null when no MiniProfiler exists under that 'id'.
Returns a list of s that haven't been seen by .
User identified by the current .
Returns a DbConnection for your specific provider.
Returns a DbConnection already opened for execution.
Giving freshly selected collections, this method puts them in the correct
hierarchy under the 'result' MiniProfiler.
How we connect to the database used to save/load MiniProfiler results.
Formats SQL server queries with a DECLARE up top for parameter values
Formats the SQL in a SQL-Server friendly way, with DECLARE statements for the parameters up top.
The SqlTiming to format
A formatted SQL string
Exception thrown by the container when a service cannot be resolved.
Initializes the exception with the service that could not be resolved.
Initializes the exception with the service (and its name) that could not be resolved.
Initializes the exception with an arbitrary message.
Implements a very limited subset of ICacheClient, i.e.
- T Get[T]()
- Set(path, value)
- Remove(path)
Static type constants for referring to service exec methods
If the underlying command supports BindByName, this sets/clears the underlying
implementation accordingly. This is required to support OracleCommand from dapper-dot-net
Registers the type in the IoC container and
adds auto-wiring to the specified type.
Registers the type in the IoC container and
adds auto-wiring to the specified type.
The reuse scope is set to none (transient).
Registers the types in the IoC container and
adds auto-wiring to the specified types.
The reuse scope is set to none (transient).
Starts the Web Service
A Uri that acts as the base that the server is listening on.
Format should be: http://127.0.0.1:8080/ or http://127.0.0.1:8080/somevirtual/
Note: the trailing backslash is required! For more info see the
HttpListener.Prefixes property on MSDN.
Exécute les tâches définies par l'application associées à la libération ou à la redéfinition des ressources non managées.
2
Inherit from this class if you want to host your web services inside an
ASP.NET application.
Resolves from IoC container a specified type instance.
Type to be resolved.
Instance of .
Categories of sql statements.
Unknown
DML statements that alter database state, e.g. INSERT, UPDATE
Statements that return a single record
Statements that iterate over a result set
Determines who is responsible for disposing instances
registered with a container.
Container should dispose provided instances when it is disposed. This is the
default.
Container does not dispose provided instances.
Default owner, which equals .
Keep default file contents in-memory
Naming convention for the ResponseStatus property name on the response DTO
Service error logs are kept in 'urn:ServiceErrors:{ServiceName}'
Combined service error logs are maintained in 'urn:ServiceErrors:All'
Create an instance of the service response dto type and inject it with the supplied responseStatus
Creates the error response from the values provided.
If the errorCode is empty it will use the first validation error code,
if there is none it will throw an error.
The error code.
The error message.
The validation errors.
Override to provide additional/less context about the Service Exception.
By default the request is serialized and appended to the ResponseStatus StackTrace.
Information about a DbParameter used in the sql statement profiled by SqlTiming.
Returns true if this has the same parent , and as .
Returns the XOR of certain properties.
Which SqlTiming this Parameter was executed with.
Parameter name, e.g. "@routeName"
The value submitted to the database.
System.Data.DbType, e.g. "String", "Bit"
How large the type is, e.g. for string, size could be 4000
Stores The value with key only if such key doesn't exist at the server yet.
The key.
The value.
The expires at.
Adds or replaces the value with key.
The key.
The value.
The expires at.
The check last modified.
True; if it succeeded
Writes to response.
Response headers are customizable by implementing IHasOptions an returning Dictionary of Http headers.
The response.
Whether or not it was implicity handled by ServiceStack's built-in handlers.
The default action.
The serialization context.
Add prefix to response body if any
Add suffix to response body if any
Inject alternative container and strategy for resolving Service Types
Keeping around just to compare how slow it is
Context to capture IService action
In Memory repository for files. Useful for testing.
Common extension methods to use only in this project
Answers true if this String is either null or empty.
Answers true if this String is neither null or empty.
Removes trailing / characters from a path and leaves just one
Removes any leading / characters from a path
Removes any leading / characters from a path
Serializes to a json string.
Generates a function which creates and auto-wires .
Auto-wires an existing instance of a specific type.
The auto-wiring progress is also cached to be faster
when calling next time with the same type.
Wrapper for a db provider factory to enable profiling
Every provider factory must have an Instance public field
Used for db provider apis internally
Allow to re-init the provider factory.
proxy
proxy
proxy
proxy
proxy
proxy
proxy
proxy
proxy
proxy
Gets the nullable app setting.
The key.
Gets the app setting.
The key.
Determines wheter the Config section identified by the sectionName exists.
Name of the section.
Returns AppSetting[key] if exists otherwise defaultValue
The key.
The default value.
Returns AppSetting[key] if exists otherwise defaultValue, for non-string values
The key.
The default value.
Gets the connection string setting.
The key.
Gets the connection string.
The key.
Gets the list from app setting.
The key.
Gets the dictionary from app setting.
The key.
Get the static Parse(string) method on the type supplied
A delegate to the type's Parse(string) if it has one
Gets the constructor info for T(string) if exists.
The type.
Returns the value returned by the 'T.Parse(string)' method if exists otherwise 'new T(string)'.
e.g. if T was a TimeSpan it will return TimeSpan.Parse(textValue).
If there is no Parse Method it will attempt to create a new instance of the destined type
The default value.
T.Parse(string) or new T(string) value