Tuesday, July 22, 2014

Web.Config - Master Reference

<?xml version="1.0" encoding="us-ascii"?>
<!-- the root web configuration file -->
<configuration>
<!--
Using a location directive with a missing path attribute
scopes the configuration to the entire machine. If used in
conjunction with allowOverride="false", it can be used to
prevent configuration from being altered on the machine

Administrators that want to restrict permissions granted to
web applications should change the default Trust level and ensure
that overrides are not allowed
-->
<system.web>
<!--
<anonymousIdentification
enabled = "false" [true|false]
cookieName = ".ASPXANONYMOUS" [String]
cookieTimeout = "100000" [in Minutes][number]
cookiePath = "/" [String]
cookieRequireSSL = "false" [true|false]
cookieSlidingExpiration = "true" [true|false]
cookieProtection = "Validation" [None | Validation | Encryption | All]
cookieless = "UseCookies" [UseUri | UseCookies | AutoDetect | UseDeviceProfile]
domain = "" [String]
/>
-->
<anonymousIdentification enabled="false" cookieName=".ASPXANONYMOUS" cookieTimeout="100000" cookiePath="/" cookieRequireSSL="false" cookieSlidingExpiration="true" cookieProtection="Validation" cookieless="UseCookies" />
<!--
<authentication
mode = "Windows" [None | Windows | Passport | Forms]
>
<forms
name = ".ASPXAUTH" [String]
loginUrl = "login.aspx" [String]
defaultUrl = "default.aspx" [String]
protection = "All" [All | None | Encryption | Validation]
timeout = "30" [in Minutes][number]
path = "/" [String]
requireSSL = "false" [true|false]
slidingExpiration = "true" [true|false]
enableCrossAppRedirects = "false" [true|false]
cookieless = "UseDeviceProfile" [UseUri | UseCookies | AutoDetect | UseDeviceProfile]
domain = "" [String]
>
<credentials
passwordFormat = "SHA1" [Clear | SHA1 | MD5]
>
<user
name = "" [String, Required, Collection Key]
password = "" [String, Required]
/>

</credentials>
</forms>
<passport
redirectUrl = "internal" [String]
/>
</authentication>
-->
<authentication mode="Windows">
<forms name=".ASPXAUTH" loginUrl="login.aspx" defaultUrl="default.aspx" protection="All" timeout="30" path="/" requireSSL="false" slidingExpiration="true" cookieless="UseDeviceProfile" enableCrossAppRedirects="false">
<credentials passwordFormat="SHA1" />
</forms>
<passport redirectUrl="internal" />
</authentication>
<!--
<customErrors
defaultRedirect = "" [String]
mode = "Off" [RemoteOnly | On | Off]
>
<error
statusCode = "" [number, Required, Collection Key]
redirect = "" [String, Required]
/>

</customErrors>
-->
<customErrors mode="Off" />
<!--
<deviceFilters
>
<filter
name = "" [String, Required, Collection Key]
type = ""
method = "" [String]
compare = "" [String]
argument = "" [String]
/>

</deviceFilters>
-->
<deviceFilters />
<!--
<globalization
requestEncoding = "utf-8"
responseEncoding = "utf-8"
responseHeaderEncoding = "utf-8"
fileEncoding = ""
culture = "" [String]
uiCulture = "" [String]
enableClientBasedCulture = "false" [true|false]
resourceProviderFactoryType = "" [String]
enableBestFitResponseEncoding = "false" [true|false]
/>
-->
<globalization requestEncoding="utf-8" responseEncoding="utf-8" fileEncoding="" culture="" uiCulture="" enableClientBasedCulture="false" responseHeaderEncoding="utf-8" resourceProviderFactoryType="" enableBestFitResponseEncoding="false" />
<!--
<hostingEnvironment
shutdownTimeout = "30" [in Seconds][number]
idleTimeout = "Infinite" [in Minutes][number]
shadowCopyBinAssemblies = "true" [true|false]
/>
-->
<hostingEnvironment idleTimeout="Infinite" shutdownTimeout="30" shadowCopyBinAssemblies="true" />
<!--
<httpCookies
httpOnlyCookies = "false" [true|false]
requireSSL = "false" [true|false]
domain = "" [String]
/>
-->
<httpCookies httpOnlyCookies="false" requireSSL="false" domain="" />
<!--
<httpRuntime
executionTimeout = "110" [in Seconds][number]
maxRequestLength = "4096" [number]
requestLengthDiskThreshold = "80" [number]
useFullyQualifiedRedirectUrl = "false" [true|false]
minFreeThreads = "8" [number]
minLocalRequestFreeThreads = "4" [number]
appRequestQueueLimit = "5000" [number]
enableKernelOutputCache = "true" [true|false]
enableVersionHeader = "true" [true|false]
apartmentThreading = "false" [true|false]
requireRootedSaveAsPath = "true" [true|false]
enable = "true" [true|false]
sendCacheControlHeader = "true" [true|false]
shutdownTimeout = "90" [in Seconds][number]
delayNotificationTimeout = "5" [in Seconds][number]
waitChangeNotification = "0" [number]
maxWaitChangeNotification = "0" [number]
enableHeaderChecking = "true" [true|false]
/>
-->
<httpRuntime executionTimeout="110" maxRequestLength="4096" requestLengthDiskThreshold="80" useFullyQualifiedRedirectUrl="false" minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="5000" enableKernelOutputCache="true" enableVersionHeader="true" requireRootedSaveAsPath="true" enable="true" shutdownTimeout="90" delayNotificationTimeout="5" waitChangeNotification="0" maxWaitChangeNotification="0" enableHeaderChecking="true" sendCacheControlHeader="true" apartmentThreading="false" />
<!--
<identity
impersonate = "false" [true|false]
userName = "" [String]
password = "" [String]
/>
-->
<identity impersonate="false" userName="" password="" />
<!--
<machineKey
validationKey = "AutoGenerate,IsolateApps" [String]
decryptionKey = "AutoGenerate,IsolateApps" [String]
decryption = "Auto" [AUTO | DES | 3DES | AES]
validation = "SHA1" [MD5 | SHA1 | 3DES | AES]
/>
-->
<machineKey validationKey="AutoGenerate,IsolateApps" decryptionKey="AutoGenerate,IsolateApps" validation="SHA1" decryption="Auto" />
<!--
<sessionPageState
historySize = "9" [number]
/>
-->
<sessionPageState historySize="9" />
<!--
<sessionState
mode = "InProc" [Off | InProc | StateServer | SQLServer | Custom]
stateConnectionString = "tcpip=loopback:42424" [String]
stateNetworkTimeout = "10" [in Seconds][number]
sqlConnectionString = "data source=localhost;Integrated Security=SSPI" [String]
sqlCommandTimeout = "30" [in Seconds][number]
customProvider = "" [String]
cookieless = "" [UseUri | UseCookies | AutoDetect | UseDeviceProfile]
cookieName = "ASP.NET_SessionId" [String]
timeout = "20" [in Minutes][number]
allowCustomSqlDatabase = "false" [true|false]
regenerateExpiredSessionId = "true" [true|false]
partitionResolverType = "" [String]
useHostingIdentity = "true" [true|false]
sessionIDManagerType = "" [String]
>
<providers>
<add
name = "" [String, Required, Collection Key]
type = "" [String, Required]
/>
</providers>

</sessionState>
-->
<sessionState mode="InProc" stateConnectionString="tcpip=loopback:42424" stateNetworkTimeout="10" sqlConnectionString="data source=localhost;Integrated Security=SSPI" sqlCommandTimeout="30" customProvider="" cookieless="UseCookies" cookieName="ASP.NET_SessionId" timeout="20" allowCustomSqlDatabase="false" regenerateExpiredSessionId="true" partitionResolverType="" useHostingIdentity="true" sessionIDManagerType="">
<providers>
<clear />
</providers>
</sessionState>
<!--
<trace
enabled = "false" [true|false]
mostRecent = "false" [true|false]
localOnly = "true" [true|false]
pageOutput = "false" [true|false]
requestLimit = "10" [number]
traceMode = "SortByTime" [SortByTime | SortByCategory]
writeToDiagnosticsTrace = "false" [true|false]
/>
-->
<trace enabled="false" localOnly="true" mostRecent="false" pageOutput="false" requestLimit="10" traceMode="SortByTime" writeToDiagnosticsTrace="false" />
<!--
<webServices
>
<conformanceWarnings>
<add
name = "None" [None | BasicProfile1_1, Collection Key]
/>
</conformanceWarnings>

<protocols>
<add
name = "Unknown" [Unknown | HttpSoap | HttpGet | HttpPost | Documentation | HttpPostLocalhost | HttpSoap12 | AnyHttpSoap, Collection Key]
/>
</protocols>

<soapEnvelopeProcessing
readTimeout = "2147483647" [number]
strict = "false" [true|false]
/>
<DiagnosticsElement
suppressReturningExceptions = "false" [true|false]
/>
<serviceDescriptionFormatExtensionTypes>
<add
type = "" [Collection Key]
/>
</serviceDescriptionFormatExtensionTypes>

<soapExtensionImporterTypes>
<add
type = "" [Collection Key]
/>
</soapExtensionImporterTypes>

<soapExtensionReflectorTypes>
<add
type = "" [Collection Key]
/>
</soapExtensionReflectorTypes>

<soapExtensionTypes>
<add
group = "Low" [High | Low, Collection Key]
priority = "0" [number, Collection Key]
type = "" [Collection Key]
/>
</soapExtensionTypes>

<soapServerProtocolFactory
type = "" [Collection Key]
/>
<soapTransportImporterTypes>
<add
type = "" [Collection Key]
/>
</soapTransportImporterTypes>

<wsdlHelpGenerator
href = "" [String, Required]
/>
</webServices>
-->
<webServices>
<conformanceWarnings>
<clear />
<add name="BasicProfile1_1" />
</conformanceWarnings>
<protocols>
<clear />
<add name="HttpSoap12" />
<add name="HttpSoap" />
<add name="HttpPostLocalhost" />
<add name="Documentation" />
</protocols>
<serviceDescriptionFormatExtensionTypes>
<clear />
</serviceDescriptionFormatExtensionTypes>
<soapEnvelopeProcessing readTimeout="Infinite" strict="false" />
<soapExtensionImporterTypes>
<clear />
</soapExtensionImporterTypes>
<soapExtensionReflectorTypes>
<clear />
</soapExtensionReflectorTypes>
<soapExtensionTypes>
<clear />
</soapExtensionTypes>
<soapTransportImporterTypes>
<clear />
</soapTransportImporterTypes>
<soapServerProtocolFactory type="System.Web.Services.Protocols.SoapServerProtocolFactory, System.Web.Services, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<diagnostics suppressReturningExceptions="false" />
</webServices>
<!--
<xhtmlConformance
mode = "Transitional" [Transitional | Legacy | Strict]
/>
-->
<xhtmlConformance mode="Transitional" />
<!--
<authorization
>
<allow
verbs = ""
users = ""
roles = ""
/>
<deny
verbs = ""
users = ""
roles = ""
/>

</authorization>
-->
<authorization>
<allow users="*" />
</authorization>
<!--
<browserCaps
/>
-->
<browserCaps userAgentCacheKeyLength="64">
<result type="System.Web.Mobile.MobileCapabilities, System.Web.Mobile, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</browserCaps>
<!--
<clientTarget
>
<add
alias = "" [String, Required, Collection Key]
userAgent = "" [String, Required]
/>

</clientTarget>
-->
<clientTarget>
<clear />
<add alias="ie5" userAgent="Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 4.0)" />
<add alias="ie4" userAgent="Mozilla/4.0 (compatible; MSIE 4.0; Windows NT 4.0)" />
<add alias="uplevel" userAgent="Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.1)" />
<add alias="downlevel" userAgent="Generic Downlevel" />
</clientTarget>
<!--
<compilation
tempDirectory = "" [String]
debug = "false" [true|false]
strict = "false" [true|false]
explicit = "true" [true|false]
batch = "true" [true|false]
urlLinePragmas = "false" [true|false]
batchTimeout = "900" [in Seconds][number]
maxBatchSize = "1000" [number]
maxBatchGeneratedFileSize = "1000" [number]
numRecompilesBeforeAppRestart = "15" [number]
defaultLanguage = "vb" [String]
assemblyPostProcessorType = "" [String]
>
<assemblies>
<add
assembly = "" [String, Required, Collection Key]
/>
</assemblies>

<buildProviders>
<add
extension = "" [String, Required, Collection Key]
type = "" [String, Required]
/>
</buildProviders>

<expressionBuilders>
<add
expressionPrefix = "" [String, Required, Collection Key]
type = "" [String, Required]
/>
</expressionBuilders>

<codeSubDirectories>
<add
directoryName = "" [String, Required, Collection Key]
/>
</codeSubDirectories>

</compilation>
-->
<compilation tempDirectory="" debug="false" strict="false" explicit="true" batch="true" batchTimeout="900" maxBatchSize="1000" maxBatchGeneratedFileSize="1000" numRecompilesBeforeAppRestart="15" defaultLanguage="vb" urlLinePragmas="false" assemblyPostProcessorType="">
<assemblies>
<clear />
<add assembly="mscorlib" />
<add assembly="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<add assembly="System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<add assembly="System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<add assembly="System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<add assembly="System.Web.Services, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<add assembly="System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<add assembly="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<add assembly="System.EnterpriseServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<add assembly="System.Web.Mobile, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<add assembly="*" />
</assemblies>
<buildProviders>
<clear />
<add extension=".aspx" type="System.Web.Compilation.PageBuildProvider" />
<add extension=".ascx" type="System.Web.Compilation.UserControlBuildProvider" />
<add extension=".master" type="System.Web.Compilation.MasterPageBuildProvider" />
<add extension=".asmx" type="System.Web.Compilation.WebServiceBuildProvider" />
<add extension=".ashx" type="System.Web.Compilation.WebHandlerBuildProvider" />
<add extension=".soap" type="System.Web.Compilation.WebServiceBuildProvider" />
<add extension=".resx" type="System.Web.Compilation.ResXBuildProvider" />
<add extension=".resources" type="System.Web.Compilation.ResourcesBuildProvider" />
<add extension=".wsdl" type="System.Web.Compilation.WsdlBuildProvider" />
<add extension=".xsd" type="System.Web.Compilation.XsdBuildProvider" />
<add extension=".js" type="System.Web.Compilation.ForceCopyBuildProvider" />
<add extension=".lic" type="System.Web.Compilation.IgnoreFileBuildProvider" />
<add extension=".licx" type="System.Web.Compilation.IgnoreFileBuildProvider" />
<add extension=".exclude" type="System.Web.Compilation.IgnoreFileBuildProvider" />
<add extension=".refresh" type="System.Web.Compilation.IgnoreFileBuildProvider" />
</buildProviders>
<expressionBuilders>
<clear />
<add expressionPrefix="Resources" type="System.Web.Compilation.ResourceExpressionBuilder" />
<add expressionPrefix="ConnectionStrings" type="System.Web.Compilation.ConnectionStringsExpressionBuilder" />
<add expressionPrefix="AppSettings" type="System.Web.Compilation.AppSettingsExpressionBuilder" />
</expressionBuilders>
</compilation>
<!--
<healthMonitoring
heartbeatInterval = "0" [in Seconds][number]
enabled = "true" [true|false]
>
<bufferModes>
<add
name = "" [String, Required, Collection Key]
maxBufferSize = "2147483647" [number, Required]
maxFlushSize = "2147483647" [number, Required]
urgentFlushThreshold = "2147483647" [number, Required]
regularFlushInterval = "00:00:01" [HH:MM:SS, Required]
urgentFlushInterval = "00:00:00" [HH:MM:SS, Required]
maxBufferThreads = "1" [number]
/>
</bufferModes>

<providers>
<add
name = "" [String, Required, Collection Key]
type = "" [String, Required]
/>
</providers>

<profiles>
<add
name = "" [String, Required, Collection Key]
minInstances = "1" [number]
maxLimit = "2147483647" [number]
minInterval = "00:00:00" [HH:MM:SS]
custom = "" [String]
/>
</profiles>

<rules>
<add
name = "" [String, Required, Collection Key]
eventName = "" [String, Required]
custom = "" [String]
profile = "" [String]
provider = "" [String]
minInstances = "1" [number]
maxLimit = "2147483647" [number]
minInterval = "00:00:00" [HH:MM:SS]
/>
</rules>

<eventMappings>
<add
name = "" [String, Required, Collection Key]
type = "" [String, Required]
startEventCode = "0" [number]
endEventCode = "2147483647" [number]
/>
</eventMappings>

</healthMonitoring>
-->
<healthMonitoring heartbeatInterval="0" enabled="true">
<bufferModes>
<clear />
<add name="Critical Notification" maxBufferSize="100" maxFlushSize="20" urgentFlushThreshold="1" regularFlushInterval="Infinite" urgentFlushInterval="00:01:00" maxBufferThreads="1" />
<add name="Notification" maxBufferSize="300" maxFlushSize="20" urgentFlushThreshold="1" regularFlushInterval="Infinite" urgentFlushInterval="00:01:00" maxBufferThreads="1" />
<add name="Analysis" maxBufferSize="1000" maxFlushSize="100" urgentFlushThreshold="100" regularFlushInterval="00:05:00" urgentFlushInterval="00:01:00" maxBufferThreads="1" />
<add name="Logging" maxBufferSize="1000" maxFlushSize="200" urgentFlushThreshold="800" regularFlushInterval="00:30:00" urgentFlushInterval="00:05:00" maxBufferThreads="1" />
</bufferModes>
<providers>
<clear />
<add name="EventLogProvider" type="System.Web.Management.EventLogWebEventProvider,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" />
<add connectionStringName="LocalSqlServer" maxEventDetailsLength="1073741823" buffer="false" bufferMode="Notification" name="SqlWebEventProvider" type="System.Web.Management.SqlWebEventProvider,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" />
<add name="WmiWebEventProvider" type="System.Web.Management.WmiWebEventProvider,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
<profiles>
<clear />
<add name="Default" minInstances="1" maxLimit="Infinite" minInterval="00:01:00" custom="" />
<add name="Critical" minInstances="1" maxLimit="Infinite" minInterval="00:00:00" custom="" />
</profiles>
<rules>
<clear />
<add name="All Errors Default" eventName="All Errors" provider="EventLogProvider" profile="Default" minInstances="1" maxLimit="Infinite" minInterval="00:01:00" custom="" />
<add name="Failure Audits Default" eventName="Failure Audits" provider="EventLogProvider" profile="Default" minInstances="1" maxLimit="Infinite" minInterval="00:01:00" custom="" />
</rules>
<eventMappings>
<clear />
<add name="All Events" type="System.Web.Management.WebBaseEvent,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" startEventCode="0" endEventCode="2147483647" />
<add name="Heartbeats" type="System.Web.Management.WebHeartbeatEvent,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" startEventCode="0" endEventCode="2147483647" />
<add name="Application Lifetime Events" type="System.Web.Management.WebApplicationLifetimeEvent,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" startEventCode="0" endEventCode="2147483647" />
<add name="Request Processing Events" type="System.Web.Management.WebRequestEvent,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" startEventCode="0" endEventCode="2147483647" />
<add name="All Errors" type="System.Web.Management.WebBaseErrorEvent,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" startEventCode="0" endEventCode="2147483647" />
<add name="Infrastructure Errors" type="System.Web.Management.WebErrorEvent,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" startEventCode="0" endEventCode="2147483647" />
<add name="Request Processing Errors" type="System.Web.Management.WebRequestErrorEvent,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" startEventCode="0" endEventCode="2147483647" />
<add name="All Audits" type="System.Web.Management.WebAuditEvent,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" startEventCode="0" endEventCode="2147483647" />
<add name="Failure Audits" type="System.Web.Management.WebFailureAuditEvent,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" startEventCode="0" endEventCode="2147483647" />
<add name="Success Audits" type="System.Web.Management.WebSuccessAuditEvent,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" startEventCode="0" endEventCode="2147483647" />
</eventMappings>
</healthMonitoring>
<!--
<httpHandlers
>
<add
path = "" [String, Required, Collection Key]
verb = "" [String, Required, Collection Key]
type = "" [String, Required]
validate = "true" [true|false]
/>

</httpHandlers>
-->
<httpHandlers>
<clear />
<add path="trace.axd" verb="*" type="System.Web.Handlers.TraceHandler" validate="true" />
<add path="WebResource.axd" verb="GET" type="System.Web.Handlers.AssemblyResourceLoader" validate="true" />
<add path="*.axd" verb="*" type="System.Web.HttpNotFoundHandler" validate="true" />
<add path="*.aspx" verb="*" type="System.Web.UI.PageHandlerFactory" validate="true" />
<add path="*.ashx" verb="*" type="System.Web.UI.SimpleHandlerFactory" validate="true" />
<add path="*.asmx" verb="*" type="System.Web.Services.Protocols.WebServiceHandlerFactory, System.Web.Services, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false" />
<add path="*.rem" verb="*" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" validate="false" />
<add path="*.soap" verb="*" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" validate="false" />
<add path="*.asax" verb="*" type="System.Web.HttpForbiddenHandler" validate="true" />
<add path="*.ascx" verb="*" type="System.Web.HttpForbiddenHandler" validate="true" />
<add path="*.master" verb="*" type="System.Web.HttpForbiddenHandler" validate="true" />
<add path="*.skin" verb="*" type="System.Web.HttpForbiddenHandler" validate="true" />
<add path="*.browser" verb="*" type="System.Web.HttpForbiddenHandler" validate="true" />
<add path="*.sitemap" verb="*" type="System.Web.HttpForbiddenHandler" validate="true" />
<add path="*.dll.config" verb="GET,HEAD" type="System.Web.StaticFileHandler" validate="true" />
<add path="*.exe.config" verb="GET,HEAD" type="System.Web.StaticFileHandler" validate="true" />
<add path="*.config" verb="*" type="System.Web.HttpForbiddenHandler" validate="true" />
<add path="*.cs" verb="*" type="System.Web.HttpForbiddenHandler" validate="true" />
<add path="*.csproj" verb="*" type="System.Web.HttpForbiddenHandler" validate="true" />
<add path="*.vb" verb="*" type="System.Web.HttpForbiddenHandler" validate="true" />
<add path="*.vbproj" verb="*" type="System.Web.HttpForbiddenHandler" validate="true" />
<add path="*.webinfo" verb="*" type="System.Web.HttpForbiddenHandler" validate="true" />
<add path="*.licx" verb="*" type="System.Web.HttpForbiddenHandler" validate="true" />
<add path="*.resx" verb="*" type="System.Web.HttpForbiddenHandler" validate="true" />
<add path="*.resources" verb="*" type="System.Web.HttpForbiddenHandler" validate="true" />
<add path="*.mdb" verb="*" type="System.Web.HttpForbiddenHandler" validate="true" />
<add path="*.vjsproj" verb="*" type="System.Web.HttpForbiddenHandler" validate="true" />
<add path="*.java" verb="*" type="System.Web.HttpForbiddenHandler" validate="true" />
<add path="*.jsl" verb="*" type="System.Web.HttpForbiddenHandler" validate="true" />
<add path="*.ldb" verb="*" type="System.Web.HttpForbiddenHandler" validate="true" />
<add path="*.ad" verb="*" type="System.Web.HttpForbiddenHandler" validate="true" />
<add path="*.dd" verb="*" type="System.Web.HttpForbiddenHandler" validate="true" />
<add path="*.ldd" verb="*" type="System.Web.HttpForbiddenHandler" validate="true" />
<add path="*.sd" verb="*" type="System.Web.HttpForbiddenHandler" validate="true" />
<add path="*.cd" verb="*" type="System.Web.HttpForbiddenHandler" validate="true" />
<add path="*.adprototype" verb="*" type="System.Web.HttpForbiddenHandler" validate="true" />
<add path="*.lddprototype" verb="*" type="System.Web.HttpForbiddenHandler" validate="true" />
<add path="*.sdm" verb="*" type="System.Web.HttpForbiddenHandler" validate="true" />
<add path="*.sdmDocument" verb="*" type="System.Web.HttpForbiddenHandler" validate="true" />
<add path="*.mdf" verb="*" type="System.Web.HttpForbiddenHandler" validate="true" />
<add path="*.ldf" verb="*" type="System.Web.HttpForbiddenHandler" validate="true" />
<add path="*.exclude" verb="*" type="System.Web.HttpForbiddenHandler" validate="true" />
<add path="*.refresh" verb="*" type="System.Web.HttpForbiddenHandler" validate="true" />
<add path="*" verb="GET,HEAD,POST" type="System.Web.DefaultHttpHandler" validate="true" />
<add path="*" verb="*" type="System.Web.HttpMethodNotAllowedHandler" validate="true" />
</httpHandlers>
<!--
<httpModules
>
<add
name = "" [String, Required, Collection Key]
type = "" [String, Required]
/>

</httpModules>
-->
<httpModules>
<clear />
<add name="OutputCache" type="System.Web.Caching.OutputCacheModule" />
<add name="Session" type="System.Web.SessionState.SessionStateModule" />
<add name="WindowsAuthentication" type="System.Web.Security.WindowsAuthenticationModule" />
<add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" />
<add name="PassportAuthentication" type="System.Web.Security.PassportAuthenticationModule" />
<add name="RoleManager" type="System.Web.Security.RoleManagerModule" />
<add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule" />
<add name="FileAuthorization" type="System.Web.Security.FileAuthorizationModule" />
<add name="AnonymousIdentification" type="System.Web.Security.AnonymousIdentificationModule" />
<add name="Profile" type="System.Web.Profile.ProfileModule" />
<add name="ErrorHandlerModule" type="System.Web.Mobile.ErrorHandlerModule, System.Web.Mobile, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</httpModules>
<!--
<mobileControls
sessionStateHistorySize = "6" [number]
cookielessDataDictionaryType = "System.Web.Mobile.CookielessData"
allowCustomAttributes = "false" [true|false]
>
<device
<
name = "" [String, Required, Collection Key]
inheritsFrom = "" [String]
predicateClass = ""
predicateMethod = "" [String]
pageAdapter = ""
>
<control
name = "" [String, Required, Collection Key]
adapter = "" [Required]
/>

</>/>

</mobileControls>
-->
<mobileControls sessionStateHistorySize="6" cookielessDataDictionaryType="System.Web.Mobile.CookielessData" allowCustomAttributes="false">
<device name="XhtmlDeviceAdapters" predicateClass="System.Web.UI.MobileControls.Adapters.XhtmlAdapters.XhtmlPageAdapter" predicateMethod="DeviceQualifies" pageAdapter="System.Web.UI.MobileControls.Adapters.XhtmlAdapters.XhtmlPageAdapter">
<control name="System.Web.UI.MobileControls.Panel" adapter="System.Web.UI.MobileControls.Adapters.XhtmlAdapters.XhtmlPanelAdapter" />
<control name="System.Web.UI.MobileControls.Form" adapter="System.Web.UI.MobileControls.Adapters.XhtmlAdapters.XhtmlFormAdapter" />
<control name="System.Web.UI.MobileControls.TextBox" adapter="System.Web.UI.MobileControls.Adapters.XhtmlAdapters.XhtmlTextBoxAdapter" />
<control name="System.Web.UI.MobileControls.Label" adapter="System.Web.UI.MobileControls.Adapters.XhtmlAdapters.XhtmlLabelAdapter" />
<control name="System.Web.UI.MobileControls.LiteralText" adapter="System.Web.UI.MobileControls.Adapters.XhtmlAdapters.XhtmlLiteralTextAdapter" />
<control name="System.Web.UI.MobileControls.Link" adapter="System.Web.UI.MobileControls.Adapters.XhtmlAdapters.XhtmlLinkAdapter" />
<control name="System.Web.UI.MobileControls.Command" adapter="System.Web.UI.MobileControls.Adapters.XhtmlAdapters.XhtmlCommandAdapter" />
<control name="System.Web.UI.MobileControls.PhoneCall" adapter="System.Web.UI.MobileControls.Adapters.XhtmlAdapters.XhtmlPhoneCallAdapter" />
<control name="System.Web.UI.MobileControls.List" adapter="System.Web.UI.MobileControls.Adapters.XhtmlAdapters.XhtmlListAdapter" />
<control name="System.Web.UI.MobileControls.SelectionList" adapter="System.Web.UI.MobileControls.Adapters.XhtmlAdapters.XhtmlSelectionListAdapter" />
<control name="System.Web.UI.MobileControls.ObjectList" adapter="System.Web.UI.MobileControls.Adapters.XhtmlAdapters.XhtmlObjectListAdapter" />
<control name="System.Web.UI.MobileControls.Image" adapter="System.Web.UI.MobileControls.Adapters.XhtmlAdapters.XhtmlImageAdapter" />
<control name="System.Web.UI.MobileControls.ValidationSummary" adapter="System.Web.UI.MobileControls.Adapters.XhtmlAdapters.XhtmlValidationSummaryAdapter" />
<control name="System.Web.UI.MobileControls.Calendar" adapter="System.Web.UI.MobileControls.Adapters.XhtmlAdapters.XhtmlCalendarAdapter" />
<control name="System.Web.UI.MobileControls.TextView" adapter="System.Web.UI.MobileControls.Adapters.XhtmlAdapters.XhtmlTextViewAdapter" />
<control name="System.Web.UI.MobileControls.MobileControl" adapter="System.Web.UI.MobileControls.Adapters.XhtmlAdapters.XhtmlControlAdapter" />
<control name="System.Web.UI.MobileControls.BaseValidator" adapter="System.Web.UI.MobileControls.Adapters.XhtmlAdapters.XhtmlValidatorAdapter" />
</device>
<device name="HtmlDeviceAdapters" predicateClass="System.Web.UI.MobileControls.Adapters.HtmlPageAdapter" predicateMethod="DeviceQualifies" pageAdapter="System.Web.UI.MobileControls.Adapters.HtmlPageAdapter">
<control name="System.Web.UI.MobileControls.Panel" adapter="System.Web.UI.MobileControls.Adapters.HtmlPanelAdapter" />
<control name="System.Web.UI.MobileControls.Form" adapter="System.Web.UI.MobileControls.Adapters.HtmlFormAdapter" />
<control name="System.Web.UI.MobileControls.TextBox" adapter="System.Web.UI.MobileControls.Adapters.HtmlTextBoxAdapter" />
<control name="System.Web.UI.MobileControls.Label" adapter="System.Web.UI.MobileControls.Adapters.HtmlLabelAdapter" />
<control name="System.Web.UI.MobileControls.LiteralText" adapter="System.Web.UI.MobileControls.Adapters.HtmlLiteralTextAdapter" />
<control name="System.Web.UI.MobileControls.Link" adapter="System.Web.UI.MobileControls.Adapters.HtmlLinkAdapter" />
<control name="System.Web.UI.MobileControls.Command" adapter="System.Web.UI.MobileControls.Adapters.HtmlCommandAdapter" />
<control name="System.Web.UI.MobileControls.PhoneCall" adapter="System.Web.UI.MobileControls.Adapters.HtmlPhoneCallAdapter" />
<control name="System.Web.UI.MobileControls.List" adapter="System.Web.UI.MobileControls.Adapters.HtmlListAdapter" />
<control name="System.Web.UI.MobileControls.SelectionList" adapter="System.Web.UI.MobileControls.Adapters.HtmlSelectionListAdapter" />
<control name="System.Web.UI.MobileControls.ObjectList" adapter="System.Web.UI.MobileControls.Adapters.HtmlObjectListAdapter" />
<control name="System.Web.UI.MobileControls.Image" adapter="System.Web.UI.MobileControls.Adapters.HtmlImageAdapter" />
<control name="System.Web.UI.MobileControls.BaseValidator" adapter="System.Web.UI.MobileControls.Adapters.HtmlValidatorAdapter" />
<control name="System.Web.UI.MobileControls.ValidationSummary" adapter="System.Web.UI.MobileControls.Adapters.HtmlValidationSummaryAdapter" />
<control name="System.Web.UI.MobileControls.Calendar" adapter="System.Web.UI.MobileControls.Adapters.HtmlCalendarAdapter" />
<control name="System.Web.UI.MobileControls.TextView" adapter="System.Web.UI.MobileControls.Adapters.HtmlTextViewAdapter" />
<control name="System.Web.UI.MobileControls.MobileControl" adapter="System.Web.UI.MobileControls.Adapters.HtmlControlAdapter" />
</device>
<device name="UpWmlDeviceAdapters" inheritsFrom="WmlDeviceAdapters" predicateClass="System.Web.UI.MobileControls.Adapters.UpWmlPageAdapter" predicateMethod="DeviceQualifies" pageAdapter="System.Web.UI.MobileControls.Adapters.UpWmlPageAdapter" />
<device name="WmlDeviceAdapters" predicateClass="System.Web.UI.MobileControls.Adapters.WmlPageAdapter" predicateMethod="DeviceQualifies" pageAdapter="System.Web.UI.MobileControls.Adapters.WmlPageAdapter">
<control name="System.Web.UI.MobileControls.Panel" adapter="System.Web.UI.MobileControls.Adapters.WmlPanelAdapter" />
<control name="System.Web.UI.MobileControls.Form" adapter="System.Web.UI.MobileControls.Adapters.WmlFormAdapter" />
<control name="System.Web.UI.MobileControls.TextBox" adapter="System.Web.UI.MobileControls.Adapters.WmlTextBoxAdapter" />
<control name="System.Web.UI.MobileControls.Label" adapter="System.Web.UI.MobileControls.Adapters.WmlLabelAdapter" />
<control name="System.Web.UI.MobileControls.LiteralText" adapter="System.Web.UI.MobileControls.Adapters.WmlLiteralTextAdapter" />
<control name="System.Web.UI.MobileControls.Link" adapter="System.Web.UI.MobileControls.Adapters.WmlLinkAdapter" />
<control name="System.Web.UI.MobileControls.Command" adapter="System.Web.UI.MobileControls.Adapters.WmlCommandAdapter" />
<control name="System.Web.UI.MobileControls.PhoneCall" adapter="System.Web.UI.MobileControls.Adapters.WmlPhoneCallAdapter" />
<control name="System.Web.UI.MobileControls.List" adapter="System.Web.UI.MobileControls.Adapters.WmlListAdapter" />
<control name="System.Web.UI.MobileControls.SelectionList" adapter="System.Web.UI.MobileControls.Adapters.WmlSelectionListAdapter" />
<control name="System.Web.UI.MobileControls.ObjectList" adapter="System.Web.UI.MobileControls.Adapters.WmlObjectListAdapter" />
<control name="System.Web.UI.MobileControls.Image" adapter="System.Web.UI.MobileControls.Adapters.WmlImageAdapter" />
<control name="System.Web.UI.MobileControls.BaseValidator" adapter="System.Web.UI.MobileControls.Adapters.WmlValidatorAdapter" />
<control name="System.Web.UI.MobileControls.ValidationSummary" adapter="System.Web.UI.MobileControls.Adapters.WmlValidationSummaryAdapter" />
<control name="System.Web.UI.MobileControls.Calendar" adapter="System.Web.UI.MobileControls.Adapters.WmlCalendarAdapter" />
<control name="System.Web.UI.MobileControls.TextView" adapter="System.Web.UI.MobileControls.Adapters.WmlTextViewAdapter" />
<control name="System.Web.UI.MobileControls.MobileControl" adapter="System.Web.UI.MobileControls.Adapters.WmlControlAdapter" />
</device>
<device name="ChtmlDeviceAdapters" inheritsFrom="HtmlDeviceAdapters" predicateClass="System.Web.UI.MobileControls.Adapters.ChtmlPageAdapter" predicateMethod="DeviceQualifies" pageAdapter="System.Web.UI.MobileControls.Adapters.ChtmlPageAdapter">
<control name="System.Web.UI.MobileControls.Form" adapter="System.Web.UI.MobileControls.Adapters.ChtmlFormAdapter" />
<control name="System.Web.UI.MobileControls.Calendar" adapter="System.Web.UI.MobileControls.Adapters.ChtmlCalendarAdapter" />
<control name="System.Web.UI.MobileControls.Image" adapter="System.Web.UI.MobileControls.Adapters.ChtmlImageAdapter" />
<control name="System.Web.UI.MobileControls.TextBox" adapter="System.Web.UI.MobileControls.Adapters.ChtmlTextBoxAdapter" />
<control name="System.Web.UI.MobileControls.SelectionList" adapter="System.Web.UI.MobileControls.Adapters.ChtmlSelectionListAdapter" />
<control name="System.Web.UI.MobileControls.Command" adapter="System.Web.UI.MobileControls.Adapters.ChtmlCommandAdapter" />
<control name="System.Web.UI.MobileControls.PhoneCall" adapter="System.Web.UI.MobileControls.Adapters.ChtmlPhoneCallAdapter" />
<control name="System.Web.UI.MobileControls.Link" adapter="System.Web.UI.MobileControls.Adapters.ChtmlLinkAdapter" />
</device>
</mobileControls>
<!--
<pages
buffer = "true" [true|false]
enableSessionState = "true" [False | ReadOnly | True]
enableViewState = "true" [true|false]
enableViewStateMac = "true" [true|false]
enableEventValidation = "true" [true|false]
smartNavigation = "false" [true|false]
autoEventWireup = "true" [true|false]
maintainScrollPositionOnPostBack = "false" [true|false]
pageBaseType = "System.Web.UI.Page" [String]
userControlBaseType = "System.Web.UI.UserControl" [String]
pageParserFilterType = "" [String]
validateRequest = "true" [true|false]
masterPageFile = "" [String]
theme = "" [String]
styleSheetTheme = "" [String]
maxPageStateFieldLength = "-1" [number]
compilationMode = "Always" [Auto | Never | Always]
viewStateEncryptionMode = "Auto" [Auto | Always | Never]
asyncTimeout = "45" [in Seconds][number]
>
<namespaces
autoImportVBNamespace = "true" [true|false]
>
<add
namespace = "" [String, Required, Collection Key]
/>
</namespaces>

<controls>
<add
tagPrefix = "/" [String, Required]
tagName = "" [String]
namespace = "" [String]
assembly = "" [String]
src = "" [String]
/>
</controls>

<tagMapping>
<add
mappedTagType = "" [String]
tagType = "" [String, Required, Collection Key]
/>
</tagMapping>

</pages>
-->
<pages buffer="true" enableSessionState="true" enableViewState="true" enableViewStateMac="true" enableEventValidation="true" smartNavigation="false" autoEventWireup="true" pageBaseType="System.Web.UI.Page" userControlBaseType="System.Web.UI.UserControl" validateRequest="true" masterPageFile="" theme="" styleSheetTheme="" maxPageStateFieldLength="-1" compilationMode="Always" pageParserFilterType="" viewStateEncryptionMode="Auto" maintainScrollPositionOnPostBack="false" asyncTimeout="45">
<namespaces autoImportVBNamespace="true">
<clear />
<add namespace="System" />
<add namespace="System.Collections" />
<add namespace="System.Collections.Specialized" />
<add namespace="System.Configuration" />
<add namespace="System.Text" />
<add namespace="System.Text.RegularExpressions" />
<add namespace="System.Web" />
<add namespace="System.Web.Caching" />
<add namespace="System.Web.SessionState" />
<add namespace="System.Web.Security" />
<add namespace="System.Web.Profile" />
<add namespace="System.Web.UI" />
<add namespace="System.Web.UI.WebControls" />
<add namespace="System.Web.UI.WebControls.WebParts" />
<add namespace="System.Web.UI.HtmlControls" />
</namespaces>
<controls>
<add tagPrefix="asp" tagName="" namespace="System.Web.UI.WebControls.WebParts" assembly="System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" src="" />
</controls>
<tagMapping>
<clear />
</tagMapping>
</pages>
<!--
<protocols
>
<add
name = "" [String, Required, Collection Key]
processHandlerType = "" [String]
appDomainHandlerType = "" [String]
validate = "false" [true|false]
/>

</protocols>
-->
<protocols>
<clear />
</protocols>
<!--
<siteMap
defaultProvider = "AspNetXmlSiteMapProvider" [String]
enabled = "true" [true|false]
>
<providers>
<add
name = "" [String, Required, Collection Key]
type = "" [String, Required]
/>
</providers>

</siteMap>
-->
<siteMap defaultProvider="AspNetXmlSiteMapProvider" enabled="true">
<providers>
<clear />
<add siteMapFile="web.sitemap" name="AspNetXmlSiteMapProvider" type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</siteMap>
<!--
<urlMappings
enabled = "true" [true|false]
>
<add
url = "" [String, Required, Collection Key]
mappedUrl = "" [String, Required]
/>

</urlMappings>
-->
<urlMappings enabled="true">
<clear />
</urlMappings>
<!--
<webControls
clientScriptsLocation = "/aspnet_client/{0}/{1}/" [String, Required]
/>
-->
<webControls clientScriptsLocation="/aspnet_client/{0}/{1}/" />
<!--
<webParts
enableExport = "false" [true|false]
>
<personalization
defaultProvider = "AspNetSqlPersonalizationProvider" [String]
>
<providers>
<add
name = "" [String, Required, Collection Key]
type = "" [String, Required]
/>
</providers>

</personalization>
<transformers>
<add
name = "" [String, Required, Collection Key]
type = "" [String, Required]
/>
</transformers>

</webParts>
-->
<webParts enableExport="false">
<personalization defaultProvider="AspNetSqlPersonalizationProvider">
<providers>
<clear />
<add connectionStringName="LocalSqlServer" name="AspNetSqlPersonalizationProvider" type="System.Web.UI.WebControls.WebParts.SqlPersonalizationProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
<authorization>
<deny verbs="enterSharedScope" users="*" />
<allow verbs="modifyState" users="*" />
</authorization>
</personalization>
<transformers>
<clear />
<add name="RowToFieldTransformer" type="System.Web.UI.WebControls.WebParts.RowToFieldTransformer" />
<add name="RowToParametersTransformer" type="System.Web.UI.WebControls.WebParts.RowToParametersTransformer" />
</transformers>
</webParts>
<caching>
<!--
<cache
disableMemoryCollection = "false" [true|false]
disableExpiration = "false" [true|false]
privateBytesLimit = "0" [number]
percentagePhysicalMemoryUsedLimit = "0" [number]
privateBytesPollTime = "00:02:00" [HH:MM:SS]
/>
-->
<cache disableMemoryCollection="false" disableExpiration="false" privateBytesLimit="0" percentagePhysicalMemoryUsedLimit="0" privateBytesPollTime="00:02:00" />
<!--
<outputCache
enableOutputCache = "true" [true|false]
enableFragmentCache = "true" [true|false]
sendCacheControlHeader = "true" [true|false]
omitVaryStar = "false" [true|false]
enableKernelCacheForVaryByStar = "false" [true|false]
/>
-->
<outputCache enableOutputCache="true" enableFragmentCache="true" sendCacheControlHeader="true" omitVaryStar="false" enableKernelCacheForVaryByStar="false" />
<!--
<outputCacheSettings
>
<outputCacheProfiles>
<add
name = "" [String, Required, Collection Key]
enabled = "true" [true|false]
duration = "-1" [number]
location = "" [Any | Client | Downstream | Server | None | ServerAndClient]
sqlDependency = "" [String]
varyByCustom = "" [String]
varyByControl = "" [String]
varyByContentEncoding = "" [String]
varyByHeader = "" [String]
varyByParam = "" [String]
noStore = "false" [true|false]
/>
</outputCacheProfiles>

</outputCacheSettings>
-->
<outputCacheSettings>
<outputCacheProfiles>
<clear />
</outputCacheProfiles>
</outputCacheSettings>
<!--
<sqlCacheDependency
enabled = "true" [true|false]
pollTime = "60000" [number]
>
<databases>
<add
name = "" [String, Required, Collection Key]
connectionStringName = "" [String, Required]
pollTime = "60000" [number]
/>
</databases>

</sqlCacheDependency>
-->
<sqlCacheDependency enabled="true" pollTime="60000">
<databases>
<clear />
</databases>
</sqlCacheDependency>
</caching>
<!--
<securityPolicy
>
<trustLevel
name = "Full" [String, Required, Collection Key]
policyFile = "internal" [String, Required]
/>

</securityPolicy>
-->
<securityPolicy>
<trustLevel name="Full" policyFile="internal" />
<trustLevel name="High" policyFile="web_hightrust.config" />
<trustLevel name="Medium" policyFile="web_mediumtrust.config" />
<trustLevel name="Low" policyFile="web_lowtrust.config" />
<trustLevel name="Minimal" policyFile="web_minimaltrust.config" />
</securityPolicy>
<!--
<trust
level = "Full" [String, Required]
originUrl = "" [String]
processRequestInApplicationTrust = "true" [true|false]
/>
-->
<trust level="Full" originUrl="" processRequestInApplicationTrust="true" />
</system.web>
</configuration>

Monday, July 21, 2014

SMS Text Gateway Class Utilizing INotifyPropertyChanged

//
// SMS message Transport utilizing a webservice call
//
namespace messageTransport {
    using System.Xml.Serialization;
    
    /// <remarks/>
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://messagetransport.webservice.com")]
    [System.Xml.Serialization.XmlRootAttribute(Namespace="http://messagetransport.webservice.com", IsNullable=false)]
    public partial class SMSMONotification : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string serviceVersionField;
        
        private OcsSecurityType ocsSecurityField;
        
        private smsEnrollRequest smsEnrollRequestField;
        
        private smsUnEnrollRequest smsUnEnrollRequestField;
        
        /// <remarks/>
        public string ServiceVersion {
            get {
                return this.serviceVersionField;
            }
            set {
                this.serviceVersionField = value;
                this.RaisePropertyChanged("ServiceVersion");
            }
        }
        
        /// <remarks/>
        public OcsSecurityType OcsSecurity {
            get {
                return this.ocsSecurityField;
            }
            set {
                this.ocsSecurityField = value;
                this.RaisePropertyChanged("OcsSecurity");
            }
        }
        
        /// <remarks/>
        public smsEnrollRequest smsEnrollRequest {
            get {
                return this.smsEnrollRequestField;
            }
            set {
                this.smsEnrollRequestField = value;
                this.RaisePropertyChanged("smsEnrollRequest");
            }
        }
        
        /// <remarks/>
        public smsUnEnrollRequest smsUnEnrollRequest {
            get {
                return this.smsUnEnrollRequestField;
            }
            set {
                this.smsUnEnrollRequestField = value;
                this.RaisePropertyChanged("smsUnEnrollRequest");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://messagetransport.webservice.com")]
    public partial class OcsSecurityType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string userIdField;
        
        private string passwordField;
        
        private string x500IdField;
        
        /// <remarks/>
        public string UserId {
            get {
                return this.userIdField;
            }
            set {
                this.userIdField = value;
                this.RaisePropertyChanged("UserId");
            }
        }
        
        /// <remarks/>
        public string Password {
            get {
                return this.passwordField;
            }
            set {
                this.passwordField = value;
                this.RaisePropertyChanged("Password");
            }
        }
        
        /// <remarks/>
        public string X500Id {
            get {
                return this.x500IdField;
            }
            set {
                this.x500IdField = value;
                this.RaisePropertyChanged("X500Id");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://messagetransport.webservice.com")]
    public partial class smsUnEnrollRequest : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string presentationNumberField;
        
        private string shortCodeField;
        
        private string phoneNumberField;
        
        private string transactionIdField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string presentationNumber {
            get {
                return this.presentationNumberField;
            }
            set {
                this.presentationNumberField = value;
                this.RaisePropertyChanged("presentationNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string shortCode {
            get {
                return this.shortCodeField;
            }
            set {
                this.shortCodeField = value;
                this.RaisePropertyChanged("shortCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string phoneNumber {
            get {
                return this.phoneNumberField;
            }
            set {
                this.phoneNumberField = value;
                this.RaisePropertyChanged("phoneNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string transactionId {
            get {
                return this.transactionIdField;
            }
            set {
                this.transactionIdField = value;
                this.RaisePropertyChanged("transactionId");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://messagetransport.webservice.com")]
    public partial class KeyValue : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string keyField;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = value;
                this.RaisePropertyChanged("key");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
                this.RaisePropertyChanged("value");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://messagetransport.webservice.com")]
    public partial class smsEnrollRequest : object, System.ComponentModel.INotifyPropertyChanged {
        
        private KeyValue[] keyValueField;
        
        private string presentationNumberField;
        
        private requestType requestTypeField;
        
        private string shortCodeField;
        
        private string phoneNumberField;
        
        private string messageField;
        
        private string transactionIdField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("keyValue")]
        public KeyValue[] keyValue {
            get {
                return this.keyValueField;
            }
            set {
                this.keyValueField = value;
                this.RaisePropertyChanged("keyValue");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string presentationNumber {
            get {
                return this.presentationNumberField;
            }
            set {
                this.presentationNumberField = value;
                this.RaisePropertyChanged("presentationNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public requestType requestType {
            get {
                return this.requestTypeField;
            }
            set {
                this.requestTypeField = value;
                this.RaisePropertyChanged("requestType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string shortCode {
            get {
                return this.shortCodeField;
            }
            set {
                this.shortCodeField = value;
                this.RaisePropertyChanged("shortCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string phoneNumber {
            get {
                return this.phoneNumberField;
            }
            set {
                this.phoneNumberField = value;
                this.RaisePropertyChanged("phoneNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string message {
            get {
                return this.messageField;
            }
            set {
                this.messageField = value;
                this.RaisePropertyChanged("message");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string transactionId {
            get {
                return this.transactionIdField;
            }
            set {
                this.transactionIdField = value;
                this.RaisePropertyChanged("transactionId");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://messagetransport.webservice.com")]
    public enum requestType {
        
        /// <remarks/>
        ADD,
        
        /// <remarks/>
        UPDATE,
    }
}

C# AspNet Membership IsInRole - Save Roles To Session

// The purpose of the following Methods is to reduce the number of database calls and traffic bandwidth. // The following Method is used for verifying roles of another user, (NOT the contextual user) via administration site page.
public static bool IsInRole( string username, string rolename)
{
  string UserRolesCheck = "UserRolesCheck" + username;             if (HttpContext.Current.Session[UserRolesCheck] == null)             

{                 if (HttpContext.Current.Session[UserRolesCheck] == null)                 {                     string[] userRoles = System.Web.Security.Roles.GetRolesForUser(username);                     HttpContext.Current.Session[UserRolesCheck] = string.Join(",", userRoles);                 }             }             if (HttpContext.Current.Session[UserRolesCheck] != null)             {                 return ((String)HttpContext.Current.Session[UserRolesCheck]).Contains(rolename) ? true : false;             }             return false;         }    
// The following Method is used for verifying roles of current user.
The contextual user must be authenticated.

public static bool IsInRole(string rolename)         {             if (HttpContext.Current.Session["UserRoles"] == null)             {                 string[] userRoles = System.Web.Security.Roles.GetRolesForUser(System.Web.Security.Membership.GetUser().UserName);                 HttpContext.Current.Session["UserRoles"] = string.Join(",", userRoles);                                  if (HttpContext.Current.Session["UserRolesCheck"] != null)                         HttpContext.Current.Session["UserRolesCheck"] = null;             }             if (HttpContext.Current.Session["UserRoles"] != null)             {                 return ((String)HttpContext.Current.Session["UserRoles"]).Contains(rolename) ? true : false;             }             return false;         }         

SQL Function fnSplitIn2Rows

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

-- =============================================
-- Author:        tCarter
-- Create date: 4/14/2014
-- Description:    
-- usage:
/*  1. (select * from fnSplitIn2Rows(@listItems,'','')

    2. IF @listItems IS NOT NULL
        BEGIN
        ....

        inner join table1 t1 with (nolock) on t2.id = t1.id
        inner join (select * from fnSplitIn2Rows(@listItems,'','')) UFNOUTPUT
                  on t1.id = UFNOUTPUT.itemvalue
        END
        ELSE
        BEGIN
        ....   
        inner join table1 t1 with (nolock) on t2.id = t1.id
        END

*/
-- =============================================
CREATE FUNCTION [dbo].[fSplitIn2Rows]
    (
      @PInStrSource varchar(8000) = NULL,
      @pInChrSeparator char(1) = '|'
    )
    RETURNS
        @ARRAY TABLE (ItemValue VARCHAR(1000))
AS
BEGIN
    DECLARE @CurrentStr varchar(2000)
    DECLARE @ItemStr varchar(200)
    
    SET @CurrentStr = @PInStrSource
    
    WHILE Datalength(@CurrentStr) > 0
    BEGIN
        IF CHARINDEX(@pInChrSeparator, @CurrentStr,1) > 0
            BEGIN
                   SET @ItemStr = SUBSTRING (@CurrentStr, 1, CHARINDEX(@pInChrSeparator, @CurrentStr,1) - 1)
                SET @CurrentStr = SUBSTRING (@CurrentStr, CHARINDEX(@pInChrSeparator, @CurrentStr,1) + 1, (Datalength(@CurrentStr) - CHARINDEX(@pInChrSeparator, @CurrentStr,1) + 1))
                INSERT @ARRAY (ItemValue) VALUES (ltrim(@ItemStr))
               END
         ELSE
             BEGIN                
                INSERT @ARRAY (ItemValue) VALUES (ltrim(@CurrentStr))
                   BREAK;
                END
    END
    RETURN
END

Wednesday, July 9, 2014

SQL FUNCTION - GetAllTablesRowCounts( )

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

-- =============================================
-- Author:        tcarter
-- Create date: 7/9/2014
-- Description:    ALL TABLES SIZES
-- =============================================
CREATE FUNCTION [dbo].[GetAllTablesRowCounts]
(    
    @DBNAME VARCHAR(50)
)
RETURNS TABLE
AS
RETURN
(
 
    SELECT TOP 1000 OBJECT_NAME(object_id)tablename,* from sys.partitions where object_id>100 and index_id=1 order by rows desc
)

GO


SQL Function - GetAllTablesByteSize( )

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:        tcarter
-- Create date: 7/9/2014
-- Description:    ALL TABLES SIZES
-- =============================================
CREATE FUNCTION GetAllTablesByteSize
(    
    @DBNAME VARCHAR(50)
)
RETURNS TABLE
AS
RETURN
(
 
        SELECT TOP 1000
        t.NAME AS TableName,
        s.Name AS SchemaName,
        p.rows AS RowCounts,
        SUM(a.total_pages) * 8 AS TotalSpaceKB,  
        SUM(a.used_pages) * 8 AS UsedSpaceKB,  
        (SUM(a.total_pages) - SUM(a.used_pages)) * 8 AS UnusedSpaceKB
        FROM  
            sys.tables t
        INNER JOIN       
            sys.indexes i ON t.OBJECT_ID = i.object_id
        INNER JOIN  
            sys.partitions p ON i.object_id = p.OBJECT_ID AND i.index_id = p.index_id
        INNER JOIN  
            sys.allocation_units a ON p.partition_id = a.container_id
        LEFT OUTER JOIN  
            sys.schemas s ON t.schema_id = s.schema_id
        WHERE  
            t.NAME NOT LIKE 'dt%'  
            AND t.is_ms_shipped = 0
            AND i.OBJECT_ID > 255  
        GROUP BY  
            t.Name, s.Name, p.Rows
        ORDER BY  
            UsedSpaceKB desc, t.Name
)
GO