| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!-- |
| | | |
| | | IIS configuration sections. |
| | | |
| | | For schema documentation, see |
| | | %IIS_BIN%\config\schema\IIS_schema.xml. |
| | | |
| | | Please make a backup of this file before making any changes to it. |
| | | |
| | | NOTE: The following environment variables are available to be used |
| | | within this file and are understood by the IIS Express. |
| | | |
| | | %IIS_USER_HOME% - The IIS Express home directory for the user |
| | | %IIS_SITES_HOME% - The default home directory for sites |
| | | %IIS_BIN% - The location of the IIS Express binaries |
| | | %SYSTEMDRIVE% - The drive letter of %IIS_BIN% |
| | | |
| | | --> |
| | | <configuration> |
| | | <!-- |
| | | |
| | | The <configSections> section controls the registration of sections. |
| | | Section is the basic unit of deployment, locking, searching and |
| | | containment for configuration settings. |
| | | |
| | | Every section belongs to one section group. |
| | | A section group is a container of logically-related sections. |
| | | |
| | | Sections cannot be nested. |
| | | Section groups may be nested. |
| | | |
| | | <section |
| | | name="" [Required, Collection Key] [XML name of the section] |
| | | allowDefinition="Everywhere" [MachineOnly|MachineToApplication|AppHostOnly|Everywhere] [Level where it can be set] |
| | | overrideModeDefault="Allow" [Allow|Deny] [Default delegation mode] |
| | | allowLocation="true" [true|false] [Allowed in location tags] |
| | | /> |
| | | |
| | | The recommended way to unlock sections is by using a location tag: |
| | | <location path="Default Web Site" overrideMode="Allow"> |
| | | <system.webServer> |
| | | <asp /> |
| | | </system.webServer> |
| | | </location> |
| | | |
| | | --> |
| | | <configSections> |
| | | <sectionGroup name="system.applicationHost"> |
| | | <section name="applicationPools" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> |
| | | <section name="configHistory" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> |
| | | <section name="customMetadata" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> |
| | | <section name="listenerAdapters" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> |
| | | <section name="log" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> |
| | | <section name="serviceAutoStartProviders" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> |
| | | <section name="sites" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> |
| | | <section name="webLimits" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> |
| | | </sectionGroup> |
| | | <sectionGroup name="system.webServer"> |
| | | <section name="asp" overrideModeDefault="Deny" /> |
| | | <section name="caching" overrideModeDefault="Allow" /> |
| | | <section name="cgi" overrideModeDefault="Deny" /> |
| | | <section name="defaultDocument" overrideModeDefault="Allow" /> |
| | | <section name="directoryBrowse" overrideModeDefault="Allow" /> |
| | | <section name="fastCgi" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> |
| | | <section name="globalModules" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> |
| | | <section name="handlers" overrideModeDefault="Deny" /> |
| | | <section name="httpCompression" overrideModeDefault="Allow" allowDefinition="Everywhere" /> |
| | | <section name="httpErrors" overrideModeDefault="Allow" /> |
| | | <section name="httpLogging" overrideModeDefault="Deny" /> |
| | | <section name="httpProtocol" overrideModeDefault="Allow" /> |
| | | <section name="httpRedirect" overrideModeDefault="Allow" /> |
| | | <section name="httpTracing" overrideModeDefault="Deny" /> |
| | | <section name="isapiFilters" allowDefinition="MachineToApplication" overrideModeDefault="Deny" /> |
| | | <section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Deny" /> |
| | | <section name="applicationInitialization" allowDefinition="MachineToApplication" overrideModeDefault="Allow" /> |
| | | <section name="odbcLogging" overrideModeDefault="Deny" /> |
| | | <sectionGroup name="security"> |
| | | <section name="access" overrideModeDefault="Deny" /> |
| | | <section name="applicationDependencies" overrideModeDefault="Deny" /> |
| | | <sectionGroup name="authentication"> |
| | | <section name="anonymousAuthentication" overrideModeDefault="Deny" /> |
| | | <section name="basicAuthentication" overrideModeDefault="Deny" /> |
| | | <section name="clientCertificateMappingAuthentication" overrideModeDefault="Deny" /> |
| | | <section name="digestAuthentication" overrideModeDefault="Deny" /> |
| | | <section name="iisClientCertificateMappingAuthentication" overrideModeDefault="Deny" /> |
| | | <section name="windowsAuthentication" overrideModeDefault="Deny" /> |
| | | </sectionGroup> |
| | | <section name="authorization" overrideModeDefault="Allow" /> |
| | | <section name="ipSecurity" overrideModeDefault="Deny" /> |
| | | <section name="dynamicIpSecurity" overrideModeDefault="Deny" /> |
| | | <section name="isapiCgiRestriction" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> |
| | | <section name="requestFiltering" overrideModeDefault="Allow" /> |
| | | </sectionGroup> |
| | | <section name="serverRuntime" overrideModeDefault="Deny" /> |
| | | <section name="serverSideInclude" overrideModeDefault="Deny" /> |
| | | <section name="staticContent" overrideModeDefault="Allow" /> |
| | | <sectionGroup name="tracing"> |
| | | <section name="traceFailedRequests" overrideModeDefault="Allow" /> |
| | | <section name="traceProviderDefinitions" overrideModeDefault="Deny" /> |
| | | </sectionGroup> |
| | | <section name="urlCompression" overrideModeDefault="Allow" /> |
| | | <section name="validation" overrideModeDefault="Allow" /> |
| | | <sectionGroup name="webdav"> |
| | | <section name="globalSettings" overrideModeDefault="Deny" /> |
| | | <section name="authoring" overrideModeDefault="Deny" /> |
| | | <section name="authoringRules" overrideModeDefault="Deny" /> |
| | | </sectionGroup> |
| | | <sectionGroup name="rewrite"> |
| | | <section name="allowedServerVariables" overrideModeDefault="Deny" /> |
| | | <section name="rules" overrideModeDefault="Allow" /> |
| | | <section name="outboundRules" overrideModeDefault="Allow" /> |
| | | <section name="globalRules" overrideModeDefault="Deny" allowDefinition="AppHostOnly" /> |
| | | <section name="providers" overrideModeDefault="Allow" /> |
| | | <section name="rewriteMaps" overrideModeDefault="Allow" /> |
| | | </sectionGroup> |
| | | <section name="webSocket" overrideModeDefault="Deny" /> |
| | | <section name="aspNetCore" overrideModeDefault="Allow" /></sectionGroup> |
| | | </configSections> |
| | | <configProtectedData> |
| | | <providers> |
| | | <add name="IISWASOnlyRsaProvider" type="" description="Uses RsaCryptoServiceProvider to encrypt and decrypt" keyContainerName="iisWasKey" cspProviderName="" useMachineContainer="true" useOAEP="false" /> |
| | | <add name="AesProvider" type="Microsoft.ApplicationHost.AesProtectedConfigurationProvider" description="Uses an AES session key to encrypt and decrypt" keyContainerName="iisConfigurationKey" cspProviderName="" useOAEP="false" useMachineContainer="true" sessionKey="AQIAAA5mAAAApAAA/HKxkz6alrlAPez0IUgujj/6k3WxCDriHp6jvpv3yEZmo7h6SMzGLxo4mTrIQVHSkB7tmElHKfUFTzE2BWF7nFWHY6Z6qmGBauFzwJMwESjril7Gjz69RBFH259HQ6aRDq9Xfx7U7H4HtdmnKNqGjgl/hwPQBGeIlWiDh+sYv3vKB0QU971tjX6H2B+9armlnC8UOuA6JYMDMI/VLLL16sng0fWAy5JYe0YVABVjiAWDW264RZW9Tr1Oax4qHZKg+SdjULxeOc2YmpX+d0yeITo1HkPF1hN1gHpIPIUDo05ilHUNfR3OkjVCIQK4cFKCq1s8NH+y+13MxUC4Fn1AlQ==" /> |
| | | <add name="IISWASOnlyAesProvider" type="Microsoft.ApplicationHost.AesProtectedConfigurationProvider" description="Uses an AES session key to encrypt and decrypt" keyContainerName="iisWasKey" cspProviderName="" useOAEP="false" useMachineContainer="true" sessionKey="AQIAAA5mAAAApAAALmU8lTC+v2qtfQiiiquvvLpUQqKLEXs+jSKoWCM/uPhyB++k4dwug19mGidNK5FYiWK2KYE1yhjVJcbp12E98Q0R2nT7eBiCMY2JairxQ591rqABK7keGaIjwH7PwGzSpILl3RJ4YFvJ/7ZXEJxeDZIjW8ZxWVXx+/VyHs9U3WguLEkgMUX3jrxJi8LouxaIVPJAv/YQ1ZCWs8zImitxX/C/7o7yaIxznfsN5nGQzQfpUDPeby99aw2zPVTtZI2LaWIBON8guABvZ6JtJVDWmfdK6sodbnwdZkr6/Z2rfvamT1dC1SpQrGG7ulR/f9/GXvCaW10ZVKxekBF/CYlNMg==" /> |
| | | </providers> |
| | | </configProtectedData> |
| | | <system.applicationHost> |
| | | <applicationPools> |
| | | <add name="Clr4IntegratedAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" /> |
| | | <add name="Clr4ClassicAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Classic" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" /> |
| | | <add name="Clr2IntegratedAppPool" managedRuntimeVersion="v2.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" /> |
| | | <add name="Clr2ClassicAppPool" managedRuntimeVersion="v2.0" managedPipelineMode="Classic" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" /> |
| | | <add name="UnmanagedClassicAppPool" managedRuntimeVersion="" managedPipelineMode="Classic" autoStart="true" /> |
| | | <applicationPoolDefaults managedRuntimeVersion="v4.0"> |
| | | <processModel loadUserProfile="true" setProfileEnvironment="false" /> |
| | | </applicationPoolDefaults> |
| | | </applicationPools> |
| | | <!-- |
| | | |
| | | The <listenerAdapters> section defines the protocols with which the |
| | | Windows Process Activation Service (WAS) binds. |
| | | |
| | | --> |
| | | <listenerAdapters> |
| | | <add name="http" /> |
| | | </listenerAdapters> |
| | | <sites> |
| | | <site name="WebSite1" id="1" serverAutoStart="true"> |
| | | <application path="/"> |
| | | <virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" /> |
| | | </application> |
| | | <bindings> |
| | | <binding protocol="http" bindingInformation=":8080:localhost" /> |
| | | </bindings> |
| | | </site> |
| | | <site name="Yokogawa.TLSVP.Api.WebSite" id="2"> |
| | | <application path="/" applicationPool="Clr4IntegratedAppPool"> |
| | | <virtualDirectory path="/" physicalPath="D:\Solution\GTech.Solution.Api.WebSite" /> |
| | | </application> |
| | | <bindings> |
| | | <binding protocol="http" bindingInformation="*:2306:localhost" /> |
| | | </bindings> |
| | | </site> |
| | | <siteDefaults> |
| | | <!-- To enable logging, please change the below attribute "enabled" to "true" --> |
| | | <logFile logFormat="W3C" directory="%AppData%\Microsoft\IISExpressLogs" enabled="false" /> |
| | | <traceFailedRequestsLogging directory="%AppData%\Microsoft" enabled="false" maxLogFileSizeKB="1024" /> |
| | | </siteDefaults> |
| | | <applicationDefaults applicationPool="Clr4IntegratedAppPool" /> |
| | | <virtualDirectoryDefaults allowSubDirConfig="true" /> |
| | | </sites> |
| | | <webLimits /> |
| | | </system.applicationHost> |
| | | <system.webServer> |
| | | <serverRuntime /> |
| | | <asp scriptErrorSentToBrowser="true"> |
| | | <cache diskTemplateCacheDirectory="%TEMP%\iisexpress\ASP Compiled Templates" /> |
| | | <limits /> |
| | | </asp> |
| | | <caching enabled="true" enableKernelCache="true"> |
| | | </caching> |
| | | <cgi /> |
| | | <defaultDocument enabled="true"> |
| | | <files> |
| | | <add value="Default.htm" /> |
| | | <add value="Default.asp" /> |
| | | <add value="index.htm" /> |
| | | <add value="index.html" /> |
| | | <add value="iisstart.htm" /> |
| | | <add value="default.aspx" /> |
| | | </files> |
| | | </defaultDocument> |
| | | <directoryBrowse enabled="false" /> |
| | | <fastCgi /> |
| | | <!-- |
| | | |
| | | The <globalModules> section defines all native-code modules. |
| | | To enable a module, specify it in the <modules> section. |
| | | |
| | | --> |
| | | <globalModules> |
| | | <add name="HttpLoggingModule" image="%IIS_BIN%\loghttp.dll" /> |
| | | <add name="UriCacheModule" image="%IIS_BIN%\cachuri.dll" /> |
| | | <add name="TokenCacheModule" image="%IIS_BIN%\cachtokn.dll" /> |
| | | <add name="DynamicCompressionModule" image="%IIS_BIN%\compdyn.dll" /> |
| | | <add name="StaticCompressionModule" image="%IIS_BIN%\compstat.dll" /> |
| | | <add name="DefaultDocumentModule" image="%IIS_BIN%\defdoc.dll" /> |
| | | <add name="DirectoryListingModule" image="%IIS_BIN%\dirlist.dll" /> |
| | | <add name="ProtocolSupportModule" image="%IIS_BIN%\protsup.dll" /> |
| | | <add name="HttpRedirectionModule" image="%IIS_BIN%\redirect.dll" /> |
| | | <add name="ServerSideIncludeModule" image="%IIS_BIN%\iis_ssi.dll" /> |
| | | <add name="StaticFileModule" image="%IIS_BIN%\static.dll" /> |
| | | <add name="AnonymousAuthenticationModule" image="%IIS_BIN%\authanon.dll" /> |
| | | <add name="CertificateMappingAuthenticationModule" image="%IIS_BIN%\authcert.dll" /> |
| | | <add name="UrlAuthorizationModule" image="%IIS_BIN%\urlauthz.dll" /> |
| | | <add name="BasicAuthenticationModule" image="%IIS_BIN%\authbas.dll" /> |
| | | <add name="WindowsAuthenticationModule" image="%IIS_BIN%\authsspi.dll" /> |
| | | <add name="IISCertificateMappingAuthenticationModule" image="%IIS_BIN%\authmap.dll" /> |
| | | <add name="IpRestrictionModule" image="%IIS_BIN%\iprestr.dll" /> |
| | | <add name="DynamicIpRestrictionModule" image="%IIS_BIN%\diprestr.dll" /> |
| | | <add name="RequestFilteringModule" image="%IIS_BIN%\modrqflt.dll" /> |
| | | <add name="CustomLoggingModule" image="%IIS_BIN%\logcust.dll" /> |
| | | <add name="CustomErrorModule" image="%IIS_BIN%\custerr.dll" /> |
| | | <add name="FailedRequestsTracingModule" image="%IIS_BIN%\iisfreb.dll" /> |
| | | <add name="RequestMonitorModule" image="%IIS_BIN%\iisreqs.dll" /> |
| | | <add name="IsapiModule" image="%IIS_BIN%\isapi.dll" /> |
| | | <add name="IsapiFilterModule" image="%IIS_BIN%\filter.dll" /> |
| | | <add name="CgiModule" image="%IIS_BIN%\cgi.dll" /> |
| | | <add name="FastCgiModule" image="%IIS_BIN%\iisfcgi.dll" /> |
| | | <!-- <add name="WebDAVModule" image="%IIS_BIN%\webdav.dll" /> --> |
| | | <add name="RewriteModule" image="%IIS_BIN%\rewrite.dll" /> |
| | | <add name="ConfigurationValidationModule" image="%IIS_BIN%\validcfg.dll" /> |
| | | <add name="WebSocketModule" image="%IIS_BIN%\iiswsock.dll" /> |
| | | <add name="WebMatrixSupportModule" image="%IIS_BIN%\webmatrixsup.dll" /> |
| | | <add name="ManagedEngine" image="%windir%\Microsoft.NET\Framework\v2.0.50727\webengine.dll" preCondition="integratedMode,runtimeVersionv2.0,bitness32" /> |
| | | <add name="ManagedEngine64" image="%windir%\Microsoft.NET\Framework64\v2.0.50727\webengine.dll" preCondition="integratedMode,runtimeVersionv2.0,bitness64" /> |
| | | <add name="ManagedEngineV4.0_32bit" image="%windir%\Microsoft.NET\Framework\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness32" /> |
| | | <add name="ManagedEngineV4.0_64bit" image="%windir%\Microsoft.NET\Framework64\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness64" /> |
| | | <add name="ApplicationInitializationModule" image="%IIS_BIN%\warmup.dll" /> |
| | | <add name="AspNetCoreModule" image="%IIS_BIN%\aspnetcore.dll" /> |
| | | <add name="AspNetCoreModuleV2" image="%IIS_BIN%\Asp.Net Core Module\V2\aspnetcorev2.dll" /> |
| | | </globalModules> |
| | | <httpCompression directory="%TEMP%"> |
| | | <scheme name="gzip" dll="%IIS_BIN%\gzip.dll" /> |
| | | <dynamicTypes> |
| | | <add mimeType="text/*" enabled="true" /> |
| | | <add mimeType="message/*" enabled="true" /> |
| | | <add mimeType="application/x-javascript" enabled="true" /> |
| | | <add mimeType="application/javascript" enabled="true" /> |
| | | <add mimeType="*/*" enabled="false" /> |
| | | </dynamicTypes> |
| | | <staticTypes> |
| | | <add mimeType="text/*" enabled="true" /> |
| | | <add mimeType="message/*" enabled="true" /> |
| | | <add mimeType="application/javascript" enabled="true" /> |
| | | <add mimeType="application/atom+xml" enabled="true" /> |
| | | <add mimeType="application/xaml+xml" enabled="true" /> |
| | | <add mimeType="image/svg+xml" enabled="true" /> |
| | | <add mimeType="*/*" enabled="false" /> |
| | | </staticTypes> |
| | | </httpCompression> |
| | | <httpErrors lockAttributes="allowAbsolutePathsWhenDelegated,defaultPath"> |
| | | <error statusCode="401" prefixLanguageFilePath="%IIS_BIN%\custerr" path="401.htm" /> |
| | | <error statusCode="403" prefixLanguageFilePath="%IIS_BIN%\custerr" path="403.htm" /> |
| | | <error statusCode="404" prefixLanguageFilePath="%IIS_BIN%\custerr" path="404.htm" /> |
| | | <error statusCode="405" prefixLanguageFilePath="%IIS_BIN%\custerr" path="405.htm" /> |
| | | <error statusCode="406" prefixLanguageFilePath="%IIS_BIN%\custerr" path="406.htm" /> |
| | | <error statusCode="412" prefixLanguageFilePath="%IIS_BIN%\custerr" path="412.htm" /> |
| | | <error statusCode="500" prefixLanguageFilePath="%IIS_BIN%\custerr" path="500.htm" /> |
| | | <error statusCode="501" prefixLanguageFilePath="%IIS_BIN%\custerr" path="501.htm" /> |
| | | <error statusCode="502" prefixLanguageFilePath="%IIS_BIN%\custerr" path="502.htm" /> |
| | | </httpErrors> |
| | | <httpLogging dontLog="false" /> |
| | | <httpProtocol> |
| | | <customHeaders> |
| | | <clear /> |
| | | <add name="X-Powered-By" value="ASP.NET" /> |
| | | </customHeaders> |
| | | <redirectHeaders> |
| | | <clear /> |
| | | </redirectHeaders> |
| | | </httpProtocol> |
| | | <httpRedirect enabled="false" /> |
| | | <httpTracing /> |
| | | <isapiFilters> |
| | | <filter name="ASP.Net_2.0.50727-64" path="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_filter.dll" enableCache="true" preCondition="bitness64,runtimeVersionv2.0" /> |
| | | <filter name="ASP.Net_2.0.50727.0" path="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_filter.dll" enableCache="true" preCondition="bitness32,runtimeVersionv2.0" /> |
| | | <filter name="ASP.Net_2.0_for_v1.1" path="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_filter.dll" enableCache="true" preCondition="runtimeVersionv1.1" /> |
| | | <filter name="ASP.Net_4.0_32bit" path="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_filter.dll" enableCache="true" preCondition="bitness32,runtimeVersionv4.0" /> |
| | | <filter name="ASP.Net_4.0_64bit" path="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_filter.dll" enableCache="true" preCondition="bitness64,runtimeVersionv4.0" /> |
| | | </isapiFilters> |
| | | <odbcLogging /> |
| | | <security> |
| | | <access sslFlags="None" /> |
| | | <applicationDependencies> |
| | | <application name="Active Server Pages" groupId="ASP" /> |
| | | </applicationDependencies> |
| | | <authentication> |
| | | <anonymousAuthentication enabled="true" userName="" /> |
| | | <basicAuthentication enabled="false" /> |
| | | <clientCertificateMappingAuthentication enabled="false" /> |
| | | <digestAuthentication enabled="false" /> |
| | | <iisClientCertificateMappingAuthentication enabled="false"> |
| | | </iisClientCertificateMappingAuthentication> |
| | | <windowsAuthentication enabled="false"> |
| | | <providers> |
| | | <add value="Negotiate" /> |
| | | <add value="NTLM" /> |
| | | </providers> |
| | | </windowsAuthentication> |
| | | </authentication> |
| | | <authorization> |
| | | <add accessType="Allow" users="*" /> |
| | | </authorization> |
| | | <ipSecurity allowUnlisted="true" /> |
| | | <isapiCgiRestriction notListedIsapisAllowed="true" notListedCgisAllowed="true"> |
| | | <add path="%windir%\Microsoft.NET\Framework64\v4.0.30319\webengine4.dll" allowed="true" groupId="ASP.NET_v4.0" description="ASP.NET_v4.0" /> |
| | | <add path="%windir%\Microsoft.NET\Framework\v4.0.30319\webengine4.dll" allowed="true" groupId="ASP.NET_v4.0" description="ASP.NET_v4.0" /> |
| | | <add path="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" allowed="true" groupId="ASP.NET v2.0.50727" description="ASP.NET v2.0.50727" /> |
| | | <add path="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" allowed="true" groupId="ASP.NET v2.0.50727" description="ASP.NET v2.0.50727" /> |
| | | </isapiCgiRestriction> |
| | | <requestFiltering> |
| | | <fileExtensions allowUnlisted="true" applyToWebDAV="true"> |
| | | <add fileExtension=".asa" allowed="false" /> |
| | | <add fileExtension=".asax" allowed="false" /> |
| | | <add fileExtension=".ascx" allowed="false" /> |
| | | <add fileExtension=".master" allowed="false" /> |
| | | <add fileExtension=".skin" allowed="false" /> |
| | | <add fileExtension=".browser" allowed="false" /> |
| | | <add fileExtension=".sitemap" allowed="false" /> |
| | | <add fileExtension=".config" allowed="false" /> |
| | | <add fileExtension=".cs" allowed="false" /> |
| | | <add fileExtension=".csproj" allowed="false" /> |
| | | <add fileExtension=".vb" allowed="false" /> |
| | | <add fileExtension=".vbproj" allowed="false" /> |
| | | <add fileExtension=".webinfo" allowed="false" /> |
| | | <add fileExtension=".licx" allowed="false" /> |
| | | <add fileExtension=".resx" allowed="false" /> |
| | | <add fileExtension=".resources" allowed="false" /> |
| | | <add fileExtension=".mdb" allowed="false" /> |
| | | <add fileExtension=".vjsproj" allowed="false" /> |
| | | <add fileExtension=".java" allowed="false" /> |
| | | <add fileExtension=".jsl" allowed="false" /> |
| | | <add fileExtension=".ldb" allowed="false" /> |
| | | <add fileExtension=".dsdgm" allowed="false" /> |
| | | <add fileExtension=".ssdgm" allowed="false" /> |
| | | <add fileExtension=".lsad" allowed="false" /> |
| | | <add fileExtension=".ssmap" allowed="false" /> |
| | | <add fileExtension=".cd" allowed="false" /> |
| | | <add fileExtension=".dsprototype" allowed="false" /> |
| | | <add fileExtension=".lsaprototype" allowed="false" /> |
| | | <add fileExtension=".sdm" allowed="false" /> |
| | | <add fileExtension=".sdmDocument" allowed="false" /> |
| | | <add fileExtension=".mdf" allowed="false" /> |
| | | <add fileExtension=".ldf" allowed="false" /> |
| | | <add fileExtension=".ad" allowed="false" /> |
| | | <add fileExtension=".dd" allowed="false" /> |
| | | <add fileExtension=".ldd" allowed="false" /> |
| | | <add fileExtension=".sd" allowed="false" /> |
| | | <add fileExtension=".adprototype" allowed="false" /> |
| | | <add fileExtension=".lddprototype" allowed="false" /> |
| | | <add fileExtension=".exclude" allowed="false" /> |
| | | <add fileExtension=".refresh" allowed="false" /> |
| | | <add fileExtension=".compiled" allowed="false" /> |
| | | <add fileExtension=".msgx" allowed="false" /> |
| | | <add fileExtension=".vsdisco" allowed="false" /> |
| | | <add fileExtension=".rules" allowed="false" /> |
| | | </fileExtensions> |
| | | <verbs allowUnlisted="true" applyToWebDAV="true" /> |
| | | <hiddenSegments applyToWebDAV="true"> |
| | | <add segment="web.config" /> |
| | | <add segment="bin" /> |
| | | <add segment="App_code" /> |
| | | <add segment="App_GlobalResources" /> |
| | | <add segment="App_LocalResources" /> |
| | | <add segment="App_WebReferences" /> |
| | | <add segment="App_Data" /> |
| | | <add segment="App_Browsers" /> |
| | | </hiddenSegments> |
| | | </requestFiltering> |
| | | </security> |
| | | <serverSideInclude ssiExecDisable="false" /> |
| | | <staticContent lockAttributes="isDocFooterFileName"> |
| | | <mimeMap fileExtension=".323" mimeType="text/h323" /> |
| | | <mimeMap fileExtension=".3g2" mimeType="video/3gpp2" /> |
| | | <mimeMap fileExtension=".3gp2" mimeType="video/3gpp2" /> |
| | | <mimeMap fileExtension=".3gp" mimeType="video/3gpp" /> |
| | | <mimeMap fileExtension=".3gpp" mimeType="video/3gpp" /> |
| | | <mimeMap fileExtension=".aac" mimeType="audio/aac" /> |
| | | <mimeMap fileExtension=".aaf" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".aca" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".accdb" mimeType="application/msaccess" /> |
| | | <mimeMap fileExtension=".accde" mimeType="application/msaccess" /> |
| | | <mimeMap fileExtension=".accdt" mimeType="application/msaccess" /> |
| | | <mimeMap fileExtension=".acx" mimeType="application/internet-property-stream" /> |
| | | <mimeMap fileExtension=".adt" mimeType="audio/vnd.dlna.adts" /> |
| | | <mimeMap fileExtension=".adts" mimeType="audio/vnd.dlna.adts" /> |
| | | <mimeMap fileExtension=".afm" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".ai" mimeType="application/postscript" /> |
| | | <mimeMap fileExtension=".aif" mimeType="audio/x-aiff" /> |
| | | <mimeMap fileExtension=".aifc" mimeType="audio/aiff" /> |
| | | <mimeMap fileExtension=".aiff" mimeType="audio/aiff" /> |
| | | <mimeMap fileExtension=".appcache" mimeType="text/cache-manifest" /> |
| | | <mimeMap fileExtension=".application" mimeType="application/x-ms-application" /> |
| | | <mimeMap fileExtension=".art" mimeType="image/x-jg" /> |
| | | <mimeMap fileExtension=".asd" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".asf" mimeType="video/x-ms-asf" /> |
| | | <mimeMap fileExtension=".asi" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".asm" mimeType="text/plain" /> |
| | | <mimeMap fileExtension=".asr" mimeType="video/x-ms-asf" /> |
| | | <mimeMap fileExtension=".asx" mimeType="video/x-ms-asf" /> |
| | | <mimeMap fileExtension=".atom" mimeType="application/atom+xml" /> |
| | | <mimeMap fileExtension=".au" mimeType="audio/basic" /> |
| | | <mimeMap fileExtension=".avi" mimeType="video/avi" /> |
| | | <mimeMap fileExtension=".axs" mimeType="application/olescript" /> |
| | | <mimeMap fileExtension=".bas" mimeType="text/plain" /> |
| | | <mimeMap fileExtension=".bcpio" mimeType="application/x-bcpio" /> |
| | | <mimeMap fileExtension=".bin" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".bmp" mimeType="image/bmp" /> |
| | | <mimeMap fileExtension=".c" mimeType="text/plain" /> |
| | | <mimeMap fileExtension=".cab" mimeType="application/vnd.ms-cab-compressed" /> |
| | | <mimeMap fileExtension=".calx" mimeType="application/vnd.ms-office.calx" /> |
| | | <mimeMap fileExtension=".cat" mimeType="application/vnd.ms-pki.seccat" /> |
| | | <mimeMap fileExtension=".cdf" mimeType="application/x-cdf" /> |
| | | <mimeMap fileExtension=".chm" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".class" mimeType="application/x-java-applet" /> |
| | | <mimeMap fileExtension=".clp" mimeType="application/x-msclip" /> |
| | | <mimeMap fileExtension=".cmx" mimeType="image/x-cmx" /> |
| | | <mimeMap fileExtension=".cnf" mimeType="text/plain" /> |
| | | <mimeMap fileExtension=".cod" mimeType="image/cis-cod" /> |
| | | <mimeMap fileExtension=".cpio" mimeType="application/x-cpio" /> |
| | | <mimeMap fileExtension=".cpp" mimeType="text/plain" /> |
| | | <mimeMap fileExtension=".crd" mimeType="application/x-mscardfile" /> |
| | | <mimeMap fileExtension=".crl" mimeType="application/pkix-crl" /> |
| | | <mimeMap fileExtension=".crt" mimeType="application/x-x509-ca-cert" /> |
| | | <mimeMap fileExtension=".csh" mimeType="application/x-csh" /> |
| | | <mimeMap fileExtension=".css" mimeType="text/css" /> |
| | | <mimeMap fileExtension=".csv" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".cur" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".dcr" mimeType="application/x-director" /> |
| | | <mimeMap fileExtension=".deploy" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".der" mimeType="application/x-x509-ca-cert" /> |
| | | <mimeMap fileExtension=".dib" mimeType="image/bmp" /> |
| | | <mimeMap fileExtension=".dir" mimeType="application/x-director" /> |
| | | <mimeMap fileExtension=".disco" mimeType="text/xml" /> |
| | | <mimeMap fileExtension=".dll" mimeType="application/x-msdownload" /> |
| | | <mimeMap fileExtension=".dll.config" mimeType="text/xml" /> |
| | | <mimeMap fileExtension=".dlm" mimeType="text/dlm" /> |
| | | <mimeMap fileExtension=".doc" mimeType="application/msword" /> |
| | | <mimeMap fileExtension=".docm" mimeType="application/vnd.ms-word.document.macroEnabled.12" /> |
| | | <mimeMap fileExtension=".docx" mimeType="application/vnd.openxmlformats-officedocument.wordprocessingml.document" /> |
| | | <mimeMap fileExtension=".dot" mimeType="application/msword" /> |
| | | <mimeMap fileExtension=".dotm" mimeType="application/vnd.ms-word.template.macroEnabled.12" /> |
| | | <mimeMap fileExtension=".dotx" mimeType="application/vnd.openxmlformats-officedocument.wordprocessingml.template" /> |
| | | <mimeMap fileExtension=".dsp" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".dtd" mimeType="text/xml" /> |
| | | <mimeMap fileExtension=".dvi" mimeType="application/x-dvi" /> |
| | | <mimeMap fileExtension=".dvr-ms" mimeType="video/x-ms-dvr" /> |
| | | <mimeMap fileExtension=".dwf" mimeType="drawing/x-dwf" /> |
| | | <mimeMap fileExtension=".dwp" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".dxr" mimeType="application/x-director" /> |
| | | <mimeMap fileExtension=".eml" mimeType="message/rfc822" /> |
| | | <mimeMap fileExtension=".emz" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" /> |
| | | <mimeMap fileExtension=".eps" mimeType="application/postscript" /> |
| | | <mimeMap fileExtension=".esd" mimeType="application/vnd.ms-cab-compressed" /> |
| | | <mimeMap fileExtension=".etx" mimeType="text/x-setext" /> |
| | | <mimeMap fileExtension=".evy" mimeType="application/envoy" /> |
| | | <mimeMap fileExtension=".exe" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".exe.config" mimeType="text/xml" /> |
| | | <mimeMap fileExtension=".fdf" mimeType="application/vnd.fdf" /> |
| | | <mimeMap fileExtension=".fif" mimeType="application/fractals" /> |
| | | <mimeMap fileExtension=".fla" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".flr" mimeType="x-world/x-vrml" /> |
| | | <mimeMap fileExtension=".flv" mimeType="video/x-flv" /> |
| | | <mimeMap fileExtension=".gif" mimeType="image/gif" /> |
| | | <mimeMap fileExtension=".glb" mimeType="model/gltf-binary" /> |
| | | <mimeMap fileExtension=".gtar" mimeType="application/x-gtar" /> |
| | | <mimeMap fileExtension=".gz" mimeType="application/x-gzip" /> |
| | | <mimeMap fileExtension=".h" mimeType="text/plain" /> |
| | | <mimeMap fileExtension=".hdf" mimeType="application/x-hdf" /> |
| | | <mimeMap fileExtension=".hdml" mimeType="text/x-hdml" /> |
| | | <mimeMap fileExtension=".hhc" mimeType="application/x-oleobject" /> |
| | | <mimeMap fileExtension=".hhk" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".hhp" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".hlp" mimeType="application/winhlp" /> |
| | | <mimeMap fileExtension=".hqx" mimeType="application/mac-binhex40" /> |
| | | <mimeMap fileExtension=".hta" mimeType="application/hta" /> |
| | | <mimeMap fileExtension=".htc" mimeType="text/x-component" /> |
| | | <mimeMap fileExtension=".htm" mimeType="text/html" /> |
| | | <mimeMap fileExtension=".html" mimeType="text/html" /> |
| | | <mimeMap fileExtension=".htt" mimeType="text/webviewhtml" /> |
| | | <mimeMap fileExtension=".hxt" mimeType="text/html" /> |
| | | <mimeMap fileExtension=".ico" mimeType="image/x-icon" /> |
| | | <mimeMap fileExtension=".ics" mimeType="text/calendar" /> |
| | | <mimeMap fileExtension=".ief" mimeType="image/ief" /> |
| | | <mimeMap fileExtension=".iii" mimeType="application/x-iphone" /> |
| | | <mimeMap fileExtension=".inf" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".ins" mimeType="application/x-internet-signup" /> |
| | | <mimeMap fileExtension=".isp" mimeType="application/x-internet-signup" /> |
| | | <mimeMap fileExtension=".IVF" mimeType="video/x-ivf" /> |
| | | <mimeMap fileExtension=".jar" mimeType="application/java-archive" /> |
| | | <mimeMap fileExtension=".java" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".jck" mimeType="application/liquidmotion" /> |
| | | <mimeMap fileExtension=".jcz" mimeType="application/liquidmotion" /> |
| | | <mimeMap fileExtension=".jfif" mimeType="image/pjpeg" /> |
| | | <mimeMap fileExtension=".jpb" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".jpe" mimeType="image/jpeg" /> |
| | | <mimeMap fileExtension=".jpeg" mimeType="image/jpeg" /> |
| | | <mimeMap fileExtension=".jpg" mimeType="image/jpeg" /> |
| | | <mimeMap fileExtension=".js" mimeType="application/javascript" /> |
| | | <mimeMap fileExtension=".json" mimeType="application/json" /> |
| | | <mimeMap fileExtension=".jsonld" mimeType="application/ld+json" /> |
| | | <mimeMap fileExtension=".jsx" mimeType="text/jscript" /> |
| | | <mimeMap fileExtension=".latex" mimeType="application/x-latex" /> |
| | | <mimeMap fileExtension=".less" mimeType="text/css" /> |
| | | <mimeMap fileExtension=".lit" mimeType="application/x-ms-reader" /> |
| | | <mimeMap fileExtension=".lpk" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".lsf" mimeType="video/x-la-asf" /> |
| | | <mimeMap fileExtension=".lsx" mimeType="video/x-la-asf" /> |
| | | <mimeMap fileExtension=".lzh" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".m13" mimeType="application/x-msmediaview" /> |
| | | <mimeMap fileExtension=".m14" mimeType="application/x-msmediaview" /> |
| | | <mimeMap fileExtension=".m1v" mimeType="video/mpeg" /> |
| | | <mimeMap fileExtension=".m2ts" mimeType="video/vnd.dlna.mpeg-tts" /> |
| | | <mimeMap fileExtension=".m3u" mimeType="audio/x-mpegurl" /> |
| | | <mimeMap fileExtension=".m4a" mimeType="audio/mp4" /> |
| | | <mimeMap fileExtension=".m4v" mimeType="video/mp4" /> |
| | | <mimeMap fileExtension=".man" mimeType="application/x-troff-man" /> |
| | | <mimeMap fileExtension=".manifest" mimeType="application/x-ms-manifest" /> |
| | | <mimeMap fileExtension=".map" mimeType="text/plain" /> |
| | | <mimeMap fileExtension=".mdb" mimeType="application/x-msaccess" /> |
| | | <mimeMap fileExtension=".mdp" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".me" mimeType="application/x-troff-me" /> |
| | | <mimeMap fileExtension=".mht" mimeType="message/rfc822" /> |
| | | <mimeMap fileExtension=".mhtml" mimeType="message/rfc822" /> |
| | | <mimeMap fileExtension=".mid" mimeType="audio/mid" /> |
| | | <mimeMap fileExtension=".midi" mimeType="audio/mid" /> |
| | | <mimeMap fileExtension=".mix" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".mmf" mimeType="application/x-smaf" /> |
| | | <mimeMap fileExtension=".mno" mimeType="text/xml" /> |
| | | <mimeMap fileExtension=".mny" mimeType="application/x-msmoney" /> |
| | | <mimeMap fileExtension=".mov" mimeType="video/quicktime" /> |
| | | <mimeMap fileExtension=".movie" mimeType="video/x-sgi-movie" /> |
| | | <mimeMap fileExtension=".mp2" mimeType="video/mpeg" /> |
| | | <mimeMap fileExtension=".mp3" mimeType="audio/mpeg" /> |
| | | <mimeMap fileExtension=".mp4" mimeType="video/mp4" /> |
| | | <mimeMap fileExtension=".mp4v" mimeType="video/mp4" /> |
| | | <mimeMap fileExtension=".mpa" mimeType="video/mpeg" /> |
| | | <mimeMap fileExtension=".mpe" mimeType="video/mpeg" /> |
| | | <mimeMap fileExtension=".mpeg" mimeType="video/mpeg" /> |
| | | <mimeMap fileExtension=".mpg" mimeType="video/mpeg" /> |
| | | <mimeMap fileExtension=".mpp" mimeType="application/vnd.ms-project" /> |
| | | <mimeMap fileExtension=".mpv2" mimeType="video/mpeg" /> |
| | | <mimeMap fileExtension=".ms" mimeType="application/x-troff-ms" /> |
| | | <mimeMap fileExtension=".msi" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".mso" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".mvb" mimeType="application/x-msmediaview" /> |
| | | <mimeMap fileExtension=".mvc" mimeType="application/x-miva-compiled" /> |
| | | <mimeMap fileExtension=".nc" mimeType="application/x-netcdf" /> |
| | | <mimeMap fileExtension=".nsc" mimeType="video/x-ms-asf" /> |
| | | <mimeMap fileExtension=".nws" mimeType="message/rfc822" /> |
| | | <mimeMap fileExtension=".ocx" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".oda" mimeType="application/oda" /> |
| | | <mimeMap fileExtension=".odc" mimeType="text/x-ms-odc" /> |
| | | <mimeMap fileExtension=".ods" mimeType="application/oleobject" /> |
| | | <mimeMap fileExtension=".oga" mimeType="audio/ogg" /> |
| | | <mimeMap fileExtension=".ogg" mimeType="video/ogg" /> |
| | | <mimeMap fileExtension=".ogv" mimeType="video/ogg" /> |
| | | <mimeMap fileExtension=".one" mimeType="application/onenote" /> |
| | | <mimeMap fileExtension=".onea" mimeType="application/onenote" /> |
| | | <mimeMap fileExtension=".onetoc" mimeType="application/onenote" /> |
| | | <mimeMap fileExtension=".onetoc2" mimeType="application/onenote" /> |
| | | <mimeMap fileExtension=".onetmp" mimeType="application/onenote" /> |
| | | <mimeMap fileExtension=".onepkg" mimeType="application/onenote" /> |
| | | <mimeMap fileExtension=".osdx" mimeType="application/opensearchdescription+xml" /> |
| | | <mimeMap fileExtension=".otf" mimeType="font/otf" /> |
| | | <mimeMap fileExtension=".p10" mimeType="application/pkcs10" /> |
| | | <mimeMap fileExtension=".p12" mimeType="application/x-pkcs12" /> |
| | | <mimeMap fileExtension=".p7b" mimeType="application/x-pkcs7-certificates" /> |
| | | <mimeMap fileExtension=".p7c" mimeType="application/pkcs7-mime" /> |
| | | <mimeMap fileExtension=".p7m" mimeType="application/pkcs7-mime" /> |
| | | <mimeMap fileExtension=".p7r" mimeType="application/x-pkcs7-certreqresp" /> |
| | | <mimeMap fileExtension=".p7s" mimeType="application/pkcs7-signature" /> |
| | | <mimeMap fileExtension=".pbm" mimeType="image/x-portable-bitmap" /> |
| | | <mimeMap fileExtension=".pcx" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".pcz" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".pdf" mimeType="application/pdf" /> |
| | | <mimeMap fileExtension=".pfb" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".pfm" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".pfx" mimeType="application/x-pkcs12" /> |
| | | <mimeMap fileExtension=".pgm" mimeType="image/x-portable-graymap" /> |
| | | <mimeMap fileExtension=".pko" mimeType="application/vnd.ms-pki.pko" /> |
| | | <mimeMap fileExtension=".pma" mimeType="application/x-perfmon" /> |
| | | <mimeMap fileExtension=".pmc" mimeType="application/x-perfmon" /> |
| | | <mimeMap fileExtension=".pml" mimeType="application/x-perfmon" /> |
| | | <mimeMap fileExtension=".pmr" mimeType="application/x-perfmon" /> |
| | | <mimeMap fileExtension=".pmw" mimeType="application/x-perfmon" /> |
| | | <mimeMap fileExtension=".png" mimeType="image/png" /> |
| | | <mimeMap fileExtension=".pnm" mimeType="image/x-portable-anymap" /> |
| | | <mimeMap fileExtension=".pnz" mimeType="image/png" /> |
| | | <mimeMap fileExtension=".pot" mimeType="application/vnd.ms-powerpoint" /> |
| | | <mimeMap fileExtension=".potm" mimeType="application/vnd.ms-powerpoint.template.macroEnabled.12" /> |
| | | <mimeMap fileExtension=".potx" mimeType="application/vnd.openxmlformats-officedocument.presentationml.template" /> |
| | | <mimeMap fileExtension=".ppam" mimeType="application/vnd.ms-powerpoint.addin.macroEnabled.12" /> |
| | | <mimeMap fileExtension=".ppm" mimeType="image/x-portable-pixmap" /> |
| | | <mimeMap fileExtension=".pps" mimeType="application/vnd.ms-powerpoint" /> |
| | | <mimeMap fileExtension=".ppsm" mimeType="application/vnd.ms-powerpoint.slideshow.macroEnabled.12" /> |
| | | <mimeMap fileExtension=".ppsx" mimeType="application/vnd.openxmlformats-officedocument.presentationml.slideshow" /> |
| | | <mimeMap fileExtension=".ppt" mimeType="application/vnd.ms-powerpoint" /> |
| | | <mimeMap fileExtension=".pptm" mimeType="application/vnd.ms-powerpoint.presentation.macroEnabled.12" /> |
| | | <mimeMap fileExtension=".pptx" mimeType="application/vnd.openxmlformats-officedocument.presentationml.presentation" /> |
| | | <mimeMap fileExtension=".prf" mimeType="application/pics-rules" /> |
| | | <mimeMap fileExtension=".prm" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".prx" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".ps" mimeType="application/postscript" /> |
| | | <mimeMap fileExtension=".psd" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".psm" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".psp" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".pub" mimeType="application/x-mspublisher" /> |
| | | <mimeMap fileExtension=".qt" mimeType="video/quicktime" /> |
| | | <mimeMap fileExtension=".qtl" mimeType="application/x-quicktimeplayer" /> |
| | | <mimeMap fileExtension=".qxd" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".ra" mimeType="audio/x-pn-realaudio" /> |
| | | <mimeMap fileExtension=".ram" mimeType="audio/x-pn-realaudio" /> |
| | | <mimeMap fileExtension=".rar" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".ras" mimeType="image/x-cmu-raster" /> |
| | | <mimeMap fileExtension=".rf" mimeType="image/vnd.rn-realflash" /> |
| | | <mimeMap fileExtension=".rgb" mimeType="image/x-rgb" /> |
| | | <mimeMap fileExtension=".rm" mimeType="application/vnd.rn-realmedia" /> |
| | | <mimeMap fileExtension=".rmi" mimeType="audio/mid" /> |
| | | <mimeMap fileExtension=".roff" mimeType="application/x-troff" /> |
| | | <mimeMap fileExtension=".rpm" mimeType="audio/x-pn-realaudio-plugin" /> |
| | | <mimeMap fileExtension=".rtf" mimeType="application/rtf" /> |
| | | <mimeMap fileExtension=".rtx" mimeType="text/richtext" /> |
| | | <mimeMap fileExtension=".scd" mimeType="application/x-msschedule" /> |
| | | <mimeMap fileExtension=".sct" mimeType="text/scriptlet" /> |
| | | <mimeMap fileExtension=".sea" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".setpay" mimeType="application/set-payment-initiation" /> |
| | | <mimeMap fileExtension=".setreg" mimeType="application/set-registration-initiation" /> |
| | | <mimeMap fileExtension=".sgml" mimeType="text/sgml" /> |
| | | <mimeMap fileExtension=".sh" mimeType="application/x-sh" /> |
| | | <mimeMap fileExtension=".shar" mimeType="application/x-shar" /> |
| | | <mimeMap fileExtension=".sit" mimeType="application/x-stuffit" /> |
| | | <mimeMap fileExtension=".sldm" mimeType="application/vnd.ms-powerpoint.slide.macroEnabled.12" /> |
| | | <mimeMap fileExtension=".sldx" mimeType="application/vnd.openxmlformats-officedocument.presentationml.slide" /> |
| | | <mimeMap fileExtension=".smd" mimeType="audio/x-smd" /> |
| | | <mimeMap fileExtension=".smi" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".smx" mimeType="audio/x-smd" /> |
| | | <mimeMap fileExtension=".smz" mimeType="audio/x-smd" /> |
| | | <mimeMap fileExtension=".snd" mimeType="audio/basic" /> |
| | | <mimeMap fileExtension=".snp" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".spc" mimeType="application/x-pkcs7-certificates" /> |
| | | <mimeMap fileExtension=".spl" mimeType="application/futuresplash" /> |
| | | <mimeMap fileExtension=".spx" mimeType="audio/ogg" /> |
| | | <mimeMap fileExtension=".src" mimeType="application/x-wais-source" /> |
| | | <mimeMap fileExtension=".ssm" mimeType="application/streamingmedia" /> |
| | | <mimeMap fileExtension=".sst" mimeType="application/vnd.ms-pki.certstore" /> |
| | | <mimeMap fileExtension=".stl" mimeType="application/vnd.ms-pki.stl" /> |
| | | <mimeMap fileExtension=".sv4cpio" mimeType="application/x-sv4cpio" /> |
| | | <mimeMap fileExtension=".sv4crc" mimeType="application/x-sv4crc" /> |
| | | <mimeMap fileExtension=".svg" mimeType="image/svg+xml" /> |
| | | <mimeMap fileExtension=".svgz" mimeType="image/svg+xml" /> |
| | | <mimeMap fileExtension=".swf" mimeType="application/x-shockwave-flash" /> |
| | | <mimeMap fileExtension=".t" mimeType="application/x-troff" /> |
| | | <mimeMap fileExtension=".tar" mimeType="application/x-tar" /> |
| | | <mimeMap fileExtension=".tcl" mimeType="application/x-tcl" /> |
| | | <mimeMap fileExtension=".tex" mimeType="application/x-tex" /> |
| | | <mimeMap fileExtension=".texi" mimeType="application/x-texinfo" /> |
| | | <mimeMap fileExtension=".texinfo" mimeType="application/x-texinfo" /> |
| | | <mimeMap fileExtension=".tgz" mimeType="application/x-compressed" /> |
| | | <mimeMap fileExtension=".thmx" mimeType="application/vnd.ms-officetheme" /> |
| | | <mimeMap fileExtension=".thn" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".tif" mimeType="image/tiff" /> |
| | | <mimeMap fileExtension=".tiff" mimeType="image/tiff" /> |
| | | <mimeMap fileExtension=".toc" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".tr" mimeType="application/x-troff" /> |
| | | <mimeMap fileExtension=".trm" mimeType="application/x-msterminal" /> |
| | | <mimeMap fileExtension=".ts" mimeType="video/vnd.dlna.mpeg-tts" /> |
| | | <mimeMap fileExtension=".tsv" mimeType="text/tab-separated-values" /> |
| | | <mimeMap fileExtension=".ttf" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".tts" mimeType="video/vnd.dlna.mpeg-tts" /> |
| | | <mimeMap fileExtension=".txt" mimeType="text/plain" /> |
| | | <mimeMap fileExtension=".u32" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".uls" mimeType="text/iuls" /> |
| | | <mimeMap fileExtension=".ustar" mimeType="application/x-ustar" /> |
| | | <mimeMap fileExtension=".vbs" mimeType="text/vbscript" /> |
| | | <mimeMap fileExtension=".vcf" mimeType="text/x-vcard" /> |
| | | <mimeMap fileExtension=".vcs" mimeType="text/plain" /> |
| | | <mimeMap fileExtension=".vdx" mimeType="application/vnd.ms-visio.viewer" /> |
| | | <mimeMap fileExtension=".vml" mimeType="text/xml" /> |
| | | <mimeMap fileExtension=".vsd" mimeType="application/vnd.visio" /> |
| | | <mimeMap fileExtension=".vss" mimeType="application/vnd.visio" /> |
| | | <mimeMap fileExtension=".vst" mimeType="application/vnd.visio" /> |
| | | <mimeMap fileExtension=".vsto" mimeType="application/x-ms-vsto" /> |
| | | <mimeMap fileExtension=".vsw" mimeType="application/vnd.visio" /> |
| | | <mimeMap fileExtension=".vsx" mimeType="application/vnd.visio" /> |
| | | <mimeMap fileExtension=".vtx" mimeType="application/vnd.visio" /> |
| | | <mimeMap fileExtension=".wasm" mimeType="application/wasm" /> |
| | | <mimeMap fileExtension=".wav" mimeType="audio/wav" /> |
| | | <mimeMap fileExtension=".wax" mimeType="audio/x-ms-wax" /> |
| | | <mimeMap fileExtension=".wbmp" mimeType="image/vnd.wap.wbmp" /> |
| | | <mimeMap fileExtension=".wcm" mimeType="application/vnd.ms-works" /> |
| | | <mimeMap fileExtension=".wdb" mimeType="application/vnd.ms-works" /> |
| | | <mimeMap fileExtension=".webm" mimeType="video/webm" /> |
| | | <mimeMap fileExtension=".wks" mimeType="application/vnd.ms-works" /> |
| | | <mimeMap fileExtension=".wm" mimeType="video/x-ms-wm" /> |
| | | <mimeMap fileExtension=".wma" mimeType="audio/x-ms-wma" /> |
| | | <mimeMap fileExtension=".wmd" mimeType="application/x-ms-wmd" /> |
| | | <mimeMap fileExtension=".wmf" mimeType="application/x-msmetafile" /> |
| | | <mimeMap fileExtension=".wml" mimeType="text/vnd.wap.wml" /> |
| | | <mimeMap fileExtension=".wmlc" mimeType="application/vnd.wap.wmlc" /> |
| | | <mimeMap fileExtension=".wmls" mimeType="text/vnd.wap.wmlscript" /> |
| | | <mimeMap fileExtension=".wmlsc" mimeType="application/vnd.wap.wmlscriptc" /> |
| | | <mimeMap fileExtension=".wmp" mimeType="video/x-ms-wmp" /> |
| | | <mimeMap fileExtension=".wmv" mimeType="video/x-ms-wmv" /> |
| | | <mimeMap fileExtension=".wmx" mimeType="video/x-ms-wmx" /> |
| | | <mimeMap fileExtension=".wmz" mimeType="application/x-ms-wmz" /> |
| | | <mimeMap fileExtension=".woff" mimeType="font/x-woff" /> |
| | | <mimeMap fileExtension=".woff2" mimeType="application/font-woff2" /> |
| | | <mimeMap fileExtension=".wps" mimeType="application/vnd.ms-works" /> |
| | | <mimeMap fileExtension=".wri" mimeType="application/x-mswrite" /> |
| | | <mimeMap fileExtension=".wrl" mimeType="x-world/x-vrml" /> |
| | | <mimeMap fileExtension=".wrz" mimeType="x-world/x-vrml" /> |
| | | <mimeMap fileExtension=".wsdl" mimeType="text/xml" /> |
| | | <mimeMap fileExtension=".wtv" mimeType="video/x-ms-wtv" /> |
| | | <mimeMap fileExtension=".wvx" mimeType="video/x-ms-wvx" /> |
| | | <mimeMap fileExtension=".x" mimeType="application/directx" /> |
| | | <mimeMap fileExtension=".xaf" mimeType="x-world/x-vrml" /> |
| | | <mimeMap fileExtension=".xaml" mimeType="application/xaml+xml" /> |
| | | <mimeMap fileExtension=".xap" mimeType="application/x-silverlight-app" /> |
| | | <mimeMap fileExtension=".xbap" mimeType="application/x-ms-xbap" /> |
| | | <mimeMap fileExtension=".xbm" mimeType="image/x-xbitmap" /> |
| | | <mimeMap fileExtension=".xdr" mimeType="text/plain" /> |
| | | <mimeMap fileExtension=".xht" mimeType="application/xhtml+xml" /> |
| | | <mimeMap fileExtension=".xhtml" mimeType="application/xhtml+xml" /> |
| | | <mimeMap fileExtension=".xla" mimeType="application/vnd.ms-excel" /> |
| | | <mimeMap fileExtension=".xlam" mimeType="application/vnd.ms-excel.addin.macroEnabled.12" /> |
| | | <mimeMap fileExtension=".xlc" mimeType="application/vnd.ms-excel" /> |
| | | <mimeMap fileExtension=".xlm" mimeType="application/vnd.ms-excel" /> |
| | | <mimeMap fileExtension=".xls" mimeType="application/vnd.ms-excel" /> |
| | | <mimeMap fileExtension=".xlsb" mimeType="application/vnd.ms-excel.sheet.binary.macroEnabled.12" /> |
| | | <mimeMap fileExtension=".xlsm" mimeType="application/vnd.ms-excel.sheet.macroEnabled.12" /> |
| | | <mimeMap fileExtension=".xlsx" mimeType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" /> |
| | | <mimeMap fileExtension=".xlt" mimeType="application/vnd.ms-excel" /> |
| | | <mimeMap fileExtension=".xltm" mimeType="application/vnd.ms-excel.template.macroEnabled.12" /> |
| | | <mimeMap fileExtension=".xltx" mimeType="application/vnd.openxmlformats-officedocument.spreadsheetml.template" /> |
| | | <mimeMap fileExtension=".xlw" mimeType="application/vnd.ms-excel" /> |
| | | <mimeMap fileExtension=".xml" mimeType="text/xml" /> |
| | | <mimeMap fileExtension=".xof" mimeType="x-world/x-vrml" /> |
| | | <mimeMap fileExtension=".xpm" mimeType="image/x-xpixmap" /> |
| | | <mimeMap fileExtension=".xps" mimeType="application/vnd.ms-xpsdocument" /> |
| | | <mimeMap fileExtension=".xsd" mimeType="text/xml" /> |
| | | <mimeMap fileExtension=".xsf" mimeType="text/xml" /> |
| | | <mimeMap fileExtension=".xsl" mimeType="text/xml" /> |
| | | <mimeMap fileExtension=".xslt" mimeType="text/xml" /> |
| | | <mimeMap fileExtension=".xsn" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".xtp" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".xwd" mimeType="image/x-xwindowdump" /> |
| | | <mimeMap fileExtension=".z" mimeType="application/x-compress" /> |
| | | <mimeMap fileExtension=".zip" mimeType="application/x-zip-compressed" /> |
| | | </staticContent> |
| | | <tracing> |
| | | <traceFailedRequests> |
| | | <add path="*"> |
| | | <traceAreas> |
| | | <add provider="ASP" verbosity="Verbose" /> |
| | | <add provider="ASPNET" areas="Infrastructure,Module,Page,AppServices" verbosity="Verbose" /> |
| | | <add provider="ISAPI Extension" verbosity="Verbose" /> |
| | | <add provider="WWW Server" areas="Authentication,Security,Filter,StaticFile,CGI,Compression,Cache,RequestNotifications,Module,Rewrite,WebSocket" verbosity="Verbose" /> |
| | | </traceAreas> |
| | | <failureDefinitions statusCodes="200-999" /> |
| | | </add> |
| | | </traceFailedRequests> |
| | | <traceProviderDefinitions> |
| | | <add name="WWW Server" guid="{3a2a4e84-4c21-4981-ae10-3fda0d9b0f83}"> |
| | | <areas> |
| | | <clear /> |
| | | <add name="Authentication" value="2" /> |
| | | <add name="Security" value="4" /> |
| | | <add name="Filter" value="8" /> |
| | | <add name="StaticFile" value="16" /> |
| | | <add name="CGI" value="32" /> |
| | | <add name="Compression" value="64" /> |
| | | <add name="Cache" value="128" /> |
| | | <add name="RequestNotifications" value="256" /> |
| | | <add name="Module" value="512" /> |
| | | <add name="Rewrite" value="1024" /> |
| | | <add name="FastCGI" value="4096" /> |
| | | <add name="WebSocket" value="16384" /> |
| | | <add name="ANCM" value="65536" /> |
| | | </areas> |
| | | </add> |
| | | <add name="ASP" guid="{06b94d9a-b15e-456e-a4ef-37c984a2cb4b}"> |
| | | <areas> |
| | | <clear /> |
| | | </areas> |
| | | </add> |
| | | <add name="ISAPI Extension" guid="{a1c2040e-8840-4c31-ba11-9871031a19ea}"> |
| | | <areas> |
| | | <clear /> |
| | | </areas> |
| | | </add> |
| | | <add name="ASPNET" guid="{AFF081FE-0247-4275-9C4E-021F3DC1DA35}"> |
| | | <areas> |
| | | <add name="Infrastructure" value="1" /> |
| | | <add name="Module" value="2" /> |
| | | <add name="Page" value="4" /> |
| | | <add name="AppServices" value="8" /> |
| | | </areas> |
| | | </add> |
| | | </traceProviderDefinitions> |
| | | </tracing> |
| | | <urlCompression /> |
| | | <validation /> |
| | | <webdav> |
| | | <globalSettings> |
| | | <propertyStores> |
| | | <add name="webdav_simple_prop" image="%IIS_BIN%\webdav_simple_prop.dll" image32="%IIS_BIN%\webdav_simple_prop.dll" /> |
| | | </propertyStores> |
| | | <lockStores> |
| | | <add name="webdav_simple_lock" image="%IIS_BIN%\webdav_simple_lock.dll" image32="%IIS_BIN%\webdav_simple_lock.dll" /> |
| | | </lockStores> |
| | | </globalSettings> |
| | | <authoring> |
| | | <locks enabled="true" lockStore="webdav_simple_lock" /> |
| | | </authoring> |
| | | <authoringRules /> |
| | | </webdav> |
| | | <webSocket /> |
| | | <applicationInitialization /> |
| | | </system.webServer> |
| | | <location path="" overrideMode="Allow"> |
| | | <system.webServer> |
| | | <modules> |
| | | <add name="IsapiFilterModule" lockItem="true" /> |
| | | <add name="BasicAuthenticationModule" lockItem="true" /> |
| | | <add name="IsapiModule" lockItem="true" /> |
| | | <add name="HttpLoggingModule" lockItem="true" /> |
| | | <add name="DynamicCompressionModule" lockItem="true" /> |
| | | <add name="StaticCompressionModule" lockItem="true" /> |
| | | <add name="DefaultDocumentModule" lockItem="true" /> |
| | | <add name="DirectoryListingModule" lockItem="true" /> |
| | | <add name="ProtocolSupportModule" lockItem="true" /> |
| | | <add name="HttpRedirectionModule" lockItem="true" /> |
| | | <add name="ServerSideIncludeModule" lockItem="true" /> |
| | | <add name="StaticFileModule" lockItem="true" /> |
| | | <add name="AnonymousAuthenticationModule" lockItem="true" /> |
| | | <add name="CertificateMappingAuthenticationModule" lockItem="true" /> |
| | | <add name="UrlAuthorizationModule" lockItem="true" /> |
| | | <add name="WindowsAuthenticationModule" lockItem="true" /> |
| | | <add name="IISCertificateMappingAuthenticationModule" lockItem="true" /> |
| | | <add name="WebMatrixSupportModule" lockItem="true" /> |
| | | <add name="IpRestrictionModule" lockItem="true" /> |
| | | <add name="DynamicIpRestrictionModule" lockItem="true" /> |
| | | <add name="RequestFilteringModule" lockItem="true" /> |
| | | <add name="CustomLoggingModule" lockItem="true" /> |
| | | <add name="CustomErrorModule" lockItem="true" /> |
| | | <add name="FailedRequestsTracingModule" lockItem="true" /> |
| | | <add name="CgiModule" lockItem="true" /> |
| | | <add name="FastCgiModule" lockItem="true" /> |
| | | <!-- <add name="WebDAVModule" /> --> |
| | | <add name="RewriteModule" /> |
| | | <add name="OutputCache" type="System.Web.Caching.OutputCacheModule" preCondition="managedHandler" /> |
| | | <add name="Session" type="System.Web.SessionState.SessionStateModule" preCondition="managedHandler" /> |
| | | <add name="WindowsAuthentication" type="System.Web.Security.WindowsAuthenticationModule" preCondition="managedHandler" /> |
| | | <add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" preCondition="managedHandler" /> |
| | | <add name="DefaultAuthentication" type="System.Web.Security.DefaultAuthenticationModule" preCondition="managedHandler" /> |
| | | <add name="RoleManager" type="System.Web.Security.RoleManagerModule" preCondition="managedHandler" /> |
| | | <add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule" preCondition="managedHandler" /> |
| | | <add name="FileAuthorization" type="System.Web.Security.FileAuthorizationModule" preCondition="managedHandler" /> |
| | | <add name="AnonymousIdentification" type="System.Web.Security.AnonymousIdentificationModule" preCondition="managedHandler" /> |
| | | <add name="Profile" type="System.Web.Profile.ProfileModule" preCondition="managedHandler" /> |
| | | <add name="UrlMappingsModule" type="System.Web.UrlMappingsModule" preCondition="managedHandler" /> |
| | | <add name="ApplicationInitializationModule" lockItem="true" /> |
| | | <add name="WebSocketModule" lockItem="true" /> |
| | | <add name="ServiceModel-4.0" type="System.ServiceModel.Activation.ServiceHttpModule,System.ServiceModel.Activation,Version=4.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35" preCondition="managedHandler,runtimeVersionv4.0" /> |
| | | <add name="ConfigurationValidationModule" lockItem="true" /> |
| | | <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="managedHandler,runtimeVersionv4.0" /> |
| | | <add name="ScriptModule-4.0" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="managedHandler,runtimeVersionv4.0" /> |
| | | <add name="ServiceModel" type="System.ServiceModel.Activation.HttpModule, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="managedHandler,runtimeVersionv2.0" /> |
| | | <add name="AspNetCoreModule" lockItem="true" /> |
| | | <add name="AspNetCoreModuleV2" lockItem="true" /> |
| | | </modules> |
| | | <handlers accessPolicy="Read, Script"> |
| | | <!-- <add name="WebDAV" path="*" verb="PROPFIND,PROPPATCH,MKCOL,PUT,COPY,DELETE,MOVE,LOCK,UNLOCK" modules="WebDAVModule" resourceType="Unspecified" requireAccess="None" /> --> |
| | | <add name="AXD-ISAPI-4.0_64bit" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> |
| | | <add name="PageHandlerFactory-ISAPI-4.0_64bit" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> |
| | | <add name="SimpleHandlerFactory-ISAPI-4.0_64bit" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> |
| | | <add name="WebServiceHandlerFactory-ISAPI-4.0_64bit" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> |
| | | <add name="HttpRemotingHandlerFactory-rem-ISAPI-4.0_64bit" path="*.rem" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> |
| | | <add name="HttpRemotingHandlerFactory-soap-ISAPI-4.0_64bit" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> |
| | | <add name="svc-ISAPI-4.0_64bit" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" /> |
| | | <add name="rules-ISAPI-4.0_64bit" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" /> |
| | | <add name="xoml-ISAPI-4.0_64bit" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" /> |
| | | <add name="xamlx-ISAPI-4.0_64bit" path="*.xamlx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" /> |
| | | <add name="aspq-ISAPI-4.0_64bit" path="*.aspq" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> |
| | | <add name="cshtm-ISAPI-4.0_64bit" path="*.cshtm" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> |
| | | <add name="cshtml-ISAPI-4.0_64bit" path="*.cshtml" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> |
| | | <add name="vbhtm-ISAPI-4.0_64bit" path="*.vbhtm" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> |
| | | <add name="vbhtml-ISAPI-4.0_64bit" path="*.vbhtml" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> |
| | | <add name="svc-Integrated" path="*.svc" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" /> |
| | | <add name="svc-ISAPI-2.0" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" /> |
| | | <add name="xoml-Integrated" path="*.xoml" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" /> |
| | | <add name="xoml-ISAPI-2.0" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" /> |
| | | <add name="rules-Integrated" path="*.rules" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" /> |
| | | <add name="rules-ISAPI-2.0" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" /> |
| | | <add name="AXD-ISAPI-4.0_32bit" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> |
| | | <add name="PageHandlerFactory-ISAPI-4.0_32bit" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> |
| | | <add name="SimpleHandlerFactory-ISAPI-4.0_32bit" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> |
| | | <add name="WebServiceHandlerFactory-ISAPI-4.0_32bit" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> |
| | | <add name="HttpRemotingHandlerFactory-rem-ISAPI-4.0_32bit" path="*.rem" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> |
| | | <add name="HttpRemotingHandlerFactory-soap-ISAPI-4.0_32bit" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> |
| | | <add name="svc-ISAPI-4.0_32bit" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" /> |
| | | <add name="rules-ISAPI-4.0_32bit" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" /> |
| | | <add name="xoml-ISAPI-4.0_32bit" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" /> |
| | | <add name="xamlx-ISAPI-4.0_32bit" path="*.xamlx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" /> |
| | | <add name="aspq-ISAPI-4.0_32bit" path="*.aspq" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> |
| | | <add name="cshtm-ISAPI-4.0_32bit" path="*.cshtm" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> |
| | | <add name="cshtml-ISAPI-4.0_32bit" path="*.cshtml" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> |
| | | <add name="vbhtm-ISAPI-4.0_32bit" path="*.vbhtm" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> |
| | | <add name="vbhtml-ISAPI-4.0_32bit" path="*.vbhtml" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> |
| | | <add name="TraceHandler-Integrated-4.0" path="trace.axd" verb="GET,HEAD,POST,DEBUG" type="System.Web.Handlers.TraceHandler" preCondition="integratedMode,runtimeVersionv4.0" /> |
| | | <add name="WebAdminHandler-Integrated-4.0" path="WebAdmin.axd" verb="GET,DEBUG" type="System.Web.Handlers.WebAdminHandler" preCondition="integratedMode,runtimeVersionv4.0" /> |
| | | <add name="AssemblyResourceLoader-Integrated-4.0" path="WebResource.axd" verb="GET,DEBUG" type="System.Web.Handlers.AssemblyResourceLoader" preCondition="integratedMode,runtimeVersionv4.0" /> |
| | | <add name="PageHandlerFactory-Integrated-4.0" path="*.aspx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.PageHandlerFactory" preCondition="integratedMode,runtimeVersionv4.0" /> |
| | | <add name="SimpleHandlerFactory-Integrated-4.0" path="*.ashx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.SimpleHandlerFactory" preCondition="integratedMode,runtimeVersionv4.0" /> |
| | | <add name="WebServiceHandlerFactory-Integrated-4.0" path="*.asmx" verb="GET,HEAD,POST,DEBUG" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" /> |
| | | <add name="HttpRemotingHandlerFactory-rem-Integrated-4.0" path="*.rem" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv4.0" /> |
| | | <add name="HttpRemotingHandlerFactory-soap-Integrated-4.0" path="*.soap" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv4.0" /> |
| | | <add name="svc-Integrated-4.0" path="*.svc" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" /> |
| | | <add name="rules-Integrated-4.0" path="*.rules" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" /> |
| | | <add name="xoml-Integrated-4.0" path="*.xoml" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" /> |
| | | <add name="xamlx-Integrated-4.0" path="*.xamlx" verb="GET,HEAD,POST,DEBUG" type="System.Xaml.Hosting.XamlHttpHandlerFactory, System.Xaml.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" /> |
| | | <add name="aspq-Integrated-4.0" path="*.aspq" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" /> |
| | | <add name="cshtm-Integrated-4.0" path="*.cshtm" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" /> |
| | | <add name="cshtml-Integrated-4.0" path="*.cshtml" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" /> |
| | | <add name="vbhtm-Integrated-4.0" path="*.vbhtm" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" /> |
| | | <add name="vbhtml-Integrated-4.0" path="*.vbhtml" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" /> |
| | | <add name="ScriptHandlerFactoryAppServices-Integrated-4.0" path="*_AppService.axd" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" preCondition="integratedMode,runtimeVersionv4.0" /> |
| | | <add name="ScriptResourceIntegrated-4.0" path="*ScriptResource.axd" verb="GET,HEAD" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" preCondition="integratedMode,runtimeVersionv4.0" /> |
| | | <add name="ASPClassic" path="*.asp" verb="GET,HEAD,POST" modules="IsapiModule" scriptProcessor="%IIS_BIN%\asp.dll" resourceType="File" /> |
| | | <add name="SecurityCertificate" path="*.cer" verb="GET,HEAD,POST" modules="IsapiModule" scriptProcessor="%IIS_BIN%\asp.dll" resourceType="File" /> |
| | | <add name="ISAPI-dll" path="*.dll" verb="*" modules="IsapiModule" resourceType="File" requireAccess="Execute" allowPathInfo="true" /> |
| | | <add name="TraceHandler-Integrated" path="trace.axd" verb="GET,HEAD,POST,DEBUG" type="System.Web.Handlers.TraceHandler" preCondition="integratedMode,runtimeVersionv2.0" /> |
| | | <add name="WebAdminHandler-Integrated" path="WebAdmin.axd" verb="GET,DEBUG" type="System.Web.Handlers.WebAdminHandler" preCondition="integratedMode,runtimeVersionv2.0" /> |
| | | <add name="AssemblyResourceLoader-Integrated" path="WebResource.axd" verb="GET,DEBUG" type="System.Web.Handlers.AssemblyResourceLoader" preCondition="integratedMode,runtimeVersionv2.0" /> |
| | | <add name="PageHandlerFactory-Integrated" path="*.aspx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.PageHandlerFactory" preCondition="integratedMode,runtimeVersionv2.0" /> |
| | | <add name="SimpleHandlerFactory-Integrated" path="*.ashx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.SimpleHandlerFactory" preCondition="integratedMode,runtimeVersionv2.0" /> |
| | | <add name="WebServiceHandlerFactory-Integrated" path="*.asmx" verb="GET,HEAD,POST,DEBUG" type="System.Web.Services.Protocols.WebServiceHandlerFactory,System.Web.Services,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" preCondition="integratedMode,runtimeVersionv2.0" /> |
| | | <add name="HttpRemotingHandlerFactory-rem-Integrated" path="*.rem" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory,System.Runtime.Remoting,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" /> |
| | | <add name="HttpRemotingHandlerFactory-soap-Integrated" path="*.soap" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory,System.Runtime.Remoting,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" /> |
| | | <add name="AXD-ISAPI-2.0" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" /> |
| | | <add name="PageHandlerFactory-ISAPI-2.0" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" /> |
| | | <add name="SimpleHandlerFactory-ISAPI-2.0" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" /> |
| | | <add name="WebServiceHandlerFactory-ISAPI-2.0" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" /> |
| | | <add name="HttpRemotingHandlerFactory-rem-ISAPI-2.0" path="*.rem" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" /> |
| | | <add name="HttpRemotingHandlerFactory-soap-ISAPI-2.0" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" /> |
| | | <add name="svc-ISAPI-2.0-64" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" /> |
| | | <add name="AXD-ISAPI-2.0-64" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" /> |
| | | <add name="PageHandlerFactory-ISAPI-2.0-64" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" /> |
| | | <add name="SimpleHandlerFactory-ISAPI-2.0-64" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" /> |
| | | <add name="WebServiceHandlerFactory-ISAPI-2.0-64" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" /> |
| | | <add name="HttpRemotingHandlerFactory-rem-ISAPI-2.0-64" path="*.rem" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" /> |
| | | <add name="HttpRemotingHandlerFactory-soap-ISAPI-2.0-64" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" /> |
| | | <add name="rules-64-ISAPI-2.0" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" /> |
| | | <add name="xoml-64-ISAPI-2.0" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" /> |
| | | <add name="CGI-exe" path="*.exe" verb="*" modules="CgiModule" resourceType="File" requireAccess="Execute" allowPathInfo="true" /> |
| | | <add name="SSINC-stm" path="*.stm" verb="GET,HEAD,POST" modules="ServerSideIncludeModule" resourceType="File" /> |
| | | <add name="SSINC-shtm" path="*.shtm" verb="GET,HEAD,POST" modules="ServerSideIncludeModule" resourceType="File" /> |
| | | <add name="SSINC-shtml" path="*.shtml" verb="GET,HEAD,POST" modules="ServerSideIncludeModule" resourceType="File" /> |
| | | <add name="TRACEVerbHandler" path="*" verb="TRACE" modules="ProtocolSupportModule" requireAccess="None" /> |
| | | <add name="OPTIONSVerbHandler" path="*" verb="OPTIONS" modules="ProtocolSupportModule" requireAccess="None" /> |
| | | <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> |
| | | <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> |
| | | <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" responseBufferLimit="0" /> |
| | | <add name="StaticFile" path="*" verb="*" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" resourceType="Either" requireAccess="Read" /> |
| | | </handlers> |
| | | </system.webServer> |
| | | </location> |
| | | </configuration> |
| New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | |
| | | namespace GTech.Solution.Api.Common.Attibute |
| | | { |
| | | [AttributeUsage(AttributeTargets.Property)] |
| | | public class KeyAttribute : Attribute |
| | | { |
| | | |
| | | } |
| | | } |
| New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | |
| | | namespace GTech.Solution.Api.Common.Attibute |
| | | { |
| | | [AttributeUsage(AttributeTargets.Property)] |
| | | class MaxLengthAttribute:Attribute |
| | | { |
| | | public int Length=255; |
| | | public MaxLengthAttribute(int length) |
| | | { |
| | | Length = length; |
| | | } |
| | | } |
| | | } |
| New file |
| | |
| | | using System; |
| | | using System.Collections; |
| | | using System.Configuration; |
| | | using System.Data; |
| | | using System.Data.SqlClient; |
| | | using System.Xml; |
| | | |
| | | namespace GTech.Solution.Api.Common |
| | | { |
| | | //微软SQLHelper.cs类 中文版 |
| | | /// <summary> |
| | | /// SqlServer数据访问帮助类 |
| | | /// </summary> |
| | | public sealed class ADODOTNETSqlHelper |
| | | { |
| | | #region 私有构造函数和方法 |
| | | |
| | | private ADODOTNETSqlHelper() { } |
| | | |
| | | /// <summary> |
| | | /// 将SqlParameter参数数组(参数值)分配给SqlCommand命令. |
| | | /// 这个方法将给任何一个参数分配DBNull.Value; |
| | | /// 该操作将阻止默认值的使用. |
| | | /// </summary> |
| | | /// <param name="command">命令名</param> |
| | | /// <param name="commandParameters">SqlParameters数组</param> |
| | | private static void AttachParameters(SqlCommand command, SqlParameter[] commandParameters) |
| | | { |
| | | if (command == null) throw new ArgumentNullException("command"); |
| | | if (commandParameters != null) |
| | | { |
| | | foreach (SqlParameter p in commandParameters) |
| | | { |
| | | if (p != null) |
| | | { |
| | | // 检查未分配值的输出参数,将其分配以DBNull.Value. |
| | | if ((p.Direction == ParameterDirection.InputOutput || p.Direction == ParameterDirection.Input) && |
| | | (p.Value == null)) |
| | | { |
| | | p.Value = DBNull.Value; |
| | | } |
| | | command.Parameters.Add(p); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 将DataRow类型的列值分配到SqlParameter参数数组. |
| | | /// </summary> |
| | | /// <param name="commandParameters">要分配值的SqlParameter参数数组</param> |
| | | /// <param name="dataRow">将要分配给存储过程参数的DataRow</param> |
| | | private static void AssignParameterValues(SqlParameter[] commandParameters, DataRow dataRow) |
| | | { |
| | | if ((commandParameters == null) || (dataRow == null)) |
| | | { |
| | | return; |
| | | } |
| | | |
| | | int i = 0; |
| | | // 设置参数值 |
| | | foreach (SqlParameter commandParameter in commandParameters) |
| | | { |
| | | // 创建参数名称,如果不存在,只抛出一个异常. |
| | | if (commandParameter.ParameterName == null || |
| | | commandParameter.ParameterName.Length <= 1) |
| | | throw new Exception( |
| | | string.Format("请提供参数{0}一个有效的名称{1}.", i, commandParameter.ParameterName)); |
| | | // 从dataRow的表中获取为参数数组中数组名称的列的索引. |
| | | // 如果存在和参数名称相同的列,则将列值赋给当前名称的参数. |
| | | if (dataRow.Table.Columns.IndexOf(commandParameter.ParameterName.Substring(1)) != -1) |
| | | commandParameter.Value = dataRow[commandParameter.ParameterName.Substring(1)]; |
| | | i++; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 将一个对象数组分配给SqlParameter参数数组. |
| | | /// </summary> |
| | | /// <param name="commandParameters">要分配值的SqlParameter参数数组</param> |
| | | /// <param name="parameterValues">将要分配给存储过程参数的对象数组</param> |
| | | private static void AssignParameterValues(SqlParameter[] commandParameters, object[] parameterValues) |
| | | { |
| | | if ((commandParameters == null) || (parameterValues == null)) |
| | | { |
| | | return; |
| | | } |
| | | |
| | | // 确保对象数组个数与参数个数匹配,如果不匹配,抛出一个异常. |
| | | if (commandParameters.Length != parameterValues.Length) |
| | | { |
| | | throw new ArgumentException("参数值个数与参数不匹配."); |
| | | } |
| | | |
| | | // 给参数赋值 |
| | | for (int i = 0, j = commandParameters.Length; i < j; i++) |
| | | { |
| | | // If the current array value derives from IDbDataParameter, then assign its Value property |
| | | if (parameterValues[i] is IDbDataParameter) |
| | | { |
| | | IDbDataParameter paramInstance = (IDbDataParameter)parameterValues[i]; |
| | | if (paramInstance.Value == null) |
| | | { |
| | | commandParameters[i].Value = DBNull.Value; |
| | | } |
| | | else |
| | | { |
| | | commandParameters[i].Value = paramInstance.Value; |
| | | } |
| | | } |
| | | else if (parameterValues[i] == null) |
| | | { |
| | | commandParameters[i].Value = DBNull.Value; |
| | | } |
| | | else |
| | | { |
| | | commandParameters[i].Value = parameterValues[i]; |
| | | } |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 预处理用户提供的命令,数据库连接/事务/命令类型/参数 |
| | | /// </summary> |
| | | /// <param name="command">要处理的SqlCommand</param> |
| | | /// <param name="connection">数据库连接</param> |
| | | /// <param name="transaction">一个有效的事务或者是null值</param> |
| | | /// <param name="commandType">命令类型 (存储过程,命令文本, 其它.)</param> |
| | | /// <param name="commandText">存储过程名或都T-SQL命令文本</param> |
| | | /// <param name="commandParameters">和命令相关联的SqlParameter参数数组,如果没有参数为'null'</param> |
| | | /// <param name="mustCloseConnection"><c>true</c> 如果连接是打开的,则为true,其它情况下为false.</param> |
| | | private static void PrepareCommand(SqlCommand command, SqlConnection connection, SqlTransaction transaction, CommandType commandType, string commandText, SqlParameter[] commandParameters, out bool mustCloseConnection) |
| | | { |
| | | if (command == null) throw new ArgumentNullException("command"); |
| | | if (commandText == null || commandText.Length == 0) throw new ArgumentNullException("commandText"); |
| | | |
| | | // If the provided connection is not open, we will open it |
| | | if (connection.State != ConnectionState.Open) |
| | | { |
| | | mustCloseConnection = true; |
| | | connection.Open(); |
| | | } |
| | | else |
| | | { |
| | | mustCloseConnection = false; |
| | | } |
| | | |
| | | // 给命令分配一个数据库连接. |
| | | command.Connection = connection; |
| | | |
| | | // 设置命令文本(存储过程名或SQL语句) |
| | | command.CommandText = commandText; |
| | | |
| | | // 分配事务 |
| | | if (transaction != null) |
| | | { |
| | | if (transaction.Connection == null) throw new ArgumentException("The transaction was rollbacked or commited, please provide an open transaction.", "transaction"); |
| | | command.Transaction = transaction; |
| | | } |
| | | |
| | | // 设置命令类型. |
| | | command.CommandType = commandType; |
| | | |
| | | // 分配命令参数 |
| | | if (commandParameters != null) |
| | | { |
| | | AttachParameters(command, commandParameters); |
| | | } |
| | | return; |
| | | } |
| | | |
| | | #endregion 私有构造函数和方法结束 |
| | | |
| | | #region 数据库连接 |
| | | /// <summary> |
| | | /// 一个有效的数据库连接字符串 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public static string GetConnSting() |
| | | { |
| | | return ConfigurationManager.ConnectionStrings["ConStr"].ConnectionString; |
| | | } |
| | | /// <summary> |
| | | /// 一个有效的数据库连接对象 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public static SqlConnection GetConnection() |
| | | { |
| | | SqlConnection Connection = new SqlConnection(ADODOTNETSqlHelper.GetConnSting()); |
| | | return Connection; |
| | | } |
| | | #endregion |
| | | |
| | | #region ExecuteNonQuery命令 |
| | | |
| | | /// <summary> |
| | | /// 执行指定连接字符串,类型的SqlCommand. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 示例: |
| | | /// int result = ExecuteNonQuery(connString, CommandType.StoredProcedure, "PublishOrders"); |
| | | /// </remarks> |
| | | /// <param name="connectionString">一个有效的数据库连接字符串</param> |
| | | /// <param name="commandType">命令类型 (存储过程,命令文本, 其它.)</param> |
| | | /// <param name="commandText">存储过程名称或SQL语句</param> |
| | | /// <returns>返回命令影响的行数</returns> |
| | | public static int ExecuteNonQuery(string connectionString, CommandType commandType, string commandText) |
| | | { |
| | | return ExecuteNonQuery(connectionString, commandType, commandText, (SqlParameter[])null); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定连接字符串,类型的SqlCommand.如果没有提供参数,不返回结果. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 示例: |
| | | /// int result = ExecuteNonQuery(connString, CommandType.StoredProcedure, "PublishOrders", new SqlParameter("@prodid", 24)); |
| | | /// </remarks> |
| | | /// <param name="connectionString">一个有效的数据库连接字符串</param> |
| | | /// <param name="commandType">命令类型 (存储过程,命令文本, 其它.)</param> |
| | | /// <param name="commandText">存储过程名称或SQL语句</param> |
| | | /// <param name="commandParameters">SqlParameter参数数组</param> |
| | | /// <returns>返回命令影响的行数</returns> |
| | | public static int ExecuteNonQuery(string connectionString, CommandType commandType, string commandText, params SqlParameter[] commandParameters) |
| | | { |
| | | if (connectionString == null || connectionString.Length == 0) throw new ArgumentNullException("connectionString"); |
| | | |
| | | using (SqlConnection connection = new SqlConnection(connectionString)) |
| | | { |
| | | connection.Open(); |
| | | |
| | | return ExecuteNonQuery(connection, commandType, commandText, commandParameters); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定连接字符串的存储过程,将对象数组的值赋给存储过程参数, |
| | | /// 此方法需要在参数缓存方法中探索参数并生成参数. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 这个方法没有提供访问输出参数和返回值. |
| | | /// 示例: |
| | | /// int result = ExecuteNonQuery(connString, "PublishOrders", 24, 36); |
| | | /// </remarks> |
| | | /// <param name="connectionString">一个有效的数据库连接字符串/param> |
| | | /// <param name="spName">存储过程名称</param> |
| | | /// <param name="parameterValues">分配到存储过程输入参数的对象数组</param> |
| | | /// <returns>返回受影响的行数</returns> |
| | | public static int ExecuteNonQuery(string connectionString, string spName, params object[] parameterValues) |
| | | { |
| | | if (connectionString == null || connectionString.Length == 0) throw new ArgumentNullException("connectionString"); |
| | | if (spName == null || spName.Length == 0) throw new ArgumentNullException("spName"); |
| | | |
| | | // 如果存在参数值 |
| | | if ((parameterValues != null) && (parameterValues.Length > 0)) |
| | | { |
| | | // 从探索存储过程参数(加载到缓存)并分配给存储过程参数数组. |
| | | SqlParameter[] commandParameters = SqlHelperParameterCache.GetSpParameterSet(connectionString, spName); |
| | | |
| | | // 给存储过程参数赋值 |
| | | AssignParameterValues(commandParameters, parameterValues); |
| | | |
| | | return ExecuteNonQuery(connectionString, CommandType.StoredProcedure, spName, commandParameters); |
| | | } |
| | | else |
| | | { |
| | | // 没有参数情况下 |
| | | return ExecuteNonQuery(connectionString, CommandType.StoredProcedure, spName); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定数据库连接对象的命令 |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 示例: |
| | | /// int result = ExecuteNonQuery(conn, CommandType.StoredProcedure, "PublishOrders"); |
| | | /// </remarks> |
| | | /// <param name="connection">一个有效的数据库连接对象</param> |
| | | /// <param name="commandType">命令类型(存储过程,命令文本或其它.)</param> |
| | | /// <param name="commandText">存储过程名称或T-SQL语句</param> |
| | | /// <returns>返回影响的行数</returns> |
| | | public static int ExecuteNonQuery(SqlConnection connection, CommandType commandType, string commandText) |
| | | { |
| | | return ExecuteNonQuery(connection, commandType, commandText, (SqlParameter[])null); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定数据库连接对象的命令 |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 示例: |
| | | /// int result = ExecuteNonQuery(conn, CommandType.StoredProcedure, "PublishOrders", new SqlParameter("@prodid", 24)); |
| | | /// </remarks> |
| | | /// <param name="connection">一个有效的数据库连接对象</param> |
| | | /// <param name="commandType">命令类型(存储过程,命令文本或其它.)</param> |
| | | /// <param name="commandText">T存储过程名称或T-SQL语句</param> |
| | | /// <param name="commandParameters">SqlParamter参数数组</param> |
| | | /// <returns>返回影响的行数</returns> |
| | | public static int ExecuteNonQuery(SqlConnection connection, CommandType commandType, string commandText, params SqlParameter[] commandParameters) |
| | | { |
| | | if (connection == null) throw new ArgumentNullException("connection"); |
| | | |
| | | // 创建SqlCommand命令,并进行预处理 |
| | | SqlCommand cmd = new SqlCommand(); |
| | | bool mustCloseConnection = false; |
| | | PrepareCommand(cmd, connection, (SqlTransaction)null, commandType, commandText, commandParameters, out mustCloseConnection); |
| | | |
| | | // Finally, execute the command |
| | | int retval = cmd.ExecuteNonQuery(); |
| | | |
| | | // 清除参数,以便再次使用. |
| | | cmd.Parameters.Clear(); |
| | | if (mustCloseConnection) |
| | | connection.Close(); |
| | | return retval; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定数据库连接对象的命令,将对象数组的值赋给存储过程参数. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 此方法不提供访问存储过程输出参数和返回值 |
| | | /// 示例: |
| | | /// int result = ExecuteNonQuery(conn, "PublishOrders", 24, 36); |
| | | /// </remarks> |
| | | /// <param name="connection">一个有效的数据库连接对象</param> |
| | | /// <param name="spName">存储过程名</param> |
| | | /// <param name="parameterValues">分配给存储过程输入参数的对象数组</param> |
| | | /// <returns>返回影响的行数</returns> |
| | | public static int ExecuteNonQuery(SqlConnection connection, string spName, params object[] parameterValues) |
| | | { |
| | | if (connection == null) throw new ArgumentNullException("connection"); |
| | | if (spName == null || spName.Length == 0) throw new ArgumentNullException("spName"); |
| | | |
| | | // 如果有参数值 |
| | | if ((parameterValues != null) && (parameterValues.Length > 0)) |
| | | { |
| | | // 从缓存中加载存储过程参数 |
| | | SqlParameter[] commandParameters = SqlHelperParameterCache.GetSpParameterSet(connection, spName); |
| | | |
| | | // 给存储过程分配参数值 |
| | | AssignParameterValues(commandParameters, parameterValues); |
| | | |
| | | return ExecuteNonQuery(connection, CommandType.StoredProcedure, spName, commandParameters); |
| | | } |
| | | else |
| | | { |
| | | return ExecuteNonQuery(connection, CommandType.StoredProcedure, spName); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行带事务的SqlCommand. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 示例.: |
| | | /// int result = ExecuteNonQuery(trans, CommandType.StoredProcedure, "PublishOrders"); |
| | | /// </remarks> |
| | | /// <param name="transaction">一个有效的数据库连接对象</param> |
| | | /// <param name="commandType">命令类型(存储过程,命令文本或其它.)</param> |
| | | /// <param name="commandText">存储过程名称或T-SQL语句</param> |
| | | /// <returns>返回影响的行数/returns> |
| | | public static int ExecuteNonQuery(SqlTransaction transaction, CommandType commandType, string commandText) |
| | | { |
| | | return ExecuteNonQuery(transaction, commandType, commandText, (SqlParameter[])null); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行带事务的SqlCommand(指定参数). |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 示例: |
| | | /// int result = ExecuteNonQuery(trans, CommandType.StoredProcedure, "GetOrders", new SqlParameter("@prodid", 24)); |
| | | /// </remarks> |
| | | /// <param name="transaction">一个有效的数据库连接对象</param> |
| | | /// <param name="commandType">命令类型(存储过程,命令文本或其它.)</param> |
| | | /// <param name="commandText">存储过程名称或T-SQL语句</param> |
| | | /// <param name="commandParameters">SqlParamter参数数组</param> |
| | | /// <returns>返回影响的行数</returns> |
| | | public static int ExecuteNonQuery(SqlTransaction transaction, CommandType commandType, string commandText, params SqlParameter[] commandParameters) |
| | | { |
| | | if (transaction == null) throw new ArgumentNullException("transaction"); |
| | | if (transaction != null && transaction.Connection == null) throw new ArgumentException("The transaction was rollbacked or commited, please provide an open transaction.", "transaction"); |
| | | |
| | | // 预处理 |
| | | SqlCommand cmd = new SqlCommand(); |
| | | bool mustCloseConnection = false; |
| | | PrepareCommand(cmd, transaction.Connection, transaction, commandType, commandText, commandParameters, out mustCloseConnection); |
| | | |
| | | // 执行 |
| | | int retval = cmd.ExecuteNonQuery(); |
| | | |
| | | // 清除参数集,以便再次使用. |
| | | cmd.Parameters.Clear(); |
| | | return retval; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行带事务的SqlCommand(指定参数值). |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 此方法不提供访问存储过程输出参数和返回值 |
| | | /// 示例: |
| | | /// int result = ExecuteNonQuery(conn, trans, "PublishOrders", 24, 36); |
| | | /// </remarks> |
| | | /// <param name="transaction">一个有效的数据库连接对象</param> |
| | | /// <param name="spName">存储过程名</param> |
| | | /// <param name="parameterValues">分配给存储过程输入参数的对象数组</param> |
| | | /// <returns>返回受影响的行数</returns> |
| | | public static int ExecuteNonQuery(SqlTransaction transaction, string spName, params object[] parameterValues) |
| | | { |
| | | if (transaction == null) throw new ArgumentNullException("transaction"); |
| | | if (transaction != null && transaction.Connection == null) throw new ArgumentException("The transaction was rollbacked or commited, please provide an open transaction.", "transaction"); |
| | | if (spName == null || spName.Length == 0) throw new ArgumentNullException("spName"); |
| | | |
| | | // 如果有参数值 |
| | | if ((parameterValues != null) && (parameterValues.Length > 0)) |
| | | { |
| | | // 从缓存中加载存储过程参数,如果缓存中不存在则从数据库中检索参数信息并加载到缓存中. () |
| | | SqlParameter[] commandParameters = SqlHelperParameterCache.GetSpParameterSet(transaction.Connection, spName); |
| | | |
| | | // 给存储过程参数赋值 |
| | | AssignParameterValues(commandParameters, parameterValues); |
| | | |
| | | // 调用重载方法 |
| | | return ExecuteNonQuery(transaction, CommandType.StoredProcedure, spName, commandParameters); |
| | | } |
| | | else |
| | | { |
| | | // 没有参数值 |
| | | return ExecuteNonQuery(transaction, CommandType.StoredProcedure, spName); |
| | | } |
| | | } |
| | | |
| | | #endregion ExecuteNonQuery方法结束 |
| | | |
| | | #region ExecuteDataset方法 |
| | | |
| | | /// <summary> |
| | | /// 执行指定数据库连接字符串的命令,返回DataSet. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 示例: |
| | | /// DataSet ds = ExecuteDataset(connString, CommandType.StoredProcedure, "GetOrders"); |
| | | /// </remarks> |
| | | /// <param name="connectionString">一个有效的数据库连接字符串</param> |
| | | /// <param name="commandType">命令类型 (存储过程,命令文本或其它)</param> |
| | | /// <param name="commandText">存储过程名称或T-SQL语句</param> |
| | | /// <returns>返回一个包含结果集的DataSet</returns> |
| | | public static DataSet ExecuteDataset(string connectionString, CommandType commandType, string commandText) |
| | | { |
| | | return ExecuteDataset(connectionString, commandType, commandText, (SqlParameter[])null); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定数据库连接字符串的命令,返回DataSet. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 示例: |
| | | /// DataSet ds = ExecuteDataset(connString, CommandType.StoredProcedure, "GetOrders", new SqlParameter("@prodid", 24)); |
| | | /// </remarks> |
| | | /// <param name="connectionString">一个有效的数据库连接字符串</param> |
| | | /// <param name="commandType">命令类型 (存储过程,命令文本或其它)</param> |
| | | /// <param name="commandText">存储过程名称或T-SQL语句</param> |
| | | /// <param name="commandParameters">SqlParamters参数数组</param> |
| | | /// <returns>返回一个包含结果集的DataSet</returns> |
| | | public static DataSet ExecuteDataset(string connectionString, CommandType commandType, string commandText, params SqlParameter[] commandParameters) |
| | | { |
| | | if (connectionString == null || connectionString.Length == 0) throw new ArgumentNullException("connectionString"); |
| | | |
| | | // 创建并打开数据库连接对象,操作完成释放对象. |
| | | using (SqlConnection connection = new SqlConnection(connectionString)) |
| | | { |
| | | connection.Open(); |
| | | |
| | | // 调用指定数据库连接字符串重载方法. |
| | | return ExecuteDataset(connection, commandType, commandText, commandParameters); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定数据库连接字符串的命令,直接提供参数值,返回DataSet. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 此方法不提供访问存储过程输出参数和返回值. |
| | | /// 示例: |
| | | /// DataSet ds = ExecuteDataset(connString, "GetOrders", 24, 36); |
| | | /// </remarks> |
| | | /// <param name="connectionString">一个有效的数据库连接字符串</param> |
| | | /// <param name="spName">存储过程名</param> |
| | | /// <param name="parameterValues">分配给存储过程输入参数的对象数组</param> |
| | | /// <returns>返回一个包含结果集的DataSet</returns> |
| | | public static DataSet ExecuteDataset(string connectionString, string spName, params object[] parameterValues) |
| | | { |
| | | if (connectionString == null || connectionString.Length == 0) throw new ArgumentNullException("connectionString"); |
| | | if (spName == null || spName.Length == 0) throw new ArgumentNullException("spName"); |
| | | |
| | | if ((parameterValues != null) && (parameterValues.Length > 0)) |
| | | { |
| | | // 从缓存中检索存储过程参数 |
| | | SqlParameter[] commandParameters = SqlHelperParameterCache.GetSpParameterSet(connectionString, spName); |
| | | |
| | | // 给存储过程参数分配值 |
| | | AssignParameterValues(commandParameters, parameterValues); |
| | | |
| | | return ExecuteDataset(connectionString, CommandType.StoredProcedure, spName, commandParameters); |
| | | } |
| | | else |
| | | { |
| | | return ExecuteDataset(connectionString, CommandType.StoredProcedure, spName); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定数据库连接对象的命令,返回DataSet. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 示例: |
| | | /// DataSet ds = ExecuteDataset(conn, CommandType.StoredProcedure, "GetOrders"); |
| | | /// </remarks> |
| | | /// <param name="connection">一个有效的数据库连接对象</param> |
| | | /// <param name="commandType">命令类型 (存储过程,命令文本或其它)</param> |
| | | /// <param name="commandText">存储过程名或T-SQL语句</param> |
| | | /// <returns>返回一个包含结果集的DataSet</returns> |
| | | public static DataSet ExecuteDataset(SqlConnection connection, CommandType commandType, string commandText) |
| | | { |
| | | return ExecuteDataset(connection, commandType, commandText, (SqlParameter[])null); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定数据库连接对象的命令,指定存储过程参数,返回DataSet. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 示例: |
| | | /// DataSet ds = ExecuteDataset(conn, CommandType.StoredProcedure, "GetOrders", new SqlParameter("@prodid", 24)); |
| | | /// </remarks> |
| | | /// <param name="connection">一个有效的数据库连接对象</param> |
| | | /// <param name="commandType">命令类型 (存储过程,命令文本或其它)</param> |
| | | /// <param name="commandText">存储过程名或T-SQL语句</param> |
| | | /// <param name="commandParameters">SqlParamter参数数组</param> |
| | | /// <returns>返回一个包含结果集的DataSet</returns> |
| | | public static DataSet ExecuteDataset(SqlConnection connection, CommandType commandType, string commandText, params SqlParameter[] commandParameters) |
| | | { |
| | | if (connection == null) throw new ArgumentNullException("connection"); |
| | | |
| | | // 预处理 |
| | | SqlCommand cmd = new SqlCommand(); |
| | | bool mustCloseConnection = false; |
| | | PrepareCommand(cmd, connection, (SqlTransaction)null, commandType, commandText, commandParameters, out mustCloseConnection); |
| | | |
| | | // 创建SqlDataAdapter和DataSet. |
| | | using (SqlDataAdapter da = new SqlDataAdapter(cmd)) |
| | | { |
| | | DataSet ds = new DataSet(); |
| | | |
| | | // 填充DataSet. |
| | | da.Fill(ds); |
| | | |
| | | cmd.Parameters.Clear(); |
| | | |
| | | if (mustCloseConnection) |
| | | connection.Close(); |
| | | |
| | | return ds; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定数据库连接对象的命令,指定参数值,返回DataSet. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 此方法不提供访问存储过程输入参数和返回值. |
| | | /// 示例.: |
| | | /// DataSet ds = ExecuteDataset(conn, "GetOrders", 24, 36); |
| | | /// </remarks> |
| | | /// <param name="connection">一个有效的数据库连接对象</param> |
| | | /// <param name="spName">存储过程名</param> |
| | | /// <param name="parameterValues">分配给存储过程输入参数的对象数组</param> |
| | | /// <returns>返回一个包含结果集的DataSet</returns> |
| | | public static DataSet ExecuteDataset(SqlConnection connection, string spName, params object[] parameterValues) |
| | | { |
| | | if (connection == null) throw new ArgumentNullException("connection"); |
| | | if (spName == null || spName.Length == 0) throw new ArgumentNullException("spName"); |
| | | |
| | | if ((parameterValues != null) && (parameterValues.Length > 0)) |
| | | { |
| | | // 比缓存中加载存储过程参数 |
| | | SqlParameter[] commandParameters = SqlHelperParameterCache.GetSpParameterSet(connection, spName); |
| | | |
| | | // 给存储过程参数分配值 |
| | | AssignParameterValues(commandParameters, parameterValues); |
| | | |
| | | return ExecuteDataset(connection, CommandType.StoredProcedure, spName, commandParameters); |
| | | } |
| | | else |
| | | { |
| | | return ExecuteDataset(connection, CommandType.StoredProcedure, spName); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定事务的命令,返回DataSet. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 示例: |
| | | /// DataSet ds = ExecuteDataset(trans, CommandType.StoredProcedure, "GetOrders"); |
| | | /// </remarks> |
| | | /// <param name="transaction">事务</param> |
| | | /// <param name="commandType">命令类型 (存储过程,命令文本或其它)</param> |
| | | /// <param name="commandText">存储过程名或T-SQL语句</param> |
| | | /// <returns>返回一个包含结果集的DataSet</returns> |
| | | public static DataSet ExecuteDataset(SqlTransaction transaction, CommandType commandType, string commandText) |
| | | { |
| | | return ExecuteDataset(transaction, commandType, commandText, (SqlParameter[])null); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定事务的命令,指定参数,返回DataSet. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 示例: |
| | | /// DataSet ds = ExecuteDataset(trans, CommandType.StoredProcedure, "GetOrders", new SqlParameter("@prodid", 24)); |
| | | /// </remarks> |
| | | /// <param name="transaction">事务</param> |
| | | /// <param name="commandType">命令类型 (存储过程,命令文本或其它)</param> |
| | | /// <param name="commandText">存储过程名或T-SQL语句</param> |
| | | /// <param name="commandParameters">SqlParamter参数数组</param> |
| | | /// <returns>返回一个包含结果集的DataSet</returns> |
| | | public static DataSet ExecuteDataset(SqlTransaction transaction, CommandType commandType, string commandText, params SqlParameter[] commandParameters) |
| | | { |
| | | if (transaction == null) throw new ArgumentNullException("transaction"); |
| | | if (transaction != null && transaction.Connection == null) throw new ArgumentException("The transaction was rollbacked or commited, please provide an open transaction.", "transaction"); |
| | | |
| | | // 预处理 |
| | | SqlCommand cmd = new SqlCommand(); |
| | | bool mustCloseConnection = false; |
| | | PrepareCommand(cmd, transaction.Connection, transaction, commandType, commandText, commandParameters, out mustCloseConnection); |
| | | |
| | | // 创建 DataAdapter & DataSet |
| | | using (SqlDataAdapter da = new SqlDataAdapter(cmd)) |
| | | { |
| | | DataSet ds = new DataSet(); |
| | | da.Fill(ds); |
| | | cmd.Parameters.Clear(); |
| | | return ds; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定事务的命令,指定参数值,返回DataSet. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 此方法不提供访问存储过程输入参数和返回值. |
| | | /// 示例.: |
| | | /// DataSet ds = ExecuteDataset(trans, "GetOrders", 24, 36); |
| | | /// </remarks> |
| | | /// <param name="transaction">事务</param> |
| | | /// <param name="spName">存储过程名</param> |
| | | /// <param name="parameterValues">分配给存储过程输入参数的对象数组</param> |
| | | /// <returns>返回一个包含结果集的DataSet</returns> |
| | | public static DataSet ExecuteDataset(SqlTransaction transaction, string spName, params object[] parameterValues) |
| | | { |
| | | if (transaction == null) throw new ArgumentNullException("transaction"); |
| | | if (transaction != null && transaction.Connection == null) throw new ArgumentException("The transaction was rollbacked or commited, please provide an open transaction.", "transaction"); |
| | | if (spName == null || spName.Length == 0) throw new ArgumentNullException("spName"); |
| | | |
| | | if ((parameterValues != null) && (parameterValues.Length > 0)) |
| | | { |
| | | // 从缓存中加载存储过程参数 |
| | | SqlParameter[] commandParameters = SqlHelperParameterCache.GetSpParameterSet(transaction.Connection, spName); |
| | | |
| | | // 给存储过程参数分配值 |
| | | AssignParameterValues(commandParameters, parameterValues); |
| | | |
| | | return ExecuteDataset(transaction, CommandType.StoredProcedure, spName, commandParameters); |
| | | } |
| | | else |
| | | { |
| | | return ExecuteDataset(transaction, CommandType.StoredProcedure, spName); |
| | | } |
| | | } |
| | | |
| | | #endregion ExecuteDataset数据集命令结束 |
| | | |
| | | #region ExecuteReader 数据阅读器 |
| | | |
| | | /// <summary> |
| | | /// 枚举,标识数据库连接是由SqlHelper提供还是由调用者提供 |
| | | /// </summary> |
| | | private enum SqlConnectionOwnership |
| | | { |
| | | /// <summary>由SqlHelper提供连接</summary> |
| | | Internal, |
| | | /// <summary>由调用者提供连接</summary> |
| | | External |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定数据库连接对象的数据阅读器. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 如果是SqlHelper打开连接,当连接关闭DataReader也将关闭. |
| | | /// 如果是调用都打开连接,DataReader由调用都管理. |
| | | /// </remarks> |
| | | /// <param name="connection">一个有效的数据库连接对象</param> |
| | | /// <param name="transaction">一个有效的事务,或者为 'null'</param> |
| | | /// <param name="commandType">命令类型 (存储过程,命令文本或其它)</param> |
| | | /// <param name="commandText">存储过程名或T-SQL语句</param> |
| | | /// <param name="commandParameters">SqlParameters参数数组,如果没有参数则为'null'</param> |
| | | /// <param name="connectionOwnership">标识数据库连接对象是由调用者提供还是由SqlHelper提供</param> |
| | | /// <returns>返回包含结果集的SqlDataReader</returns> |
| | | private static SqlDataReader ExecuteReader(SqlConnection connection, SqlTransaction transaction, CommandType commandType, string commandText, SqlParameter[] commandParameters, SqlConnectionOwnership connectionOwnership) |
| | | { |
| | | if (connection == null) throw new ArgumentNullException("connection"); |
| | | |
| | | bool mustCloseConnection = false; |
| | | // 创建命令 |
| | | SqlCommand cmd = new SqlCommand(); |
| | | try |
| | | { |
| | | PrepareCommand(cmd, connection, transaction, commandType, commandText, commandParameters, out mustCloseConnection); |
| | | |
| | | // 创建数据阅读器 |
| | | SqlDataReader dataReader; |
| | | |
| | | if (connectionOwnership == SqlConnectionOwnership.External) |
| | | { |
| | | dataReader = cmd.ExecuteReader(); |
| | | } |
| | | else |
| | | { |
| | | dataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection); |
| | | } |
| | | |
| | | // 清除参数,以便再次使用.. |
| | | // HACK: There is a problem here, the output parameter values are fletched |
| | | // when the reader is closed, so if the parameters are detached from the command |
| | | // then the SqlReader can磘 set its values. |
| | | // When this happen, the parameters can磘 be used again in other command. |
| | | bool canClear = true; |
| | | foreach (SqlParameter commandParameter in cmd.Parameters) |
| | | { |
| | | if (commandParameter.Direction != ParameterDirection.Input) |
| | | canClear = false; |
| | | } |
| | | |
| | | if (canClear) |
| | | { |
| | | cmd.Parameters.Clear(); |
| | | } |
| | | |
| | | return dataReader; |
| | | } |
| | | catch |
| | | { |
| | | if (mustCloseConnection) |
| | | connection.Close(); |
| | | throw; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定数据库连接字符串的数据阅读器. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 示例: |
| | | /// SqlDataReader dr = ExecuteReader(connString, CommandType.StoredProcedure, "GetOrders"); |
| | | /// </remarks> |
| | | /// <param name="connectionString">一个有效的数据库连接字符串</param> |
| | | /// <param name="commandType">命令类型 (存储过程,命令文本或其它)</param> |
| | | /// <param name="commandText">存储过程名或T-SQL语句</param> |
| | | /// <returns>返回包含结果集的SqlDataReader</returns> |
| | | public static SqlDataReader ExecuteReader(string connectionString, CommandType commandType, string commandText) |
| | | { |
| | | return ExecuteReader(connectionString, commandType, commandText, (SqlParameter[])null); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定数据库连接字符串的数据阅读器,指定参数. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 示例: |
| | | /// SqlDataReader dr = ExecuteReader(connString, CommandType.StoredProcedure, "GetOrders", new SqlParameter("@prodid", 24)); |
| | | /// </remarks> |
| | | /// <param name="connectionString">一个有效的数据库连接字符串</param> |
| | | /// <param name="commandType">命令类型 (存储过程,命令文本或其它)</param> |
| | | /// <param name="commandText">存储过程名或T-SQL语句</param> |
| | | /// <param name="commandParameters">SqlParamter参数数组(new SqlParameter("@prodid", 24))</param> |
| | | /// <returns>返回包含结果集的SqlDataReader</returns> |
| | | public static SqlDataReader ExecuteReader(string connectionString, CommandType commandType, string commandText, params SqlParameter[] commandParameters) |
| | | { |
| | | if (connectionString == null || connectionString.Length == 0) throw new ArgumentNullException("connectionString"); |
| | | SqlConnection connection = null; |
| | | try |
| | | { |
| | | connection = new SqlConnection(connectionString); |
| | | connection.Open(); |
| | | |
| | | return ExecuteReader(connection, null, commandType, commandText, commandParameters, SqlConnectionOwnership.Internal); |
| | | } |
| | | catch |
| | | { |
| | | // If we fail to return the SqlDatReader, we need to close the connection ourselves |
| | | if (connection != null) connection.Close(); |
| | | throw; |
| | | } |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定数据库连接字符串的数据阅读器,指定参数值. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 此方法不提供访问存储过程输出参数和返回值参数. |
| | | /// 示例: |
| | | /// SqlDataReader dr = ExecuteReader(connString, "GetOrders", 24, 36); |
| | | /// </remarks> |
| | | /// <param name="connectionString">一个有效的数据库连接字符串</param> |
| | | /// <param name="spName">存储过程名</param> |
| | | /// <param name="parameterValues">分配给存储过程输入参数的对象数组</param> |
| | | /// <returns>返回包含结果集的SqlDataReader</returns> |
| | | public static SqlDataReader ExecuteReader(string connectionString, string spName, params object[] parameterValues) |
| | | { |
| | | if (connectionString == null || connectionString.Length == 0) throw new ArgumentNullException("connectionString"); |
| | | if (spName == null || spName.Length == 0) throw new ArgumentNullException("spName"); |
| | | |
| | | if ((parameterValues != null) && (parameterValues.Length > 0)) |
| | | { |
| | | SqlParameter[] commandParameters = SqlHelperParameterCache.GetSpParameterSet(connectionString, spName); |
| | | |
| | | AssignParameterValues(commandParameters, parameterValues); |
| | | |
| | | return ExecuteReader(connectionString, CommandType.StoredProcedure, spName, commandParameters); |
| | | } |
| | | else |
| | | { |
| | | return ExecuteReader(connectionString, CommandType.StoredProcedure, spName); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定数据库连接对象的数据阅读器. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 示例: |
| | | /// SqlDataReader dr = ExecuteReader(conn, CommandType.StoredProcedure, "GetOrders"); |
| | | /// </remarks> |
| | | /// <param name="connection">一个有效的数据库连接对象</param> |
| | | /// <param name="commandType">命令类型 (存储过程,命令文本或其它)</param> |
| | | /// <param name="commandText">存储过程名或T-SQL语句</param> |
| | | /// <returns>返回包含结果集的SqlDataReader</returns> |
| | | public static SqlDataReader ExecuteReader(SqlConnection connection, CommandType commandType, string commandText) |
| | | { |
| | | return ExecuteReader(connection, commandType, commandText, (SqlParameter[])null); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// [调用者方式]执行指定数据库连接对象的数据阅读器,指定参数. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 示例: |
| | | /// SqlDataReader dr = ExecuteReader(conn, CommandType.StoredProcedure, "GetOrders", new SqlParameter("@prodid", 24)); |
| | | /// </remarks> |
| | | /// <param name="connection">一个有效的数据库连接对象</param> |
| | | /// <param name="commandType">命令类型 (存储过程,命令文本或其它)</param> |
| | | /// <param name="commandText">命令类型 (存储过程,命令文本或其它)</param> |
| | | /// <param name="commandParameters">SqlParamter参数数组</param> |
| | | /// <returns>返回包含结果集的SqlDataReader</returns> |
| | | public static SqlDataReader ExecuteReader(SqlConnection connection, CommandType commandType, string commandText, params SqlParameter[] commandParameters) |
| | | { |
| | | return ExecuteReader(connection, (SqlTransaction)null, commandType, commandText, commandParameters, SqlConnectionOwnership.External); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// [调用者方式]执行指定数据库连接对象的数据阅读器,指定参数值. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 此方法不提供访问存储过程输出参数和返回值参数. |
| | | /// 示例: |
| | | /// SqlDataReader dr = ExecuteReader(conn, "GetOrders", 24, 36); |
| | | /// </remarks> |
| | | /// <param name="connection">一个有效的数据库连接对象</param> |
| | | /// <param name="spName">T存储过程名</param> |
| | | /// <param name="parameterValues">分配给存储过程输入参数的对象数组</param> |
| | | /// <returns>返回包含结果集的SqlDataReader</returns> |
| | | public static SqlDataReader ExecuteReader(SqlConnection connection, string spName, params object[] parameterValues) |
| | | { |
| | | if (connection == null) throw new ArgumentNullException("connection"); |
| | | if (spName == null || spName.Length == 0) throw new ArgumentNullException("spName"); |
| | | |
| | | if ((parameterValues != null) && (parameterValues.Length > 0)) |
| | | { |
| | | SqlParameter[] commandParameters = SqlHelperParameterCache.GetSpParameterSet(connection, spName); |
| | | |
| | | AssignParameterValues(commandParameters, parameterValues); |
| | | |
| | | return ExecuteReader(connection, CommandType.StoredProcedure, spName, commandParameters); |
| | | } |
| | | else |
| | | { |
| | | return ExecuteReader(connection, CommandType.StoredProcedure, spName); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// [调用者方式]执行指定数据库事务的数据阅读器,指定参数值. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 示例: |
| | | /// SqlDataReader dr = ExecuteReader(trans, CommandType.StoredProcedure, "GetOrders"); |
| | | /// </remarks> |
| | | /// <param name="transaction">一个有效的连接事务</param> |
| | | /// <param name="commandType">命令类型 (存储过程,命令文本或其它)</param> |
| | | /// <param name="commandText">存储过程名称或T-SQL语句</param> |
| | | /// <returns>返回包含结果集的SqlDataReader</returns> |
| | | public static SqlDataReader ExecuteReader(SqlTransaction transaction, CommandType commandType, string commandText) |
| | | { |
| | | return ExecuteReader(transaction, commandType, commandText, (SqlParameter[])null); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// [调用者方式]执行指定数据库事务的数据阅读器,指定参数. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 示例: |
| | | /// SqlDataReader dr = ExecuteReader(trans, CommandType.StoredProcedure, "GetOrders", new SqlParameter("@prodid", 24)); |
| | | /// </remarks> |
| | | /// <param name="transaction">一个有效的连接事务</param> |
| | | /// <param name="commandType">命令类型 (存储过程,命令文本或其它)</param> |
| | | /// <param name="commandText">存储过程名称或T-SQL语句</param> |
| | | /// <param name="commandParameters">分配给命令的SqlParamter参数数组</param> |
| | | /// <returns>返回包含结果集的SqlDataReader</returns> |
| | | public static SqlDataReader ExecuteReader(SqlTransaction transaction, CommandType commandType, string commandText, params SqlParameter[] commandParameters) |
| | | { |
| | | if (transaction == null) throw new ArgumentNullException("transaction"); |
| | | if (transaction != null && transaction.Connection == null) throw new ArgumentException("The transaction was rollbacked or commited, please provide an open transaction.", "transaction"); |
| | | |
| | | return ExecuteReader(transaction.Connection, transaction, commandType, commandText, commandParameters, SqlConnectionOwnership.External); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// [调用者方式]执行指定数据库事务的数据阅读器,指定参数值. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 此方法不提供访问存储过程输出参数和返回值参数. |
| | | /// |
| | | /// 示例: |
| | | /// SqlDataReader dr = ExecuteReader(trans, "GetOrders", 24, 36); |
| | | /// </remarks> |
| | | /// <param name="transaction">一个有效的连接事务</param> |
| | | /// <param name="spName">存储过程名称</param> |
| | | /// <param name="parameterValues">分配给存储过程输入参数的对象数组</param> |
| | | /// <returns>返回包含结果集的SqlDataReader</returns> |
| | | public static SqlDataReader ExecuteReader(SqlTransaction transaction, string spName, params object[] parameterValues) |
| | | { |
| | | if (transaction == null) throw new ArgumentNullException("transaction"); |
| | | if (transaction != null && transaction.Connection == null) throw new ArgumentException("The transaction was rollbacked or commited, please provide an open transaction.", "transaction"); |
| | | if (spName == null || spName.Length == 0) throw new ArgumentNullException("spName"); |
| | | |
| | | // 如果有参数值 |
| | | if ((parameterValues != null) && (parameterValues.Length > 0)) |
| | | { |
| | | SqlParameter[] commandParameters = SqlHelperParameterCache.GetSpParameterSet(transaction.Connection, spName); |
| | | |
| | | AssignParameterValues(commandParameters, parameterValues); |
| | | |
| | | return ExecuteReader(transaction, CommandType.StoredProcedure, spName, commandParameters); |
| | | } |
| | | else |
| | | { |
| | | // 没有参数值 |
| | | return ExecuteReader(transaction, CommandType.StoredProcedure, spName); |
| | | } |
| | | } |
| | | |
| | | #endregion ExecuteReader数据阅读器 |
| | | |
| | | #region ExecuteScalar 返回结果集中的第一行第一列 |
| | | |
| | | /// <summary> |
| | | /// 执行指定数据库连接字符串的命令,返回结果集中的第一行第一列. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 示例: |
| | | /// int orderCount = (int)ExecuteScalar(connString, CommandType.StoredProcedure, "GetOrderCount"); |
| | | /// </remarks> |
| | | /// <param name="connectionString">一个有效的数据库连接字符串</param> |
| | | /// <param name="commandType">命令类型 (存储过程,命令文本或其它)</param> |
| | | /// <param name="commandText">存储过程名称或T-SQL语句</param> |
| | | /// <returns>返回结果集中的第一行第一列</returns> |
| | | public static object ExecuteScalar(string connectionString, CommandType commandType, string commandText) |
| | | { |
| | | // 执行参数为空的方法 |
| | | return ExecuteScalar(connectionString, commandType, commandText, (SqlParameter[])null); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定数据库连接字符串的命令,指定参数,返回结果集中的第一行第一列. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 示例: |
| | | /// int orderCount = (int)ExecuteScalar(connString, CommandType.StoredProcedure, "GetOrderCount", new SqlParameter("@prodid", 24)); |
| | | /// </remarks> |
| | | /// <param name="connectionString">一个有效的数据库连接字符串</param> |
| | | /// <param name="commandType">命令类型 (存储过程,命令文本或其它)</param> |
| | | /// <param name="commandText">存储过程名称或T-SQL语句</param> |
| | | /// <param name="commandParameters">分配给命令的SqlParamter参数数组</param> |
| | | /// <returns>返回结果集中的第一行第一列</returns> |
| | | public static object ExecuteScalar(string connectionString, CommandType commandType, string commandText, params SqlParameter[] commandParameters) |
| | | { |
| | | if (connectionString == null || connectionString.Length == 0) throw new ArgumentNullException("connectionString"); |
| | | // 创建并打开数据库连接对象,操作完成释放对象. |
| | | using (SqlConnection connection = new SqlConnection(connectionString)) |
| | | { |
| | | connection.Open(); |
| | | |
| | | // 调用指定数据库连接字符串重载方法. |
| | | return ExecuteScalar(connection, commandType, commandText, commandParameters); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定数据库连接字符串的命令,指定参数值,返回结果集中的第一行第一列. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 此方法不提供访问存储过程输出参数和返回值参数. |
| | | /// |
| | | /// 示例: |
| | | /// int orderCount = (int)ExecuteScalar(connString, "GetOrderCount", 24, 36); |
| | | /// </remarks> |
| | | /// <param name="connectionString">一个有效的数据库连接字符串</param> |
| | | /// <param name="spName">存储过程名称</param> |
| | | /// <param name="parameterValues">分配给存储过程输入参数的对象数组</param> |
| | | /// <returns>返回结果集中的第一行第一列</returns> |
| | | public static object ExecuteScalar(string connectionString, string spName, params object[] parameterValues) |
| | | { |
| | | if (connectionString == null || connectionString.Length == 0) throw new ArgumentNullException("connectionString"); |
| | | if (spName == null || spName.Length == 0) throw new ArgumentNullException("spName"); |
| | | |
| | | // 如果有参数值 |
| | | if ((parameterValues != null) && (parameterValues.Length > 0)) |
| | | { |
| | | // 从缓存中加载存储过程参数,如果缓存中不存在则从数据库中检索参数信息并加载到缓存中. () |
| | | SqlParameter[] commandParameters = SqlHelperParameterCache.GetSpParameterSet(connectionString, spName); |
| | | |
| | | // 给存储过程参数赋值 |
| | | AssignParameterValues(commandParameters, parameterValues); |
| | | |
| | | // 调用重载方法 |
| | | return ExecuteScalar(connectionString, CommandType.StoredProcedure, spName, commandParameters); |
| | | } |
| | | else |
| | | { |
| | | // 没有参数值 |
| | | return ExecuteScalar(connectionString, CommandType.StoredProcedure, spName); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定数据库连接对象的命令,返回结果集中的第一行第一列. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 示例: |
| | | /// int orderCount = (int)ExecuteScalar(conn, CommandType.StoredProcedure, "GetOrderCount"); |
| | | /// </remarks> |
| | | /// <param name="connection">一个有效的数据库连接对象</param> |
| | | /// <param name="commandType">命令类型 (存储过程,命令文本或其它)</param> |
| | | /// <param name="commandText">存储过程名称或T-SQL语句</param> |
| | | /// <returns>返回结果集中的第一行第一列</returns> |
| | | public static object ExecuteScalar(SqlConnection connection, CommandType commandType, string commandText) |
| | | { |
| | | // 执行参数为空的方法 |
| | | return ExecuteScalar(connection, commandType, commandText, (SqlParameter[])null); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定数据库连接对象的命令,指定参数,返回结果集中的第一行第一列. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 示例: |
| | | /// int orderCount = (int)ExecuteScalar(conn, CommandType.StoredProcedure, "GetOrderCount", new SqlParameter("@prodid", 24)); |
| | | /// </remarks> |
| | | /// <param name="connection">一个有效的数据库连接对象</param> |
| | | /// <param name="commandType">命令类型 (存储过程,命令文本或其它)</param> |
| | | /// <param name="commandText">存储过程名称或T-SQL语句</param> |
| | | /// <param name="commandParameters">分配给命令的SqlParamter参数数组</param> |
| | | /// <returns>返回结果集中的第一行第一列</returns> |
| | | public static object ExecuteScalar(SqlConnection connection, CommandType commandType, string commandText, params SqlParameter[] commandParameters) |
| | | { |
| | | if (connection == null) throw new ArgumentNullException("connection"); |
| | | |
| | | // 创建SqlCommand命令,并进行预处理 |
| | | SqlCommand cmd = new SqlCommand(); |
| | | |
| | | bool mustCloseConnection = false; |
| | | PrepareCommand(cmd, connection, (SqlTransaction)null, commandType, commandText, commandParameters, out mustCloseConnection); |
| | | |
| | | // 执行SqlCommand命令,并返回结果. |
| | | object retval = cmd.ExecuteScalar(); |
| | | |
| | | // 清除参数,以便再次使用. |
| | | cmd.Parameters.Clear(); |
| | | |
| | | if (mustCloseConnection) |
| | | connection.Close(); |
| | | |
| | | return retval; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定数据库连接对象的命令,指定参数值,返回结果集中的第一行第一列. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 此方法不提供访问存储过程输出参数和返回值参数. |
| | | /// |
| | | /// 示例: |
| | | /// int orderCount = (int)ExecuteScalar(conn, "GetOrderCount", 24, 36); |
| | | /// </remarks> |
| | | /// <param name="connection">一个有效的数据库连接对象</param> |
| | | /// <param name="spName">存储过程名称</param> |
| | | /// <param name="parameterValues">分配给存储过程输入参数的对象数组</param> |
| | | /// <returns>返回结果集中的第一行第一列</returns> |
| | | public static object ExecuteScalar(SqlConnection connection, string spName, params object[] parameterValues) |
| | | { |
| | | if (connection == null) throw new ArgumentNullException("connection"); |
| | | if (spName == null || spName.Length == 0) throw new ArgumentNullException("spName"); |
| | | |
| | | // 如果有参数值 |
| | | if ((parameterValues != null) && (parameterValues.Length > 0)) |
| | | { |
| | | // 从缓存中加载存储过程参数,如果缓存中不存在则从数据库中检索参数信息并加载到缓存中. () |
| | | SqlParameter[] commandParameters = SqlHelperParameterCache.GetSpParameterSet(connection, spName); |
| | | |
| | | // 给存储过程参数赋值 |
| | | AssignParameterValues(commandParameters, parameterValues); |
| | | |
| | | // 调用重载方法 |
| | | return ExecuteScalar(connection, CommandType.StoredProcedure, spName, commandParameters); |
| | | } |
| | | else |
| | | { |
| | | // 没有参数值 |
| | | return ExecuteScalar(connection, CommandType.StoredProcedure, spName); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定数据库事务的命令,返回结果集中的第一行第一列. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 示例: |
| | | /// int orderCount = (int)ExecuteScalar(trans, CommandType.StoredProcedure, "GetOrderCount"); |
| | | /// </remarks> |
| | | /// <param name="transaction">一个有效的连接事务</param> |
| | | /// <param name="commandType">命令类型 (存储过程,命令文本或其它)</param> |
| | | /// <param name="commandText">存储过程名称或T-SQL语句</param> |
| | | /// <returns>返回结果集中的第一行第一列</returns> |
| | | public static object ExecuteScalar(SqlTransaction transaction, CommandType commandType, string commandText) |
| | | { |
| | | // 执行参数为空的方法 |
| | | return ExecuteScalar(transaction, commandType, commandText, (SqlParameter[])null); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定数据库事务的命令,指定参数,返回结果集中的第一行第一列. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 示例: |
| | | /// int orderCount = (int)ExecuteScalar(trans, CommandType.StoredProcedure, "GetOrderCount", new SqlParameter("@prodid", 24)); |
| | | /// </remarks> |
| | | /// <param name="transaction">一个有效的连接事务</param> |
| | | /// <param name="commandType">命令类型 (存储过程,命令文本或其它)</param> |
| | | /// <param name="commandText">存储过程名称或T-SQL语句</param> |
| | | /// <param name="commandParameters">分配给命令的SqlParamter参数数组</param> |
| | | /// <returns>返回结果集中的第一行第一列</returns> |
| | | public static object ExecuteScalar(SqlTransaction transaction, CommandType commandType, string commandText, params SqlParameter[] commandParameters) |
| | | { |
| | | if (transaction == null) throw new ArgumentNullException("transaction"); |
| | | if (transaction != null && transaction.Connection == null) throw new ArgumentException("The transaction was rollbacked or commited, please provide an open transaction.", "transaction"); |
| | | |
| | | // 创建SqlCommand命令,并进行预处理 |
| | | SqlCommand cmd = new SqlCommand(); |
| | | bool mustCloseConnection = false; |
| | | PrepareCommand(cmd, transaction.Connection, transaction, commandType, commandText, commandParameters, out mustCloseConnection); |
| | | |
| | | // 执行SqlCommand命令,并返回结果. |
| | | object retval = cmd.ExecuteScalar(); |
| | | |
| | | // 清除参数,以便再次使用. |
| | | cmd.Parameters.Clear(); |
| | | return retval; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定数据库事务的命令,指定参数值,返回结果集中的第一行第一列. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 此方法不提供访问存储过程输出参数和返回值参数. |
| | | /// |
| | | /// 示例: |
| | | /// int orderCount = (int)ExecuteScalar(trans, "GetOrderCount", 24, 36); |
| | | /// </remarks> |
| | | /// <param name="transaction">一个有效的连接事务</param> |
| | | /// <param name="spName">存储过程名称</param> |
| | | /// <param name="parameterValues">分配给存储过程输入参数的对象数组</param> |
| | | /// <returns>返回结果集中的第一行第一列</returns> |
| | | public static object ExecuteScalar(SqlTransaction transaction, string spName, params object[] parameterValues) |
| | | { |
| | | if (transaction == null) throw new ArgumentNullException("transaction"); |
| | | if (transaction != null && transaction.Connection == null) throw new ArgumentException("The transaction was rollbacked or commited, please provide an open transaction.", "transaction"); |
| | | if (spName == null || spName.Length == 0) throw new ArgumentNullException("spName"); |
| | | |
| | | // 如果有参数值 |
| | | if ((parameterValues != null) && (parameterValues.Length > 0)) |
| | | { |
| | | // PPull the parameters for this stored procedure from the parameter cache () |
| | | SqlParameter[] commandParameters = SqlHelperParameterCache.GetSpParameterSet(transaction.Connection, spName); |
| | | |
| | | // 给存储过程参数赋值 |
| | | AssignParameterValues(commandParameters, parameterValues); |
| | | |
| | | // 调用重载方法 |
| | | return ExecuteScalar(transaction, CommandType.StoredProcedure, spName, commandParameters); |
| | | } |
| | | else |
| | | { |
| | | // 没有参数值 |
| | | return ExecuteScalar(transaction, CommandType.StoredProcedure, spName); |
| | | } |
| | | } |
| | | |
| | | #endregion ExecuteScalar |
| | | |
| | | #region ExecuteXmlReader XML阅读器 |
| | | /// <summary> |
| | | /// 执行指定数据库连接对象的SqlCommand命令,并产生一个XmlReader对象做为结果集返回. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 示例: |
| | | /// XmlReader r = ExecuteXmlReader(conn, CommandType.StoredProcedure, "GetOrders"); |
| | | /// </remarks> |
| | | /// <param name="connection">一个有效的数据库连接对象</param> |
| | | /// <param name="commandType">命令类型 (存储过程,命令文本或其它)</param> |
| | | /// <param name="commandText">存储过程名称或T-SQL语句 using "FOR XML AUTO"</param> |
| | | /// <returns>返回XmlReader结果集对象.</returns> |
| | | public static XmlReader ExecuteXmlReader(SqlConnection connection, CommandType commandType, string commandText) |
| | | { |
| | | // 执行参数为空的方法 |
| | | return ExecuteXmlReader(connection, commandType, commandText, (SqlParameter[])null); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定数据库连接对象的SqlCommand命令,并产生一个XmlReader对象做为结果集返回,指定参数. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 示例: |
| | | /// XmlReader r = ExecuteXmlReader(conn, CommandType.StoredProcedure, "GetOrders", new SqlParameter("@prodid", 24)); |
| | | /// </remarks> |
| | | /// <param name="connection">一个有效的数据库连接对象</param> |
| | | /// <param name="commandType">命令类型 (存储过程,命令文本或其它)</param> |
| | | /// <param name="commandText">存储过程名称或T-SQL语句 using "FOR XML AUTO"</param> |
| | | /// <param name="commandParameters">分配给命令的SqlParamter参数数组</param> |
| | | /// <returns>返回XmlReader结果集对象.</returns> |
| | | public static XmlReader ExecuteXmlReader(SqlConnection connection, CommandType commandType, string commandText, params SqlParameter[] commandParameters) |
| | | { |
| | | if (connection == null) throw new ArgumentNullException("connection"); |
| | | |
| | | bool mustCloseConnection = false; |
| | | // 创建SqlCommand命令,并进行预处理 |
| | | SqlCommand cmd = new SqlCommand(); |
| | | try |
| | | { |
| | | PrepareCommand(cmd, connection, (SqlTransaction)null, commandType, commandText, commandParameters, out mustCloseConnection); |
| | | |
| | | // 执行命令 |
| | | XmlReader retval = cmd.ExecuteXmlReader(); |
| | | |
| | | // 清除参数,以便再次使用. |
| | | cmd.Parameters.Clear(); |
| | | |
| | | return retval; |
| | | } |
| | | catch |
| | | { |
| | | if (mustCloseConnection) |
| | | connection.Close(); |
| | | throw; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定数据库连接对象的SqlCommand命令,并产生一个XmlReader对象做为结果集返回,指定参数值. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 此方法不提供访问存储过程输出参数和返回值参数. |
| | | /// |
| | | /// 示例: |
| | | /// XmlReader r = ExecuteXmlReader(conn, "GetOrders", 24, 36); |
| | | /// </remarks> |
| | | /// <param name="connection">一个有效的数据库连接对象</param> |
| | | /// <param name="spName">存储过程名称 using "FOR XML AUTO"</param> |
| | | /// <param name="parameterValues">分配给存储过程输入参数的对象数组</param> |
| | | /// <returns>返回XmlReader结果集对象.</returns> |
| | | public static XmlReader ExecuteXmlReader(SqlConnection connection, string spName, params object[] parameterValues) |
| | | { |
| | | if (connection == null) throw new ArgumentNullException("connection"); |
| | | if (spName == null || spName.Length == 0) throw new ArgumentNullException("spName"); |
| | | |
| | | // 如果有参数值 |
| | | if ((parameterValues != null) && (parameterValues.Length > 0)) |
| | | { |
| | | // 从缓存中加载存储过程参数,如果缓存中不存在则从数据库中检索参数信息并加载到缓存中. () |
| | | SqlParameter[] commandParameters = SqlHelperParameterCache.GetSpParameterSet(connection, spName); |
| | | |
| | | // 给存储过程参数赋值 |
| | | AssignParameterValues(commandParameters, parameterValues); |
| | | |
| | | // 调用重载方法 |
| | | return ExecuteXmlReader(connection, CommandType.StoredProcedure, spName, commandParameters); |
| | | } |
| | | else |
| | | { |
| | | // 没有参数值 |
| | | return ExecuteXmlReader(connection, CommandType.StoredProcedure, spName); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定数据库事务的SqlCommand命令,并产生一个XmlReader对象做为结果集返回. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 示例: |
| | | /// XmlReader r = ExecuteXmlReader(trans, CommandType.StoredProcedure, "GetOrders"); |
| | | /// </remarks> |
| | | /// <param name="transaction">一个有效的连接事务</param> |
| | | /// <param name="commandType">命令类型 (存储过程,命令文本或其它)</param> |
| | | /// <param name="commandText">存储过程名称或T-SQL语句 using "FOR XML AUTO"</param> |
| | | /// <returns>返回XmlReader结果集对象.</returns> |
| | | public static XmlReader ExecuteXmlReader(SqlTransaction transaction, CommandType commandType, string commandText) |
| | | { |
| | | // 执行参数为空的方法 |
| | | return ExecuteXmlReader(transaction, commandType, commandText, (SqlParameter[])null); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定数据库事务的SqlCommand命令,并产生一个XmlReader对象做为结果集返回,指定参数. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 示例: |
| | | /// XmlReader r = ExecuteXmlReader(trans, CommandType.StoredProcedure, "GetOrders", new SqlParameter("@prodid", 24)); |
| | | /// </remarks> |
| | | /// <param name="transaction">一个有效的连接事务</param> |
| | | /// <param name="commandType">命令类型 (存储过程,命令文本或其它)</param> |
| | | /// <param name="commandText">存储过程名称或T-SQL语句 using "FOR XML AUTO"</param> |
| | | /// <param name="commandParameters">分配给命令的SqlParamter参数数组</param> |
| | | /// <returns>返回XmlReader结果集对象.</returns> |
| | | public static XmlReader ExecuteXmlReader(SqlTransaction transaction, CommandType commandType, string commandText, params SqlParameter[] commandParameters) |
| | | { |
| | | if (transaction == null) throw new ArgumentNullException("transaction"); |
| | | if (transaction != null && transaction.Connection == null) throw new ArgumentException("The transaction was rollbacked or commited, please provide an open transaction.", "transaction"); |
| | | |
| | | // 创建SqlCommand命令,并进行预处理 |
| | | SqlCommand cmd = new SqlCommand(); |
| | | bool mustCloseConnection = false; |
| | | PrepareCommand(cmd, transaction.Connection, transaction, commandType, commandText, commandParameters, out mustCloseConnection); |
| | | |
| | | // 执行命令 |
| | | XmlReader retval = cmd.ExecuteXmlReader(); |
| | | |
| | | // 清除参数,以便再次使用. |
| | | cmd.Parameters.Clear(); |
| | | return retval; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定数据库事务的SqlCommand命令,并产生一个XmlReader对象做为结果集返回,指定参数值. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 此方法不提供访问存储过程输出参数和返回值参数. |
| | | /// |
| | | /// 示例: |
| | | /// XmlReader r = ExecuteXmlReader(trans, "GetOrders", 24, 36); |
| | | /// </remarks> |
| | | /// <param name="transaction">一个有效的连接事务</param> |
| | | /// <param name="spName">存储过程名称</param> |
| | | /// <param name="parameterValues">分配给存储过程输入参数的对象数组</param> |
| | | /// <returns>返回一个包含结果集的DataSet.</returns> |
| | | public static XmlReader ExecuteXmlReader(SqlTransaction transaction, string spName, params object[] parameterValues) |
| | | { |
| | | if (transaction == null) throw new ArgumentNullException("transaction"); |
| | | if (transaction != null && transaction.Connection == null) throw new ArgumentException("The transaction was rollbacked or commited, please provide an open transaction.", "transaction"); |
| | | if (spName == null || spName.Length == 0) throw new ArgumentNullException("spName"); |
| | | |
| | | // 如果有参数值 |
| | | if ((parameterValues != null) && (parameterValues.Length > 0)) |
| | | { |
| | | // 从缓存中加载存储过程参数,如果缓存中不存在则从数据库中检索参数信息并加载到缓存中. () |
| | | SqlParameter[] commandParameters = SqlHelperParameterCache.GetSpParameterSet(transaction.Connection, spName); |
| | | |
| | | // 给存储过程参数赋值 |
| | | AssignParameterValues(commandParameters, parameterValues); |
| | | |
| | | // 调用重载方法 |
| | | return ExecuteXmlReader(transaction, CommandType.StoredProcedure, spName, commandParameters); |
| | | } |
| | | else |
| | | { |
| | | // 没有参数值 |
| | | return ExecuteXmlReader(transaction, CommandType.StoredProcedure, spName); |
| | | } |
| | | } |
| | | |
| | | #endregion ExecuteXmlReader 阅读器结束 |
| | | |
| | | #region FillDataset 填充数据集 |
| | | /// <summary> |
| | | /// 执行指定数据库连接字符串的命令,映射数据表并填充数据集. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 示例: |
| | | /// FillDataset(connString, CommandType.StoredProcedure, "GetOrders", ds, new string[] {"orders"}); |
| | | /// </remarks> |
| | | /// <param name="connectionString">一个有效的数据库连接字符串</param> |
| | | /// <param name="commandType">命令类型 (存储过程,命令文本或其它)</param> |
| | | /// <param name="commandText">存储过程名称或T-SQL语句</param> |
| | | /// <param name="dataSet">要填充结果集的DataSet实例</param> |
| | | /// <param name="tableNames">表映射的数据表数组 |
| | | /// 用户定义的表名 (可有是实际的表名.)</param> |
| | | public static void FillDataset(string connectionString, CommandType commandType, string commandText, DataSet dataSet, string[] tableNames) |
| | | { |
| | | if (connectionString == null || connectionString.Length == 0) throw new ArgumentNullException("connectionString"); |
| | | if (dataSet == null) throw new ArgumentNullException("dataSet"); |
| | | |
| | | // 创建并打开数据库连接对象,操作完成释放对象. |
| | | using (SqlConnection connection = new SqlConnection(connectionString)) |
| | | { |
| | | connection.Open(); |
| | | |
| | | // 调用指定数据库连接字符串重载方法. |
| | | FillDataset(connection, commandType, commandText, dataSet, tableNames); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定数据库连接字符串的命令,映射数据表并填充数据集.指定命令参数. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 示例: |
| | | /// FillDataset(connString, CommandType.StoredProcedure, "GetOrders", ds, new string[] {"orders"}, new SqlParameter("@prodid", 24)); |
| | | /// </remarks> |
| | | /// <param name="connectionString">一个有效的数据库连接字符串</param> |
| | | /// <param name="commandType">命令类型 (存储过程,命令文本或其它)</param> |
| | | /// <param name="commandText">存储过程名称或T-SQL语句</param> |
| | | /// <param name="commandParameters">分配给命令的SqlParamter参数数组</param> |
| | | /// <param name="dataSet">要填充结果集的DataSet实例</param> |
| | | /// <param name="tableNames">表映射的数据表数组 |
| | | /// 用户定义的表名 (可有是实际的表名.) |
| | | /// </param> |
| | | public static void FillDataset(string connectionString, CommandType commandType, |
| | | string commandText, DataSet dataSet, string[] tableNames, |
| | | params SqlParameter[] commandParameters) |
| | | { |
| | | if (connectionString == null || connectionString.Length == 0) throw new ArgumentNullException("connectionString"); |
| | | if (dataSet == null) throw new ArgumentNullException("dataSet"); |
| | | // 创建并打开数据库连接对象,操作完成释放对象. |
| | | using (SqlConnection connection = new SqlConnection(connectionString)) |
| | | { |
| | | connection.Open(); |
| | | |
| | | // 调用指定数据库连接字符串重载方法. |
| | | FillDataset(connection, commandType, commandText, dataSet, tableNames, commandParameters); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定数据库连接字符串的命令,映射数据表并填充数据集,指定存储过程参数值. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 此方法不提供访问存储过程输出参数和返回值参数. |
| | | /// |
| | | /// 示例: |
| | | /// FillDataset(connString, CommandType.StoredProcedure, "GetOrders", ds, new string[] {"orders"}, 24); |
| | | /// </remarks> |
| | | /// <param name="connectionString">一个有效的数据库连接字符串</param> |
| | | /// <param name="spName">存储过程名称</param> |
| | | /// <param name="dataSet">要填充结果集的DataSet实例</param> |
| | | /// <param name="tableNames">表映射的数据表数组 |
| | | /// 用户定义的表名 (可有是实际的表名.) |
| | | /// </param> |
| | | /// <param name="parameterValues">分配给存储过程输入参数的对象数组</param> |
| | | public static void FillDataset(string connectionString, string spName, |
| | | DataSet dataSet, string[] tableNames, |
| | | params object[] parameterValues) |
| | | { |
| | | if (connectionString == null || connectionString.Length == 0) throw new ArgumentNullException("connectionString"); |
| | | if (dataSet == null) throw new ArgumentNullException("dataSet"); |
| | | // 创建并打开数据库连接对象,操作完成释放对象. |
| | | using (SqlConnection connection = new SqlConnection(connectionString)) |
| | | { |
| | | connection.Open(); |
| | | |
| | | // 调用指定数据库连接字符串重载方法. |
| | | FillDataset(connection, spName, dataSet, tableNames, parameterValues); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定数据库连接对象的命令,映射数据表并填充数据集. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 示例: |
| | | /// FillDataset(conn, CommandType.StoredProcedure, "GetOrders", ds, new string[] {"orders"}); |
| | | /// </remarks> |
| | | /// <param name="connection">一个有效的数据库连接对象</param> |
| | | /// <param name="commandType">命令类型 (存储过程,命令文本或其它)</param> |
| | | /// <param name="commandText">存储过程名称或T-SQL语句</param> |
| | | /// <param name="dataSet">要填充结果集的DataSet实例</param> |
| | | /// <param name="tableNames">表映射的数据表数组 |
| | | /// 用户定义的表名 (可有是实际的表名.) |
| | | /// </param> |
| | | public static void FillDataset(SqlConnection connection, CommandType commandType, |
| | | string commandText, DataSet dataSet, string[] tableNames) |
| | | { |
| | | FillDataset(connection, commandType, commandText, dataSet, tableNames, null); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定数据库连接对象的命令,映射数据表并填充数据集,指定参数. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 示例: |
| | | /// FillDataset(conn, CommandType.StoredProcedure, "GetOrders", ds, new string[] {"orders"}, new SqlParameter("@prodid", 24)); |
| | | /// </remarks> |
| | | /// <param name="connection">一个有效的数据库连接对象</param> |
| | | /// <param name="commandType">命令类型 (存储过程,命令文本或其它)</param> |
| | | /// <param name="commandText">存储过程名称或T-SQL语句</param> |
| | | /// <param name="dataSet">要填充结果集的DataSet实例</param> |
| | | /// <param name="tableNames">表映射的数据表数组 |
| | | /// 用户定义的表名 (可有是实际的表名.) |
| | | /// </param> |
| | | /// <param name="commandParameters">分配给命令的SqlParamter参数数组</param> |
| | | public static void FillDataset(SqlConnection connection, CommandType commandType, |
| | | string commandText, DataSet dataSet, string[] tableNames, |
| | | params SqlParameter[] commandParameters) |
| | | { |
| | | FillDataset(connection, null, commandType, commandText, dataSet, tableNames, commandParameters); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定数据库连接对象的命令,映射数据表并填充数据集,指定存储过程参数值. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 此方法不提供访问存储过程输出参数和返回值参数. |
| | | /// |
| | | /// 示例: |
| | | /// FillDataset(conn, "GetOrders", ds, new string[] {"orders"}, 24, 36); |
| | | /// </remarks> |
| | | /// <param name="connection">一个有效的数据库连接对象</param> |
| | | /// <param name="spName">存储过程名称</param> |
| | | /// <param name="dataSet">要填充结果集的DataSet实例</param> |
| | | /// <param name="tableNames">表映射的数据表数组 |
| | | /// 用户定义的表名 (可有是实际的表名.) |
| | | /// </param> |
| | | /// <param name="parameterValues">分配给存储过程输入参数的对象数组</param> |
| | | public static void FillDataset(SqlConnection connection, string spName, |
| | | DataSet dataSet, string[] tableNames, |
| | | params object[] parameterValues) |
| | | { |
| | | if (connection == null) throw new ArgumentNullException("connection"); |
| | | if (dataSet == null) throw new ArgumentNullException("dataSet"); |
| | | if (spName == null || spName.Length == 0) throw new ArgumentNullException("spName"); |
| | | |
| | | // 如果有参数值 |
| | | if ((parameterValues != null) && (parameterValues.Length > 0)) |
| | | { |
| | | // 从缓存中加载存储过程参数,如果缓存中不存在则从数据库中检索参数信息并加载到缓存中. () |
| | | SqlParameter[] commandParameters = SqlHelperParameterCache.GetSpParameterSet(connection, spName); |
| | | |
| | | // 给存储过程参数赋值 |
| | | AssignParameterValues(commandParameters, parameterValues); |
| | | |
| | | // 调用重载方法 |
| | | FillDataset(connection, CommandType.StoredProcedure, spName, dataSet, tableNames, commandParameters); |
| | | } |
| | | else |
| | | { |
| | | // 没有参数值 |
| | | FillDataset(connection, CommandType.StoredProcedure, spName, dataSet, tableNames); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定数据库事务的命令,映射数据表并填充数据集. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 示例: |
| | | /// FillDataset(trans, CommandType.StoredProcedure, "GetOrders", ds, new string[] {"orders"}); |
| | | /// </remarks> |
| | | /// <param name="transaction">一个有效的连接事务</param> |
| | | /// <param name="commandType">命令类型 (存储过程,命令文本或其它)</param> |
| | | /// <param name="commandText">存储过程名称或T-SQL语句</param> |
| | | /// <param name="dataSet">要填充结果集的DataSet实例</param> |
| | | /// <param name="tableNames">表映射的数据表数组 |
| | | /// 用户定义的表名 (可有是实际的表名.) |
| | | /// </param> |
| | | public static void FillDataset(SqlTransaction transaction, CommandType commandType, |
| | | string commandText, |
| | | DataSet dataSet, string[] tableNames) |
| | | { |
| | | FillDataset(transaction, commandType, commandText, dataSet, tableNames, null); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定数据库事务的命令,映射数据表并填充数据集,指定参数. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 示例: |
| | | /// FillDataset(trans, CommandType.StoredProcedure, "GetOrders", ds, new string[] {"orders"}, new SqlParameter("@prodid", 24)); |
| | | /// </remarks> |
| | | /// <param name="transaction">一个有效的连接事务</param> |
| | | /// <param name="commandType">命令类型 (存储过程,命令文本或其它)</param> |
| | | /// <param name="commandText">存储过程名称或T-SQL语句</param> |
| | | /// <param name="dataSet">要填充结果集的DataSet实例</param> |
| | | /// <param name="tableNames">表映射的数据表数组 |
| | | /// 用户定义的表名 (可有是实际的表名.) |
| | | /// </param> |
| | | /// <param name="commandParameters">分配给命令的SqlParamter参数数组</param> |
| | | public static void FillDataset(SqlTransaction transaction, CommandType commandType, |
| | | string commandText, DataSet dataSet, string[] tableNames, |
| | | params SqlParameter[] commandParameters) |
| | | { |
| | | FillDataset(transaction.Connection, transaction, commandType, commandText, dataSet, tableNames, commandParameters); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定数据库事务的命令,映射数据表并填充数据集,指定存储过程参数值. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 此方法不提供访问存储过程输出参数和返回值参数. |
| | | /// |
| | | /// 示例: |
| | | /// FillDataset(trans, "GetOrders", ds, new string[]{"orders"}, 24, 36); |
| | | /// </remarks> |
| | | /// <param name="transaction">一个有效的连接事务</param> |
| | | /// <param name="spName">存储过程名称</param> |
| | | /// <param name="dataSet">要填充结果集的DataSet实例</param> |
| | | /// <param name="tableNames">表映射的数据表数组 |
| | | /// 用户定义的表名 (可有是实际的表名.) |
| | | /// </param> |
| | | /// <param name="parameterValues">分配给存储过程输入参数的对象数组</param> |
| | | public static void FillDataset(SqlTransaction transaction, string spName, |
| | | DataSet dataSet, string[] tableNames, |
| | | params object[] parameterValues) |
| | | { |
| | | if (transaction == null) throw new ArgumentNullException("transaction"); |
| | | if (transaction != null && transaction.Connection == null) throw new ArgumentException("The transaction was rollbacked or commited, please provide an open transaction.", "transaction"); |
| | | if (dataSet == null) throw new ArgumentNullException("dataSet"); |
| | | if (spName == null || spName.Length == 0) throw new ArgumentNullException("spName"); |
| | | |
| | | // 如果有参数值 |
| | | if ((parameterValues != null) && (parameterValues.Length > 0)) |
| | | { |
| | | // 从缓存中加载存储过程参数,如果缓存中不存在则从数据库中检索参数信息并加载到缓存中. () |
| | | SqlParameter[] commandParameters = SqlHelperParameterCache.GetSpParameterSet(transaction.Connection, spName); |
| | | |
| | | // 给存储过程参数赋值 |
| | | AssignParameterValues(commandParameters, parameterValues); |
| | | |
| | | // 调用重载方法 |
| | | FillDataset(transaction, CommandType.StoredProcedure, spName, dataSet, tableNames, commandParameters); |
| | | } |
| | | else |
| | | { |
| | | // 没有参数值 |
| | | FillDataset(transaction, CommandType.StoredProcedure, spName, dataSet, tableNames); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// [私有方法][内部调用]执行指定数据库连接对象/事务的命令,映射数据表并填充数据集,DataSet/TableNames/SqlParameters. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 示例: |
| | | /// FillDataset(conn, trans, CommandType.StoredProcedure, "GetOrders", ds, new string[] {"orders"}, new SqlParameter("@prodid", 24)); |
| | | /// </remarks> |
| | | /// <param name="connection">一个有效的数据库连接对象</param> |
| | | /// <param name="transaction">一个有效的连接事务</param> |
| | | /// <param name="commandType">命令类型 (存储过程,命令文本或其它)</param> |
| | | /// <param name="commandText">存储过程名称或T-SQL语句</param> |
| | | /// <param name="dataSet">要填充结果集的DataSet实例</param> |
| | | /// <param name="tableNames">表映射的数据表数组 |
| | | /// 用户定义的表名 (可有是实际的表名.) |
| | | /// </param> |
| | | /// <param name="commandParameters">分配给命令的SqlParamter参数数组</param> |
| | | private static void FillDataset(SqlConnection connection, SqlTransaction transaction, CommandType commandType, |
| | | string commandText, DataSet dataSet, string[] tableNames, |
| | | params SqlParameter[] commandParameters) |
| | | { |
| | | if (connection == null) throw new ArgumentNullException("connection"); |
| | | if (dataSet == null) throw new ArgumentNullException("dataSet"); |
| | | |
| | | // 创建SqlCommand命令,并进行预处理 |
| | | SqlCommand command = new SqlCommand(); |
| | | bool mustCloseConnection = false; |
| | | PrepareCommand(command, connection, transaction, commandType, commandText, commandParameters, out mustCloseConnection); |
| | | |
| | | // 执行命令 |
| | | using (SqlDataAdapter dataAdapter = new SqlDataAdapter(command)) |
| | | { |
| | | |
| | | // 追加表映射 |
| | | if (tableNames != null && tableNames.Length > 0) |
| | | { |
| | | string tableName = "Table"; |
| | | for (int index = 0; index < tableNames.Length; index++) |
| | | { |
| | | if (tableNames[index] == null || tableNames[index].Length == 0) throw new ArgumentException("The tableNames parameter must contain a list of tables, a value was provided as null or empty string.", "tableNames"); |
| | | dataAdapter.TableMappings.Add(tableName, tableNames[index]); |
| | | tableName += (index + 1).ToString(); |
| | | } |
| | | } |
| | | |
| | | // 填充数据集使用默认表名称 |
| | | dataAdapter.Fill(dataSet); |
| | | |
| | | // 清除参数,以便再次使用. |
| | | command.Parameters.Clear(); |
| | | } |
| | | |
| | | if (mustCloseConnection) |
| | | connection.Close(); |
| | | } |
| | | #endregion |
| | | |
| | | #region UpdateDataset 更新数据集 |
| | | /// <summary> |
| | | /// 执行数据集更新到数据库,指定inserted, updated, or deleted命令. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 示例: |
| | | /// UpdateDataset(conn, insertCommand, deleteCommand, updateCommand, dataSet, "Order"); |
| | | /// </remarks> |
| | | /// <param name="insertCommand">[追加记录]一个有效的T-SQL语句或存储过程</param> |
| | | /// <param name="deleteCommand">[删除记录]一个有效的T-SQL语句或存储过程</param> |
| | | /// <param name="updateCommand">[更新记录]一个有效的T-SQL语句或存储过程</param> |
| | | /// <param name="dataSet">要更新到数据库的DataSet</param> |
| | | /// <param name="tableName">要更新到数据库的DataTable</param> |
| | | public static void UpdateDataset(SqlCommand insertCommand, SqlCommand deleteCommand, SqlCommand updateCommand, DataSet dataSet, string tableName) |
| | | { |
| | | if (insertCommand == null) throw new ArgumentNullException("insertCommand"); |
| | | if (deleteCommand == null) throw new ArgumentNullException("deleteCommand"); |
| | | if (updateCommand == null) throw new ArgumentNullException("updateCommand"); |
| | | if (tableName == null || tableName.Length == 0) throw new ArgumentNullException("tableName"); |
| | | |
| | | // 创建SqlDataAdapter,当操作完成后释放. |
| | | using (SqlDataAdapter dataAdapter = new SqlDataAdapter()) |
| | | { |
| | | // 设置数据适配器命令 |
| | | dataAdapter.UpdateCommand = updateCommand; |
| | | dataAdapter.InsertCommand = insertCommand; |
| | | dataAdapter.DeleteCommand = deleteCommand; |
| | | |
| | | // 更新数据集改变到数据库 |
| | | dataAdapter.Update(dataSet, tableName); |
| | | |
| | | // 提交所有改变到数据集. |
| | | dataSet.AcceptChanges(); |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | #region CreateCommand 创建一条SqlCommand命令 |
| | | /// <summary> |
| | | /// 创建SqlCommand命令,指定数据库连接对象,存储过程名和参数. |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 示例: |
| | | /// SqlCommand command = CreateCommand(conn, "AddCustomer", "CustomerID", "CustomerName"); |
| | | /// </remarks> |
| | | /// <param name="connection">一个有效的数据库连接对象</param> |
| | | /// <param name="spName">存储过程名称</param> |
| | | /// <param name="sourceColumns">源表的列名称数组</param> |
| | | /// <returns>返回SqlCommand命令</returns> |
| | | public static SqlCommand CreateCommand(SqlConnection connection, string spName, params string[] sourceColumns) |
| | | { |
| | | if (connection == null) throw new ArgumentNullException("connection"); |
| | | if (spName == null || spName.Length == 0) throw new ArgumentNullException("spName"); |
| | | |
| | | // 创建命令 |
| | | SqlCommand cmd = new SqlCommand(spName, connection); |
| | | cmd.CommandType = CommandType.StoredProcedure; |
| | | |
| | | // 如果有参数值 |
| | | if ((sourceColumns != null) && (sourceColumns.Length > 0)) |
| | | { |
| | | // 从缓存中加载存储过程参数,如果缓存中不存在则从数据库中检索参数信息并加载到缓存中. () |
| | | SqlParameter[] commandParameters = SqlHelperParameterCache.GetSpParameterSet(connection, spName); |
| | | |
| | | // 将源表的列到映射到DataSet命令中. |
| | | for (int index = 0; index < sourceColumns.Length; index++) |
| | | commandParameters[index].SourceColumn = sourceColumns[index]; |
| | | |
| | | // Attach the discovered parameters to the SqlCommand object |
| | | AttachParameters(cmd, commandParameters); |
| | | } |
| | | |
| | | return cmd; |
| | | } |
| | | #endregion |
| | | |
| | | #region ExecuteNonQueryTypedParams 类型化参数(DataRow) |
| | | /// <summary> |
| | | /// 执行指定连接数据库连接字符串的存储过程,使用DataRow做为参数值,返回受影响的行数. |
| | | /// </summary> |
| | | /// <param name="connectionString">一个有效的数据库连接字符串</param> |
| | | /// <param name="spName">存储过程名称</param> |
| | | /// <param name="dataRow">使用DataRow作为参数值</param> |
| | | /// <returns>返回影响的行数</returns> |
| | | public static int ExecuteNonQueryTypedParams(String connectionString, String spName, DataRow dataRow) |
| | | { |
| | | if (connectionString == null || connectionString.Length == 0) throw new ArgumentNullException("connectionString"); |
| | | if (spName == null || spName.Length == 0) throw new ArgumentNullException("spName"); |
| | | |
| | | // 如果row有值,存储过程必须初始化. |
| | | if (dataRow != null && dataRow.ItemArray.Length > 0) |
| | | { |
| | | // 从缓存中加载存储过程参数,如果缓存中不存在则从数据库中检索参数信息并加载到缓存中. () |
| | | SqlParameter[] commandParameters = SqlHelperParameterCache.GetSpParameterSet(connectionString, spName); |
| | | |
| | | // 分配参数值 |
| | | AssignParameterValues(commandParameters, dataRow); |
| | | |
| | | return ADODOTNETSqlHelper.ExecuteNonQuery(connectionString, CommandType.StoredProcedure, spName, commandParameters); |
| | | } |
| | | else |
| | | { |
| | | return ADODOTNETSqlHelper.ExecuteNonQuery(connectionString, CommandType.StoredProcedure, spName); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定连接数据库连接对象的存储过程,使用DataRow做为参数值,返回受影响的行数. |
| | | /// </summary> |
| | | /// <param name="connection">一个有效的数据库连接对象</param> |
| | | /// <param name="spName">存储过程名称</param> |
| | | /// <param name="dataRow">使用DataRow作为参数值</param> |
| | | /// <returns>返回影响的行数</returns> |
| | | public static int ExecuteNonQueryTypedParams(SqlConnection connection, String spName, DataRow dataRow) |
| | | { |
| | | if (connection == null) throw new ArgumentNullException("connection"); |
| | | if (spName == null || spName.Length == 0) throw new ArgumentNullException("spName"); |
| | | |
| | | // 如果row有值,存储过程必须初始化. |
| | | if (dataRow != null && dataRow.ItemArray.Length > 0) |
| | | { |
| | | // 从缓存中加载存储过程参数,如果缓存中不存在则从数据库中检索参数信息并加载到缓存中. () |
| | | SqlParameter[] commandParameters = SqlHelperParameterCache.GetSpParameterSet(connection, spName); |
| | | |
| | | // 分配参数值 |
| | | AssignParameterValues(commandParameters, dataRow); |
| | | |
| | | return ADODOTNETSqlHelper.ExecuteNonQuery(connection, CommandType.StoredProcedure, spName, commandParameters); |
| | | } |
| | | else |
| | | { |
| | | return ADODOTNETSqlHelper.ExecuteNonQuery(connection, CommandType.StoredProcedure, spName); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定连接数据库事物的存储过程,使用DataRow做为参数值,返回受影响的行数. |
| | | /// </summary> |
| | | /// <param name="transaction">一个有效的连接事务 object</param> |
| | | /// <param name="spName">存储过程名称</param> |
| | | /// <param name="dataRow">使用DataRow作为参数值</param> |
| | | /// <returns>返回影响的行数</returns> |
| | | public static int ExecuteNonQueryTypedParams(SqlTransaction transaction, String spName, DataRow dataRow) |
| | | { |
| | | if (transaction == null) throw new ArgumentNullException("transaction"); |
| | | if (transaction != null && transaction.Connection == null) throw new ArgumentException("The transaction was rollbacked or commited, please provide an open transaction.", "transaction"); |
| | | if (spName == null || spName.Length == 0) throw new ArgumentNullException("spName"); |
| | | |
| | | // Sf the row has values, the store procedure parameters must be initialized |
| | | if (dataRow != null && dataRow.ItemArray.Length > 0) |
| | | { |
| | | // 从缓存中加载存储过程参数,如果缓存中不存在则从数据库中检索参数信息并加载到缓存中. () |
| | | SqlParameter[] commandParameters = SqlHelperParameterCache.GetSpParameterSet(transaction.Connection, spName); |
| | | |
| | | // 分配参数值 |
| | | AssignParameterValues(commandParameters, dataRow); |
| | | |
| | | return ADODOTNETSqlHelper.ExecuteNonQuery(transaction, CommandType.StoredProcedure, spName, commandParameters); |
| | | } |
| | | else |
| | | { |
| | | return ADODOTNETSqlHelper.ExecuteNonQuery(transaction, CommandType.StoredProcedure, spName); |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | #region ExecuteDatasetTypedParams 类型化参数(DataRow) |
| | | /// <summary> |
| | | /// 执行指定连接数据库连接字符串的存储过程,使用DataRow做为参数值,返回DataSet. |
| | | /// </summary> |
| | | /// <param name="connectionString">一个有效的数据库连接字符串</param> |
| | | /// <param name="spName">存储过程名称</param> |
| | | /// <param name="dataRow">使用DataRow作为参数值</param> |
| | | /// <returns>返回一个包含结果集的DataSet.</returns> |
| | | public static DataSet ExecuteDatasetTypedParams(string connectionString, String spName, DataRow dataRow) |
| | | { |
| | | if (connectionString == null || connectionString.Length == 0) throw new ArgumentNullException("connectionString"); |
| | | if (spName == null || spName.Length == 0) throw new ArgumentNullException("spName"); |
| | | |
| | | //如果row有值,存储过程必须初始化. |
| | | if (dataRow != null && dataRow.ItemArray.Length > 0) |
| | | { |
| | | // 从缓存中加载存储过程参数,如果缓存中不存在则从数据库中检索参数信息并加载到缓存中. () |
| | | SqlParameter[] commandParameters = SqlHelperParameterCache.GetSpParameterSet(connectionString, spName); |
| | | |
| | | // 分配参数值 |
| | | AssignParameterValues(commandParameters, dataRow); |
| | | |
| | | return ADODOTNETSqlHelper.ExecuteDataset(connectionString, CommandType.StoredProcedure, spName, commandParameters); |
| | | } |
| | | else |
| | | { |
| | | return ADODOTNETSqlHelper.ExecuteDataset(connectionString, CommandType.StoredProcedure, spName); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定连接数据库连接对象的存储过程,使用DataRow做为参数值,返回DataSet. |
| | | /// </summary> |
| | | /// <param name="connection">一个有效的数据库连接对象</param> |
| | | /// <param name="spName">存储过程名称</param> |
| | | /// <param name="dataRow">使用DataRow作为参数值</param> |
| | | /// <returns>返回一个包含结果集的DataSet.</returns> |
| | | /// |
| | | public static DataSet ExecuteDatasetTypedParams(SqlConnection connection, String spName, DataRow dataRow) |
| | | { |
| | | if (connection == null) throw new ArgumentNullException("connection"); |
| | | if (spName == null || spName.Length == 0) throw new ArgumentNullException("spName"); |
| | | |
| | | // 如果row有值,存储过程必须初始化. |
| | | if (dataRow != null && dataRow.ItemArray.Length > 0) |
| | | { |
| | | // 从缓存中加载存储过程参数,如果缓存中不存在则从数据库中检索参数信息并加载到缓存中. () |
| | | SqlParameter[] commandParameters = SqlHelperParameterCache.GetSpParameterSet(connection, spName); |
| | | |
| | | // 分配参数值 |
| | | AssignParameterValues(commandParameters, dataRow); |
| | | |
| | | return ADODOTNETSqlHelper.ExecuteDataset(connection, CommandType.StoredProcedure, spName, commandParameters); |
| | | } |
| | | else |
| | | { |
| | | return ADODOTNETSqlHelper.ExecuteDataset(connection, CommandType.StoredProcedure, spName); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定连接数据库事务的存储过程,使用DataRow做为参数值,返回DataSet. |
| | | /// </summary> |
| | | /// <param name="transaction">一个有效的连接事务 object</param> |
| | | /// <param name="spName">存储过程名称</param> |
| | | /// <param name="dataRow">使用DataRow作为参数值</param> |
| | | /// <returns>返回一个包含结果集的DataSet.</returns> |
| | | public static DataSet ExecuteDatasetTypedParams(SqlTransaction transaction, String spName, DataRow dataRow) |
| | | { |
| | | if (transaction == null) throw new ArgumentNullException("transaction"); |
| | | if (transaction != null && transaction.Connection == null) throw new ArgumentException("The transaction was rollbacked or commited, please provide an open transaction.", "transaction"); |
| | | if (spName == null || spName.Length == 0) throw new ArgumentNullException("spName"); |
| | | |
| | | // 如果row有值,存储过程必须初始化. |
| | | if (dataRow != null && dataRow.ItemArray.Length > 0) |
| | | { |
| | | // 从缓存中加载存储过程参数,如果缓存中不存在则从数据库中检索参数信息并加载到缓存中. () |
| | | SqlParameter[] commandParameters = SqlHelperParameterCache.GetSpParameterSet(transaction.Connection, spName); |
| | | |
| | | // 分配参数值 |
| | | AssignParameterValues(commandParameters, dataRow); |
| | | |
| | | return ADODOTNETSqlHelper.ExecuteDataset(transaction, CommandType.StoredProcedure, spName, commandParameters); |
| | | } |
| | | else |
| | | { |
| | | return ADODOTNETSqlHelper.ExecuteDataset(transaction, CommandType.StoredProcedure, spName); |
| | | } |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region ExecuteReaderTypedParams 类型化参数(DataRow) |
| | | /// <summary> |
| | | /// 执行指定连接数据库连接字符串的存储过程,使用DataRow做为参数值,返回DataReader. |
| | | /// </summary> |
| | | /// <param name="connectionString">一个有效的数据库连接字符串</param> |
| | | /// <param name="spName">存储过程名称</param> |
| | | /// <param name="dataRow">使用DataRow作为参数值</param> |
| | | /// <returns>返回包含结果集的SqlDataReader</returns> |
| | | public static SqlDataReader ExecuteReaderTypedParams(String connectionString, String spName, DataRow dataRow) |
| | | { |
| | | if (connectionString == null || connectionString.Length == 0) throw new ArgumentNullException("connectionString"); |
| | | if (spName == null || spName.Length == 0) throw new ArgumentNullException("spName"); |
| | | |
| | | // 如果row有值,存储过程必须初始化. |
| | | if (dataRow != null && dataRow.ItemArray.Length > 0) |
| | | { |
| | | // 从缓存中加载存储过程参数,如果缓存中不存在则从数据库中检索参数信息并加载到缓存中. () |
| | | SqlParameter[] commandParameters = SqlHelperParameterCache.GetSpParameterSet(connectionString, spName); |
| | | |
| | | // 分配参数值 |
| | | AssignParameterValues(commandParameters, dataRow); |
| | | |
| | | return ADODOTNETSqlHelper.ExecuteReader(connectionString, CommandType.StoredProcedure, spName, commandParameters); |
| | | } |
| | | else |
| | | { |
| | | return ADODOTNETSqlHelper.ExecuteReader(connectionString, CommandType.StoredProcedure, spName); |
| | | } |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 执行指定连接数据库连接对象的存储过程,使用DataRow做为参数值,返回DataReader. |
| | | /// </summary> |
| | | /// <param name="connection">一个有效的数据库连接对象</param> |
| | | /// <param name="spName">存储过程名称</param> |
| | | /// <param name="dataRow">使用DataRow作为参数值</param> |
| | | /// <returns>返回包含结果集的SqlDataReader</returns> |
| | | public static SqlDataReader ExecuteReaderTypedParams(SqlConnection connection, String spName, DataRow dataRow) |
| | | { |
| | | if (connection == null) throw new ArgumentNullException("connection"); |
| | | if (spName == null || spName.Length == 0) throw new ArgumentNullException("spName"); |
| | | |
| | | // 如果row有值,存储过程必须初始化. |
| | | if (dataRow != null && dataRow.ItemArray.Length > 0) |
| | | { |
| | | // 从缓存中加载存储过程参数,如果缓存中不存在则从数据库中检索参数信息并加载到缓存中. () |
| | | SqlParameter[] commandParameters = SqlHelperParameterCache.GetSpParameterSet(connection, spName); |
| | | |
| | | // 分配参数值 |
| | | AssignParameterValues(commandParameters, dataRow); |
| | | |
| | | return ADODOTNETSqlHelper.ExecuteReader(connection, CommandType.StoredProcedure, spName, commandParameters); |
| | | } |
| | | else |
| | | { |
| | | return ADODOTNETSqlHelper.ExecuteReader(connection, CommandType.StoredProcedure, spName); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定连接数据库事物的存储过程,使用DataRow做为参数值,返回DataReader. |
| | | /// </summary> |
| | | /// <param name="transaction">一个有效的连接事务 object</param> |
| | | /// <param name="spName">存储过程名称</param> |
| | | /// <param name="dataRow">使用DataRow作为参数值</param> |
| | | /// <returns>返回包含结果集的SqlDataReader</returns> |
| | | public static SqlDataReader ExecuteReaderTypedParams(SqlTransaction transaction, String spName, DataRow dataRow) |
| | | { |
| | | if (transaction == null) throw new ArgumentNullException("transaction"); |
| | | if (transaction != null && transaction.Connection == null) throw new ArgumentException("The transaction was rollbacked or commited, please provide an open transaction.", "transaction"); |
| | | if (spName == null || spName.Length == 0) throw new ArgumentNullException("spName"); |
| | | |
| | | // 如果row有值,存储过程必须初始化. |
| | | if (dataRow != null && dataRow.ItemArray.Length > 0) |
| | | { |
| | | // 从缓存中加载存储过程参数,如果缓存中不存在则从数据库中检索参数信息并加载到缓存中. () |
| | | SqlParameter[] commandParameters = SqlHelperParameterCache.GetSpParameterSet(transaction.Connection, spName); |
| | | |
| | | // 分配参数值 |
| | | AssignParameterValues(commandParameters, dataRow); |
| | | |
| | | return ADODOTNETSqlHelper.ExecuteReader(transaction, CommandType.StoredProcedure, spName, commandParameters); |
| | | } |
| | | else |
| | | { |
| | | return ADODOTNETSqlHelper.ExecuteReader(transaction, CommandType.StoredProcedure, spName); |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | #region ExecuteScalarTypedParams 类型化参数(DataRow) |
| | | /// <summary> |
| | | /// 执行指定连接数据库连接字符串的存储过程,使用DataRow做为参数值,返回结果集中的第一行第一列. |
| | | /// </summary> |
| | | /// <param name="connectionString">一个有效的数据库连接字符串</param> |
| | | /// <param name="spName">存储过程名称</param> |
| | | /// <param name="dataRow">使用DataRow作为参数值</param> |
| | | /// <returns>返回结果集中的第一行第一列</returns> |
| | | public static object ExecuteScalarTypedParams(String connectionString, String spName, DataRow dataRow) |
| | | { |
| | | if (connectionString == null || connectionString.Length == 0) throw new ArgumentNullException("connectionString"); |
| | | if (spName == null || spName.Length == 0) throw new ArgumentNullException("spName"); |
| | | |
| | | // 如果row有值,存储过程必须初始化. |
| | | if (dataRow != null && dataRow.ItemArray.Length > 0) |
| | | { |
| | | // 从缓存中加载存储过程参数,如果缓存中不存在则从数据库中检索参数信息并加载到缓存中. () |
| | | SqlParameter[] commandParameters = SqlHelperParameterCache.GetSpParameterSet(connectionString, spName); |
| | | |
| | | // 分配参数值 |
| | | AssignParameterValues(commandParameters, dataRow); |
| | | |
| | | return ADODOTNETSqlHelper.ExecuteScalar(connectionString, CommandType.StoredProcedure, spName, commandParameters); |
| | | } |
| | | else |
| | | { |
| | | return ADODOTNETSqlHelper.ExecuteScalar(connectionString, CommandType.StoredProcedure, spName); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定连接数据库连接对象的存储过程,使用DataRow做为参数值,返回结果集中的第一行第一列. |
| | | /// </summary> |
| | | /// <param name="connection">一个有效的数据库连接对象</param> |
| | | /// <param name="spName">存储过程名称</param> |
| | | /// <param name="dataRow">使用DataRow作为参数值</param> |
| | | /// <returns>返回结果集中的第一行第一列</returns> |
| | | public static object ExecuteScalarTypedParams(SqlConnection connection, String spName, DataRow dataRow) |
| | | { |
| | | if (connection == null) throw new ArgumentNullException("connection"); |
| | | if (spName == null || spName.Length == 0) throw new ArgumentNullException("spName"); |
| | | |
| | | // 如果row有值,存储过程必须初始化. |
| | | if (dataRow != null && dataRow.ItemArray.Length > 0) |
| | | { |
| | | // 从缓存中加载存储过程参数,如果缓存中不存在则从数据库中检索参数信息并加载到缓存中. () |
| | | SqlParameter[] commandParameters = SqlHelperParameterCache.GetSpParameterSet(connection, spName); |
| | | |
| | | // 分配参数值 |
| | | AssignParameterValues(commandParameters, dataRow); |
| | | |
| | | return ADODOTNETSqlHelper.ExecuteScalar(connection, CommandType.StoredProcedure, spName, commandParameters); |
| | | } |
| | | else |
| | | { |
| | | return ADODOTNETSqlHelper.ExecuteScalar(connection, CommandType.StoredProcedure, spName); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定连接数据库事务的存储过程,使用DataRow做为参数值,返回结果集中的第一行第一列. |
| | | /// </summary> |
| | | /// <param name="transaction">一个有效的连接事务 object</param> |
| | | /// <param name="spName">存储过程名称</param> |
| | | /// <param name="dataRow">使用DataRow作为参数值</param> |
| | | /// <returns>返回结果集中的第一行第一列</returns> |
| | | public static object ExecuteScalarTypedParams(SqlTransaction transaction, String spName, DataRow dataRow) |
| | | { |
| | | if (transaction == null) throw new ArgumentNullException("transaction"); |
| | | if (transaction != null && transaction.Connection == null) throw new ArgumentException("The transaction was rollbacked or commited, please provide an open transaction.", "transaction"); |
| | | if (spName == null || spName.Length == 0) throw new ArgumentNullException("spName"); |
| | | |
| | | // 如果row有值,存储过程必须初始化. |
| | | if (dataRow != null && dataRow.ItemArray.Length > 0) |
| | | { |
| | | // 从缓存中加载存储过程参数,如果缓存中不存在则从数据库中检索参数信息并加载到缓存中. () |
| | | SqlParameter[] commandParameters = SqlHelperParameterCache.GetSpParameterSet(transaction.Connection, spName); |
| | | |
| | | // 分配参数值 |
| | | AssignParameterValues(commandParameters, dataRow); |
| | | |
| | | return ADODOTNETSqlHelper.ExecuteScalar(transaction, CommandType.StoredProcedure, spName, commandParameters); |
| | | } |
| | | else |
| | | { |
| | | return ADODOTNETSqlHelper.ExecuteScalar(transaction, CommandType.StoredProcedure, spName); |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | #region ExecuteXmlReaderTypedParams 类型化参数(DataRow) |
| | | /// <summary> |
| | | /// 执行指定连接数据库连接对象的存储过程,使用DataRow做为参数值,返回XmlReader类型的结果集. |
| | | /// </summary> |
| | | /// <param name="connection">一个有效的数据库连接对象</param> |
| | | /// <param name="spName">存储过程名称</param> |
| | | /// <param name="dataRow">使用DataRow作为参数值</param> |
| | | /// <returns>返回XmlReader结果集对象.</returns> |
| | | public static XmlReader ExecuteXmlReaderTypedParams(SqlConnection connection, String spName, DataRow dataRow) |
| | | { |
| | | if (connection == null) throw new ArgumentNullException("connection"); |
| | | if (spName == null || spName.Length == 0) throw new ArgumentNullException("spName"); |
| | | |
| | | // 如果row有值,存储过程必须初始化. |
| | | if (dataRow != null && dataRow.ItemArray.Length > 0) |
| | | { |
| | | // 从缓存中加载存储过程参数,如果缓存中不存在则从数据库中检索参数信息并加载到缓存中. () |
| | | SqlParameter[] commandParameters = SqlHelperParameterCache.GetSpParameterSet(connection, spName); |
| | | |
| | | // 分配参数值 |
| | | AssignParameterValues(commandParameters, dataRow); |
| | | |
| | | return ADODOTNETSqlHelper.ExecuteXmlReader(connection, CommandType.StoredProcedure, spName, commandParameters); |
| | | } |
| | | else |
| | | { |
| | | return ADODOTNETSqlHelper.ExecuteXmlReader(connection, CommandType.StoredProcedure, spName); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 执行指定连接数据库事务的存储过程,使用DataRow做为参数值,返回XmlReader类型的结果集. |
| | | /// </summary> |
| | | /// <param name="transaction">一个有效的连接事务 object</param> |
| | | /// <param name="spName">存储过程名称</param> |
| | | /// <param name="dataRow">使用DataRow作为参数值</param> |
| | | /// <returns>返回XmlReader结果集对象.</returns> |
| | | public static XmlReader ExecuteXmlReaderTypedParams(SqlTransaction transaction, String spName, DataRow dataRow) |
| | | { |
| | | if (transaction == null) throw new ArgumentNullException("transaction"); |
| | | if (transaction != null && transaction.Connection == null) throw new ArgumentException("The transaction was rollbacked or commited, please provide an open transaction.", "transaction"); |
| | | if (spName == null || spName.Length == 0) throw new ArgumentNullException("spName"); |
| | | |
| | | // 如果row有值,存储过程必须初始化. |
| | | if (dataRow != null && dataRow.ItemArray.Length > 0) |
| | | { |
| | | // 从缓存中加载存储过程参数,如果缓存中不存在则从数据库中检索参数信息并加载到缓存中. () |
| | | SqlParameter[] commandParameters = SqlHelperParameterCache.GetSpParameterSet(transaction.Connection, spName); |
| | | |
| | | // 分配参数值 |
| | | AssignParameterValues(commandParameters, dataRow); |
| | | |
| | | return ADODOTNETSqlHelper.ExecuteXmlReader(transaction, CommandType.StoredProcedure, spName, commandParameters); |
| | | } |
| | | else |
| | | { |
| | | return ADODOTNETSqlHelper.ExecuteXmlReader(transaction, CommandType.StoredProcedure, spName); |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// SqlHelperParameterCache提供缓存存储过程参数,并能够在运行时从存储过程中探索参数. |
| | | /// </summary> |
| | | public sealed class SqlHelperParameterCache |
| | | { |
| | | #region 私有方法,字段,构造函数 |
| | | // 私有构造函数,妨止类被实例化. |
| | | private SqlHelperParameterCache() { } |
| | | |
| | | // 这个方法要注意 |
| | | private static Hashtable paramCache = Hashtable.Synchronized(new Hashtable()); |
| | | |
| | | /// <summary> |
| | | /// 探索运行时的存储过程,返回SqlParameter参数数组. |
| | | /// 初始化参数值为 DBNull.Value. |
| | | /// </summary> |
| | | /// <param name="connection">一个有效的数据库连接</param> |
| | | /// <param name="spName">存储过程名称</param> |
| | | /// <param name="includeReturnValueParameter">是否包含返回值参数</param> |
| | | /// <returns>返回SqlParameter参数数组</returns> |
| | | private static SqlParameter[] DiscoverSpParameterSet(SqlConnection connection, string spName, bool includeReturnValueParameter) |
| | | { |
| | | if (connection == null) throw new ArgumentNullException("connection"); |
| | | if (spName == null || spName.Length == 0) throw new ArgumentNullException("spName"); |
| | | |
| | | SqlCommand cmd = new SqlCommand(spName, connection); |
| | | cmd.CommandType = CommandType.StoredProcedure; |
| | | |
| | | connection.Open(); |
| | | // 检索cmd指定的存储过程的参数信息,并填充到cmd的Parameters参数集中. |
| | | SqlCommandBuilder.DeriveParameters(cmd); |
| | | connection.Close(); |
| | | // 如果不包含返回值参数,将参数集中的每一个参数删除. |
| | | if (!includeReturnValueParameter) |
| | | { |
| | | cmd.Parameters.RemoveAt(0); |
| | | } |
| | | |
| | | // 创建参数数组 |
| | | SqlParameter[] discoveredParameters = new SqlParameter[cmd.Parameters.Count]; |
| | | // 将cmd的Parameters参数集复制到discoveredParameters数组. |
| | | cmd.Parameters.CopyTo(discoveredParameters, 0); |
| | | |
| | | // 初始化参数值为 DBNull.Value. |
| | | foreach (SqlParameter discoveredParameter in discoveredParameters) |
| | | { |
| | | discoveredParameter.Value = DBNull.Value; |
| | | } |
| | | return discoveredParameters; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// SqlParameter参数数组的深层拷贝. |
| | | /// </summary> |
| | | /// <param name="originalParameters">原始参数数组</param> |
| | | /// <returns>返回一个同样的参数数组</returns> |
| | | private static SqlParameter[] CloneParameters(SqlParameter[] originalParameters) |
| | | { |
| | | SqlParameter[] clonedParameters = new SqlParameter[originalParameters.Length]; |
| | | |
| | | for (int i = 0, j = originalParameters.Length; i < j; i++) |
| | | { |
| | | clonedParameters[i] = (SqlParameter)((ICloneable)originalParameters[i]).Clone(); |
| | | } |
| | | |
| | | return clonedParameters; |
| | | } |
| | | |
| | | #endregion 私有方法,字段,构造函数结束 |
| | | |
| | | #region 缓存方法 |
| | | |
| | | /// <summary> |
| | | /// 追加参数数组到缓存. |
| | | /// </summary> |
| | | /// <param name="connectionString">一个有效的数据库连接字符串</param> |
| | | /// <param name="commandText">存储过程名或SQL语句</param> |
| | | /// <param name="commandParameters">要缓存的参数数组</param> |
| | | public static void CacheParameterSet(string connectionString, string commandText, params SqlParameter[] commandParameters) |
| | | { |
| | | if (connectionString == null || connectionString.Length == 0) throw new ArgumentNullException("connectionString"); |
| | | if (commandText == null || commandText.Length == 0) throw new ArgumentNullException("commandText"); |
| | | |
| | | string hashKey = connectionString + ":" + commandText; |
| | | |
| | | paramCache[hashKey] = commandParameters; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 从缓存中获取参数数组. |
| | | /// </summary> |
| | | /// <param name="connectionString">一个有效的数据库连接字符</param> |
| | | /// <param name="commandText">存储过程名或SQL语句</param> |
| | | /// <returns>参数数组</returns> |
| | | public static SqlParameter[] GetCachedParameterSet(string connectionString, string commandText) |
| | | { |
| | | if (connectionString == null || connectionString.Length == 0) throw new ArgumentNullException("connectionString"); |
| | | if (commandText == null || commandText.Length == 0) throw new ArgumentNullException("commandText"); |
| | | |
| | | string hashKey = connectionString + ":" + commandText; |
| | | |
| | | SqlParameter[] cachedParameters = paramCache[hashKey] as SqlParameter[]; |
| | | if (cachedParameters == null) |
| | | { |
| | | return null; |
| | | } |
| | | else |
| | | { |
| | | return CloneParameters(cachedParameters); |
| | | } |
| | | } |
| | | |
| | | #endregion 缓存方法结束 |
| | | |
| | | #region 检索指定的存储过程的参数集 |
| | | |
| | | /// <summary> |
| | | /// 返回指定的存储过程的参数集 |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 这个方法将查询数据库,并将信息存储到缓存. |
| | | /// </remarks> |
| | | /// <param name="connectionString">一个有效的数据库连接字符</param> |
| | | /// <param name="spName">存储过程名</param> |
| | | /// <returns>返回SqlParameter参数数组</returns> |
| | | public static SqlParameter[] GetSpParameterSet(string connectionString, string spName) |
| | | { |
| | | return GetSpParameterSet(connectionString, spName, false); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 返回指定的存储过程的参数集 |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 这个方法将查询数据库,并将信息存储到缓存. |
| | | /// </remarks> |
| | | /// <param name="connectionString">一个有效的数据库连接字符.</param> |
| | | /// <param name="spName">存储过程名</param> |
| | | /// <param name="includeReturnValueParameter">是否包含返回值参数</param> |
| | | /// <returns>返回SqlParameter参数数组</returns> |
| | | public static SqlParameter[] GetSpParameterSet(string connectionString, string spName, bool includeReturnValueParameter) |
| | | { |
| | | if (connectionString == null || connectionString.Length == 0) throw new ArgumentNullException("connectionString"); |
| | | if (spName == null || spName.Length == 0) throw new ArgumentNullException("spName"); |
| | | |
| | | using (SqlConnection connection = new SqlConnection(connectionString)) |
| | | { |
| | | return GetSpParameterSetInternal(connection, spName, includeReturnValueParameter); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// [内部]返回指定的存储过程的参数集(使用连接对象). |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 这个方法将查询数据库,并将信息存储到缓存. |
| | | /// </remarks> |
| | | /// <param name="connection">一个有效的数据库连接字符</param> |
| | | /// <param name="spName">存储过程名</param> |
| | | /// <returns>返回SqlParameter参数数组</returns> |
| | | internal static SqlParameter[] GetSpParameterSet(SqlConnection connection, string spName) |
| | | { |
| | | return GetSpParameterSet(connection, spName, false); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// [内部]返回指定的存储过程的参数集(使用连接对象) |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 这个方法将查询数据库,并将信息存储到缓存. |
| | | /// </remarks> |
| | | /// <param name="connection">一个有效的数据库连接对象</param> |
| | | /// <param name="spName">存储过程名</param> |
| | | /// <param name="includeReturnValueParameter"> |
| | | /// 是否包含返回值参数 |
| | | /// </param> |
| | | /// <returns>返回SqlParameter参数数组</returns> |
| | | internal static SqlParameter[] GetSpParameterSet(SqlConnection connection, string spName, bool includeReturnValueParameter) |
| | | { |
| | | if (connection == null) throw new ArgumentNullException("connection"); |
| | | using (SqlConnection clonedConnection = (SqlConnection)((ICloneable)connection).Clone()) |
| | | { |
| | | return GetSpParameterSetInternal(clonedConnection, spName, includeReturnValueParameter); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// [私有]返回指定的存储过程的参数集(使用连接对象) |
| | | /// </summary> |
| | | /// <param name="connection">一个有效的数据库连接对象</param> |
| | | /// <param name="spName">存储过程名</param> |
| | | /// <param name="includeReturnValueParameter">是否包含返回值参数</param> |
| | | /// <returns>返回SqlParameter参数数组</returns> |
| | | private static SqlParameter[] GetSpParameterSetInternal(SqlConnection connection, string spName, bool includeReturnValueParameter) |
| | | { |
| | | if (connection == null) throw new ArgumentNullException("connection"); |
| | | if (spName == null || spName.Length == 0) throw new ArgumentNullException("spName"); |
| | | |
| | | string hashKey = connection.ConnectionString + ":" + spName + (includeReturnValueParameter ? ":include ReturnValue Parameter" : ""); |
| | | |
| | | SqlParameter[] cachedParameters; |
| | | |
| | | cachedParameters = paramCache[hashKey] as SqlParameter[]; |
| | | if (cachedParameters == null) |
| | | { |
| | | SqlParameter[] spParameters = DiscoverSpParameterSet(connection, spName, includeReturnValueParameter); |
| | | paramCache[hashKey] = spParameters; |
| | | cachedParameters = spParameters; |
| | | } |
| | | |
| | | return CloneParameters(cachedParameters); |
| | | } |
| | | |
| | | #endregion 参数集检索结束 |
| | | |
| | | } |
| | | } |
| | | |
| | | //如果要获取连接数据连接对象或字符串的话,先要修改SQLHelper类中GetConnSting() 方法中的ConfigurationManager.ConnectionStrings["ConStr"].ConnectionString;才能调用。 |
| New file |
| | |
| | | using System; |
| | | using System.Data; |
| | | using System.Data.OleDb; |
| | | using System.IO; |
| | | using System.Runtime.Serialization.Json; |
| | | using System.Text; |
| | | using System.Text.RegularExpressions; |
| | | |
| | | namespace GTech.Solution.Api.Common |
| | | { |
| | | public static class ConvertUtil |
| | | { |
| | | #region Basic |
| | | public static string errMsg = ""; |
| | | public static int toInt(string str, int def) |
| | | { |
| | | return ConvertUtil.toInt(str, def, 0); |
| | | } |
| | | |
| | | public static int toInt(object obj, int def, int t) |
| | | { |
| | | int ret = def; |
| | | try |
| | | { |
| | | ret = Convert.ToInt32(obj); |
| | | } |
| | | catch (Exception) |
| | | { |
| | | ret = def; |
| | | } |
| | | return ret; |
| | | } |
| | | |
| | | public static string NVL(object obj) |
| | | { |
| | | string ret = ""; |
| | | try |
| | | { |
| | | ret = Convert.ToString(obj); |
| | | } |
| | | catch (Exception) |
| | | { |
| | | ret = ""; |
| | | } |
| | | return ret; |
| | | } |
| | | |
| | | public static DateTime toDatetime(object obj, int fix) |
| | | { |
| | | DateTime dt = DateTime.Now.AddYears(fix); |
| | | try |
| | | { |
| | | dt = Convert.ToDateTime(obj); |
| | | if (dt.Year == 1) |
| | | dt = dt.AddYears(2000); |
| | | } |
| | | catch (Exception) |
| | | { |
| | | |
| | | } |
| | | finally |
| | | { |
| | | if (dt == null) |
| | | dt = DateTime.Now.AddYears(fix); |
| | | } |
| | | return dt; |
| | | } |
| | | |
| | | public static string IFEmptyToDefault(this string s, string _default) |
| | | { |
| | | string v = s; |
| | | if (string.IsNullOrEmpty(v)) |
| | | { |
| | | v = _default; |
| | | } |
| | | return v; |
| | | } |
| | | |
| | | public static bool TryToBool(this string s, bool _default) |
| | | { |
| | | bool v = _default; |
| | | if (s == null || !bool.TryParse(s, out v)) |
| | | { |
| | | v = _default; |
| | | } |
| | | return v; |
| | | } |
| | | |
| | | public static int TryToInt(this string s, int _default) |
| | | { |
| | | int v = _default; |
| | | if (s == null || !int.TryParse(s, out v)) |
| | | { |
| | | v = _default; |
| | | } |
| | | return v; |
| | | } |
| | | |
| | | public static long TryToLong(this object s, long _default) |
| | | { |
| | | long v = _default; |
| | | if (s == null || !long.TryParse(s + "", out v)) |
| | | { |
| | | v = _default; |
| | | } |
| | | return v; |
| | | } |
| | | |
| | | public static T JsonParse<T>(string jsonString) |
| | | { |
| | | DataContractJsonSerializer ds = new DataContractJsonSerializer(typeof(T)); |
| | | MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonString)); |
| | | |
| | | return (T)ds.ReadObject(ms); |
| | | } |
| | | |
| | | public static DataTable getTableFromXls(string fileName, string range, string sheetname) |
| | | { |
| | | string connStr = ""; |
| | | if (fileName.IndexOf(".xlsx") >= 0) |
| | | { |
| | | connStr = "Provider=Microsoft.Jet.OLEDB.12.0;Data Source=" + fileName + ";Extended Properties='Excel 12.0;HDR=Yes;IMEX=1;'"; |
| | | } |
| | | else |
| | | { |
| | | connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileName + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'"; |
| | | } |
| | | |
| | | string sheetna = "Sheet1"; |
| | | if (!sheetname.Equals("")) |
| | | { |
| | | sheetna = sheetname; |
| | | } |
| | | string sql = "select * from [" + sheetna + "$" + range + "]"; |
| | | |
| | | OleDbDataAdapter da = new OleDbDataAdapter(sql, connStr); |
| | | DataSet ds = new DataSet(); |
| | | try |
| | | { |
| | | da.Fill(ds, "datatable"); |
| | | errMsg = ""; |
| | | return ds.Tables[0]; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | errMsg = ex.Message; |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | public static int safeToInt(object anysome) |
| | | { |
| | | if (anysome == null) return 0; |
| | | else if (string.IsNullOrEmpty(anysome.ToString())) |
| | | { |
| | | return 0; |
| | | } |
| | | else |
| | | { |
| | | int data = 0; |
| | | string sdata = anysome.ToString(); |
| | | if (sdata.Contains("%")) |
| | | { |
| | | sdata = sdata.Replace("%", ""); |
| | | try |
| | | { |
| | | data = int.Parse(sdata) / 100; |
| | | } |
| | | catch { data = 0; } |
| | | } |
| | | else |
| | | { |
| | | try |
| | | { |
| | | data = int.Parse(sdata); |
| | | } |
| | | catch { data = 0; } |
| | | } |
| | | return data; |
| | | } |
| | | } |
| | | |
| | | public static double safeToDouble(object anysome) |
| | | { |
| | | if (anysome == null) return 0.0; |
| | | else if (string.IsNullOrEmpty(anysome.ToString())) |
| | | { |
| | | return 0.0; |
| | | } |
| | | else |
| | | { |
| | | double data = 0; |
| | | string sdata = anysome.ToString(); |
| | | if (sdata.Contains("%")) |
| | | { |
| | | sdata = sdata.Replace("%", ""); |
| | | try |
| | | { |
| | | data = double.Parse(sdata) / 100.0; |
| | | } |
| | | catch { data = 0; } |
| | | } |
| | | else |
| | | { |
| | | try |
| | | { |
| | | data = double.Parse(sdata); |
| | | } |
| | | catch { data = 0; } |
| | | } |
| | | return data; |
| | | } |
| | | } |
| | | |
| | | public static DateTime safeToDatetime(object anysome) |
| | | { |
| | | if (anysome == null || string.IsNullOrEmpty(anysome.ToString())) return new DateTime(1900, 1, 1, 0, 0, 0); |
| | | else |
| | | { |
| | | DateTime dt = new DateTime(1900, 1, 1, 0, 0, 0); |
| | | try |
| | | { |
| | | dt = DateTime.Parse(anysome.ToString()); |
| | | } |
| | | catch { dt = new DateTime(1900, 1, 1, 0, 0, 0); } |
| | | return dt; |
| | | } |
| | | } |
| | | |
| | | public static string safeToString(object anysome) |
| | | { |
| | | string val = ""; |
| | | try |
| | | { |
| | | val = double.Parse(anysome.ToString()).ToString(); |
| | | } |
| | | catch |
| | | { |
| | | val = anysome.ToString(); |
| | | } |
| | | return val; |
| | | } |
| | | |
| | | public static DataTable createDataTable(string[] tts) |
| | | { |
| | | DataTable data = new DataTable(); |
| | | foreach (string pi in tts) |
| | | { |
| | | DataColumn dc = new DataColumn(pi, typeof(string)); |
| | | dc.Caption = pi; |
| | | data.Columns.Add(dc); |
| | | } |
| | | return data; |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region DateTime Tool |
| | | public static DateTime? SafeToConvertDatatime(string datetime) |
| | | { |
| | | DateTime? result = null; |
| | | try |
| | | { |
| | | if (!String.IsNullOrEmpty(datetime)) |
| | | result = DateTime.Parse(datetime); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | throw ex; |
| | | } |
| | | return result; |
| | | } |
| | | #endregion |
| | | |
| | | internal static object SafeToDecimal(string txtMinOperationVolume, string v, out object message) |
| | | { |
| | | throw new NotImplementedException(); |
| | | } |
| | | } |
| | | } |
| New file |
| | |
| | | /* |
| | | * DES 使用一个 56 位的密钥以及附加的 8 位奇偶校验位,产生最大 64 位的分组大小。 |
| | | * 这是一个迭代的分组密码,使用称为 Feistel 的技术,其中将加密的文本块分成两半。 |
| | | * 使用子密钥对其中一半应用循环功能,然后将输出与另一半进行"异或"运算; |
| | | * 接着交换这两半,这一过程会继续下去,但最后一个循环不交换。 |
| | | * DES 使用 16 个循环,使用异或,置换,代换,移位操作四种基本运算。 |
| | | */ |
| | | |
| | | using System; |
| | | using System.Text; |
| | | using System.Security.Cryptography;//这个是处理文字编码的前提 |
| | | using System.IO; |
| | | |
| | | namespace GTech.Solution.Api.Common |
| | | { |
| | | public static class DESEncrytion |
| | | { |
| | | #region 1、加密向量自定义 |
| | | /// <summary> |
| | | /// DES加密方法 |
| | | /// </summary> |
| | | /// <param name="strPlain">明文</param> |
| | | /// <param name="strDESKey">密钥</param> |
| | | /// <param name="strDESIV">向量</param> |
| | | /// <returns>密文</returns> |
| | | public static string DESEncrypt(string strPlain, string strDESKey, string strDESIV) |
| | | { |
| | | //把密钥转换成字节数组 |
| | | byte[] bytesDESKey = ASCIIEncoding.ASCII.GetBytes(strDESKey); |
| | | //把向量转换成字节数组 |
| | | byte[] bytesDESIV = ASCIIEncoding.ASCII.GetBytes(strDESIV); |
| | | //声明1个新的DES对象 |
| | | DESCryptoServiceProvider desEncrypt = new DESCryptoServiceProvider(); |
| | | //开辟一块内存流 |
| | | MemoryStream msEncrypt = new MemoryStream(); |
| | | //把内存流对象包装成加密流对象 |
| | | CryptoStream csEncrypt = new CryptoStream(msEncrypt, desEncrypt.CreateEncryptor(bytesDESKey, bytesDESIV), CryptoStreamMode.Write); |
| | | //把加密流对象包装成写入流对象 |
| | | StreamWriter swEncrypt = new StreamWriter(csEncrypt); |
| | | //写入流对象写入明文 |
| | | swEncrypt.WriteLine(strPlain); |
| | | //写入流关闭 |
| | | swEncrypt.Close(); |
| | | //加密流关闭 |
| | | csEncrypt.Close(); |
| | | //把内存流转换成字节数组,内存流现在已经是密文了 |
| | | byte[] bytesCipher = msEncrypt.ToArray(); |
| | | //内存流关闭 |
| | | msEncrypt.Close(); |
| | | //把密文字节数组转换为字符串,并返回 |
| | | return UnicodeEncoding.Unicode.GetString(bytesCipher); |
| | | } |
| | | /// <summary> |
| | | /// DES解密方法 |
| | | /// </summary> |
| | | /// <param name="strCipher">密文</param> |
| | | /// <param name="strDESKey">密钥</param> |
| | | /// <param name="strDESIV">向量</param> |
| | | /// <returns>明文</returns> |
| | | public static string DESDecrypt(string strCipher, string strDESKey, string strDESIV) |
| | | { |
| | | //把密钥转换成字节数组 |
| | | byte[] bytesDESKey = ASCIIEncoding.ASCII.GetBytes(strDESKey); |
| | | //把向量转换成字节数组 |
| | | byte[] bytesDESIV = ASCIIEncoding.ASCII.GetBytes(strDESIV); |
| | | //把密文转换成字节数组 |
| | | byte[] bytesCipher = UnicodeEncoding.Unicode.GetBytes(strCipher); |
| | | //声明1个新的DES对象 |
| | | DESCryptoServiceProvider desDecrypt = new DESCryptoServiceProvider(); |
| | | //开辟一块内存流,并存放密文字节数组 |
| | | MemoryStream msDecrypt = new MemoryStream(bytesCipher); |
| | | //把内存流对象包装成解密流对象 |
| | | CryptoStream csDecrypt = new CryptoStream(msDecrypt, desDecrypt.CreateDecryptor(bytesDESKey, bytesDESIV), CryptoStreamMode.Read); |
| | | //把解密流对象包装成读出流对象 |
| | | StreamReader srDecrypt = new StreamReader(csDecrypt); |
| | | //明文=读出流的读出内容 |
| | | string strPlainText = srDecrypt.ReadLine(); |
| | | //读出流关闭 |
| | | srDecrypt.Close(); |
| | | //解密流关闭 |
| | | csDecrypt.Close(); |
| | | //内存流关闭 |
| | | msDecrypt.Close(); |
| | | //返回明文 |
| | | return strPlainText; |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region 2、加密向量默认值 |
| | | |
| | | //默认密钥向量 |
| | | private static byte[] Keys = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF }; |
| | | /// <summary> |
| | | /// DES加密字符串 |
| | | /// </summary> |
| | | /// <param name="encryptString">待加密的字符串</param> |
| | | /// <param name="encryptKey">加密密钥,要求为8位</param> |
| | | /// <returns>加密成功返回加密后的字符串,失败返回源串</returns> |
| | | public static string EncryptDES(string encryptString, string encryptKey) |
| | | { |
| | | try |
| | | { |
| | | byte[] rgbKey = Encoding.UTF8.GetBytes(encryptKey.Substring(0, 8)); |
| | | byte[] rgbIV = Keys; |
| | | byte[] inputByteArray = Encoding.UTF8.GetBytes(encryptString); |
| | | DESCryptoServiceProvider dCSP = new DESCryptoServiceProvider(); |
| | | MemoryStream mStream = new MemoryStream(); |
| | | CryptoStream cStream = new CryptoStream(mStream, dCSP.CreateEncryptor(rgbKey, rgbIV), CryptoStreamMode.Write); |
| | | cStream.Write(inputByteArray, 0, inputByteArray.Length); |
| | | cStream.FlushFinalBlock(); |
| | | return Convert.ToBase64String(mStream.ToArray()); |
| | | } |
| | | catch |
| | | { |
| | | return encryptString; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// DES解密字符串 |
| | | /// </summary> |
| | | /// <param name="decryptString">待解密的字符串</param> |
| | | /// <param name="decryptKey">解密密钥,要求为8位,和加密密钥相同</param> |
| | | /// <returns>解密成功返回解密后的字符串,失败返源串</returns> |
| | | public static string DecryptDES(string decryptString, string decryptKey) |
| | | { |
| | | try |
| | | { |
| | | byte[] rgbKey = Encoding.UTF8.GetBytes(decryptKey); |
| | | byte[] rgbIV = Keys; |
| | | byte[] inputByteArray = Convert.FromBase64String(decryptString); |
| | | DESCryptoServiceProvider DCSP = new DESCryptoServiceProvider(); |
| | | MemoryStream mStream = new MemoryStream(); |
| | | CryptoStream cStream = new CryptoStream(mStream, DCSP.CreateDecryptor(rgbKey, rgbIV), CryptoStreamMode.Write); |
| | | cStream.Write(inputByteArray, 0, inputByteArray.Length); |
| | | cStream.FlushFinalBlock(); |
| | | return Encoding.UTF8.GetString(mStream.ToArray()); |
| | | } |
| | | catch |
| | | { |
| | | return decryptString; |
| | | } |
| | | } |
| | | #endregion |
| | | } |
| | | } |
| New file |
| | |
| | | using System; |
| | | using System.IO; |
| | | using System.Security.Cryptography; |
| | | using System.Text; |
| | | |
| | | namespace GTech.Solution.Api.Common |
| | | { |
| | | public static class EncryptHelper |
| | | { |
| | | #region 创建字符串的MD5哈希值 |
| | | /// <summary> |
| | | /// 创建字符串的MD5哈希值 |
| | | /// </summary> |
| | | /// <param name="inputString"></param> |
| | | /// <returns>字符串MD5哈希值的十六进制字符串</returns> |
| | | public static string StringToMD5Hash(string inputString) |
| | | { |
| | | MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider(); |
| | | byte[] encryptedBytes = md5.ComputeHash(Encoding.ASCII.GetBytes(inputString)); |
| | | StringBuilder sb = new StringBuilder(); |
| | | for (int i = 0; i < encryptedBytes.Length; i++) |
| | | { |
| | | sb.AppendFormat("{0:x2}", encryptedBytes[i]); |
| | | } |
| | | return sb.ToString(); |
| | | } |
| | | #endregion |
| | | |
| | | #region 1、一般可逆加密解密 |
| | | /// <summary> |
| | | /// 加密 |
| | | /// </summary> |
| | | /// <param name="data">加密数据</param> |
| | | /// <param name="KEY_64">密钥</param> |
| | | /// <param name="IV_64">加密向量</param> |
| | | /// <returns>加密数据结果</returns> |
| | | public static string Encode(string data, string KEY_64, string IV_64) |
| | | { |
| | | byte[] byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(KEY_64); |
| | | byte[] byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(IV_64); |
| | | |
| | | DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider(); |
| | | int i = cryptoProvider.KeySize; |
| | | MemoryStream ms = new MemoryStream(); |
| | | CryptoStream cst = new CryptoStream(ms, cryptoProvider.CreateEncryptor(byKey, byIV), CryptoStreamMode.Write); |
| | | |
| | | StreamWriter sw = new StreamWriter(cst); |
| | | sw.Write(data); |
| | | sw.Flush(); |
| | | cst.FlushFinalBlock(); |
| | | sw.Flush(); |
| | | return Convert.ToBase64String(ms.GetBuffer(), 0, (int)ms.Length); |
| | | } |
| | | /// <summary> |
| | | /// 解密 |
| | | /// </summary> |
| | | /// <param name="data">解密数据</param> |
| | | /// <param name="KEY_64">密钥</param> |
| | | /// <param name="IV_64">加密向量</param> |
| | | /// <returns>解密数据结果</returns> |
| | | public static string Decode(string data, string KEY_64, string IV_64) |
| | | { |
| | | byte[] byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(KEY_64); |
| | | byte[] byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(IV_64); |
| | | |
| | | byte[] byEnc; |
| | | try |
| | | { |
| | | byEnc = Convert.FromBase64String(data); |
| | | } |
| | | catch |
| | | { |
| | | return null; |
| | | } |
| | | |
| | | DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider(); |
| | | MemoryStream ms = new MemoryStream(byEnc); |
| | | CryptoStream cst = new CryptoStream(ms, cryptoProvider.CreateDecryptor(byKey, byIV), CryptoStreamMode.Read); |
| | | StreamReader sr = new StreamReader(cst); |
| | | return sr.ReadToEnd(); |
| | | } |
| | | #endregion |
| | | |
| | | #region 3、DES加密解密 |
| | | /// <summary> |
| | | /// DES 加密 |
| | | /// </summary> |
| | | /// <param name="str">加密字符串</param> |
| | | /// <param name="encrytKey">密钥,要求八位</param> |
| | | /// <param name="strDESIV">向量</param> |
| | | /// <returns></returns> |
| | | public static string DESEncode(string str, string strDESKey, string strDESIV) |
| | | { |
| | | return DESEncrytion.DESEncrypt(str, strDESKey, strDESIV); |
| | | } |
| | | /// <summary> |
| | | /// DES 解密 |
| | | /// </summary> |
| | | /// <param name="str">解密字符串</param> |
| | | /// <param name="encrytKey">密钥,要求八位</param> |
| | | /// <param name="strDESIV">向量</param> |
| | | /// <returns></returns> |
| | | public static string DESDecode(string str, string strDESKey, string strDESIV) |
| | | { |
| | | return DESEncrytion.DESDecrypt(str, strDESKey, strDESIV); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// DES 加密 加密向量默认 |
| | | /// </summary> |
| | | /// <param name="str">加密字符串</param> |
| | | /// <param name="encrytKey">密钥,要求八位</param> |
| | | /// <returns></returns> |
| | | public static string DESEncode(string str, string encrytKey) |
| | | { |
| | | return DESEncrytion.EncryptDES(str, encrytKey); |
| | | } |
| | | /// <summary> |
| | | /// DES 解密 加密向量默认 |
| | | /// </summary> |
| | | /// <param name="str">待解密字符串</param> |
| | | /// <param name="encrytKey">解密密钥,要求为8位,和加密密钥相同</param> |
| | | /// <returns></returns> |
| | | public static string DESDecode(string str, string encrytKey) |
| | | { |
| | | return DESEncrytion.DecryptDES(str, encrytKey); |
| | | } |
| | | #endregion |
| | | |
| | | #region 4、文件加密解密 |
| | | |
| | | /// <summary> |
| | | /// 加密文件 |
| | | /// </summary> |
| | | /// <param name="inName">源文件全名称</param> |
| | | /// <param name="outName">加密后文件保存全名称</param> |
| | | /// <param name="desKey">加密密钥</param> |
| | | /// <param name="desIV">加密向量</param> |
| | | private static void EncryptData(String inName, String outName, byte[] desKey, byte[] desIV) |
| | | { |
| | | FileEncrytion.EncryptData(inName, outName, desKey, desIV); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 解密文件 |
| | | /// </summary> |
| | | /// <param name="inName">源文件全名称</param> |
| | | /// <param name="outName">解密文件全名称</param> |
| | | /// <param name="desKey">解密密钥</param> |
| | | /// <param name="desIV">解密向量</param> |
| | | private static void DecryptData(String inName, String outName, byte[] desKey, byte[] desIV) |
| | | { |
| | | FileEncrytion.DecryptData(inName, outName, desKey, desIV); |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region 6、对称加密 |
| | | |
| | | /// <summary> |
| | | /// 加密方法 |
| | | /// </summary> |
| | | /// <param name="Source">待加密的串</param> |
| | | /// <returns>经过加密的串</returns> |
| | | public static string Encrypto(string Source) |
| | | { |
| | | return SymmetricEncrytion.Encrypto(Source); |
| | | } |
| | | /// <summary> |
| | | /// 解密方法 |
| | | /// </summary> |
| | | /// <param name="Source">待解密的串</param> |
| | | /// <returns>经过解密的串</returns> |
| | | public static string Decrypto(string Source) |
| | | { |
| | | return SymmetricEncrytion.Decrypto(Source); |
| | | } |
| | | #endregion |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.ComponentModel; |
| | | using System.Linq; |
| | | using System.Reflection; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | |
| | | namespace GTech.Solution.Api.Common |
| | | { |
| | | public class EnumUtil |
| | | { |
| | | public static TEnum Parse<TEnum>(int? value) |
| | | { |
| | | try |
| | | { |
| | | Type enumType = typeof(TEnum); |
| | | return (TEnum)Enum.Parse(enumType, value.ToString()); |
| | | } |
| | | catch (Exception) |
| | | { |
| | | throw; |
| | | } |
| | | } |
| | | |
| | | public static TEnum Parse<TEnum>(string str) |
| | | { |
| | | try |
| | | { |
| | | TEnum result = (TEnum)Enum.Parse(typeof(TEnum), str); |
| | | |
| | | return result; |
| | | } |
| | | catch (Exception) |
| | | { |
| | | throw; |
| | | } |
| | | } |
| | | |
| | | public static string GetDescription<T>(int? value) |
| | | { |
| | | var enumerationValue = Parse<T>(value); |
| | | if (enumerationValue == null) |
| | | return string.Empty; |
| | | |
| | | Type type = enumerationValue.GetType(); |
| | | MemberInfo[] memberInfo = type.GetMember(enumerationValue.ToString()); |
| | | |
| | | object[] attrs = memberInfo[0].GetCustomAttributes(typeof(DescriptionAttribute), false); |
| | | if (attrs != null && attrs.Length > 0) |
| | | { |
| | | return ((DescriptionAttribute)attrs[0]).Description; |
| | | } |
| | | else |
| | | { |
| | | return enumerationValue.ToString(); |
| | | } |
| | | } |
| | | |
| | | public static TDescriptionType GetDescription<TDescriptionType>(Enum enumerationValue) |
| | | { |
| | | Type type = enumerationValue.GetType(); |
| | | MemberInfo[] memberInfo = type.GetMember(enumerationValue.ToString()); |
| | | |
| | | object[] attrs = memberInfo[0].GetCustomAttributes(typeof(DescriptionAttribute), false); |
| | | if (attrs != null && attrs.Length > 0) |
| | | { |
| | | var result = ((DescriptionAttribute)attrs[0]).Description; |
| | | return (TDescriptionType)Convert.ChangeType(result, typeof(TDescriptionType)); |
| | | } |
| | | else |
| | | { |
| | | return (TDescriptionType)Convert.ChangeType(enumerationValue, typeof(TDescriptionType)); |
| | | } |
| | | } |
| | | |
| | | public static string GetEnumString<TEnum>(int? value) |
| | | { |
| | | if (!value.HasValue) |
| | | return string.Empty; |
| | | |
| | | Type enumType = typeof(TEnum); |
| | | return Enum.Parse(enumType, value.ToString()).ToString(); |
| | | } |
| | | } |
| | | } |
| New file |
| | |
| | | using System; |
| | | using System.IO; |
| | | using System.Security.Cryptography; |
| | | |
| | | namespace GTech.Solution.Api.Common |
| | | { |
| | | /// <summary> |
| | | /// 文件加密 |
| | | /// </summary> |
| | | public static class FileEncrytion |
| | | { |
| | | /// <summary> |
| | | /// 加密文件 |
| | | /// </summary> |
| | | /// <param name="inName"></param> |
| | | /// <param name="outName"></param> |
| | | /// <param name="desKey"></param> |
| | | /// <param name="desIV"></param> |
| | | public static void EncryptData(String inName, String outName, byte[] desKey, byte[] desIV) |
| | | { |
| | | //Create the file streams to handle the input and output files. |
| | | FileStream fin = new FileStream(inName, FileMode.Open, FileAccess.Read); |
| | | FileStream fout = new FileStream(outName, FileMode.OpenOrCreate, FileAccess.Write); |
| | | fout.SetLength(0); |
| | | |
| | | //Create variables to help with read and write. |
| | | byte[] bin = new byte[100]; //This is intermediate storage for the encryption. |
| | | long rdlen = 0; //This is the total number of bytes written. |
| | | long totlen = fin.Length; //This is the total length of the input file. |
| | | int len; //This is the number of bytes to be written at a time. |
| | | |
| | | DES des = new DESCryptoServiceProvider(); |
| | | CryptoStream encStream = new CryptoStream(fout, des.CreateEncryptor(desKey, desIV), CryptoStreamMode.Write); |
| | | |
| | | //Read from the input file, then encrypt and write to the output file. |
| | | while (rdlen < totlen) |
| | | { |
| | | len = fin.Read(bin, 0, 100); |
| | | encStream.Write(bin, 0, len); |
| | | rdlen = rdlen + len; |
| | | } |
| | | |
| | | encStream.Close(); |
| | | fout.Close(); |
| | | fin.Close(); |
| | | } |
| | | /// <summary> |
| | | /// 解密文件 |
| | | /// </summary> |
| | | /// <param name="inName"></param> |
| | | /// <param name="outName"></param> |
| | | /// <param name="desKey"></param> |
| | | /// <param name="desIV"></param> |
| | | public static void DecryptData(String inName, String outName, byte[] desKey, byte[] desIV) |
| | | { |
| | | //Create the file streams to handle the input and output files. |
| | | FileStream fin = new FileStream(inName, FileMode.Open, FileAccess.Read); |
| | | FileStream fout = new FileStream(outName, FileMode.OpenOrCreate, FileAccess.Write); |
| | | fout.SetLength(0); |
| | | |
| | | //Create variables to help with read and write. |
| | | byte[] bin = new byte[100]; //This is intermediate storage for the encryption. |
| | | long rdlen = 0; //This is the total number of bytes written. |
| | | long totlen = fin.Length; //This is the total length of the input file. |
| | | int len; //This is the number of bytes to be written at a time. |
| | | |
| | | DES des = new DESCryptoServiceProvider(); |
| | | CryptoStream encStream = new CryptoStream(fout, des.CreateDecryptor(desKey, desIV), CryptoStreamMode.Write); |
| | | |
| | | //Read from the input file, then encrypt and write to the output file. |
| | | while (rdlen < totlen) |
| | | { |
| | | len = fin.Read(bin, 0, 100); |
| | | encStream.Write(bin, 0, len); |
| | | rdlen = rdlen + len; |
| | | } |
| | | |
| | | encStream.Close(); |
| | | fout.Close(); |
| | | fin.Close(); |
| | | |
| | | } |
| | | } |
| | | } |
| New file |
| | |
| | | using Newtonsoft.Json; |
| | | using Newtonsoft.Json.Converters; |
| | | using System; |
| | | using System.Data; |
| | | |
| | | namespace GTech.Solution.Api.Common |
| | | { |
| | | #region 一.忽略某些属性 |
| | | /// 一.忽略某些属性 |
| | | /// OptIn 默认情况下, 所有的成员不会被序列化, 类中的成员只有标有特性JsonProperty的才会被序列化, 当类的成员很多, 但客户端仅仅需要一部分数据时, 很有用 |
| | | /// [JsonObject(MemberSerialization.OptIn)] |
| | | /// public class Person |
| | | /// { |
| | | /// public int Age { get; set; } |
| | | /// [JsonProperty] |
| | | /// public string Name { get; set; } |
| | | /// } |
| | | /// Person p = new Person { Age = 10, Name = "Gary"}; |
| | | /// result: {"Name":"Gary"} |
| | | /// |
| | | /// OptOut 默认值, 类中所有公有成员会被序列化, 如果不想被序列化, 可以用特性JsonIgnore |
| | | /// [JsonObject(MemberSerialization.OptOut)] |
| | | /// public class Person |
| | | /// { |
| | | /// public int Age { get; set; } |
| | | /// [JsonIgnore] |
| | | /// public string Name { get; set; } |
| | | /// } |
| | | /// Person p = new Person { Age = 10, Name = "Gary"}; |
| | | /// result: {"Age":"10"} |
| | | #endregion |
| | | |
| | | #region 二.默认值处理 |
| | | /// 二.默认值处理 |
| | | /// 序列化时想忽略默认值属性可以通过JsonSerializerSettings.DefaultValueHandling来确定,该值为枚举值 |
| | | /// DefaultValueHandling.Ignore 序列化和反序列化时, 忽略默认值 |
| | | /// DefaultValueHandling.Include 序列化和反序列化时, 包含默认值 |
| | | /// [JsonObject(MemberSerialization.OptIn)] |
| | | /// public class Person |
| | | /// { |
| | | /// [DefaultValue(10)] |
| | | /// public int Age { get; set; } |
| | | /// [JsonProperty] |
| | | /// public string Name { get; set; } |
| | | /// } |
| | | /// Person p = new Person { Age = 10, Name = "Gary", Sex = "Man", IsMarry = false, Birthday = new DateTime(1991, 1, 2) }; |
| | | /// result: {"Name":"Gary","Sex":"Man","Birthday":"1991-01-02T00:00:00"} |
| | | #endregion |
| | | |
| | | #region 三.空值的处理 |
| | | /// 三.空值的处理 |
| | | /// 序列化时需要忽略值为NULL的属性,可以通过JsonSerializerSettings.NullValueHandling来确定, |
| | | /// 另外通过JsonSerializerSettings设置属性是对序列化过程中所有属性生效的, |
| | | /// 想单独对某一个属性生效可以使用JsonProperty,下面将分别展示两个方式 |
| | | /// [JsonObject(MemberSerialization.OptIn)] |
| | | /// public class Person |
| | | /// { |
| | | /// [JsonProperty(NullValueHandling=NullValueHandling.Ignore)] //Must set this attibute, otherwise throw exception. |
| | | /// public Room room { get; set; } |
| | | /// [JsonProperty] |
| | | /// public int Age { get; set; } |
| | | /// [JsonProperty] |
| | | /// public string Name { get; set; } |
| | | /// } |
| | | /// Person p = new Person { room = NULL,Age = 10, Name = "Gary"}; |
| | | /// result: {"Age":"10","Name":"Gary"} |
| | | |
| | | #endregion |
| | | |
| | | #region 四.支持非公共成员 |
| | | /// 四.支持非公共成员 |
| | | /// 序列化时默认都是处理公共成员,如果需要处理非公共成员,就要在该成员上加特性"JsonProperty" |
| | | /// [JsonObject(MemberSerialization.OptIn)] |
| | | /// public class Person |
| | | /// { |
| | | /// [JsonProperty] |
| | | /// public int Age { get; set; } |
| | | /// [JsonProperty] |
| | | /// public string Name { get; set; } |
| | | /// [JsonProperty] |
| | | /// private int Height { get; set; } |
| | | /// } |
| | | /// Person p = new Person {Age = 10, Name = "Gary",Height = "100.1"}; |
| | | /// result: {"Age":"10","Name":"Gary","Height":"100.1"} |
| | | #endregion |
| | | |
| | | #region 五.日期处理 |
| | | /// 五.日期处理 |
| | | /// 对于Dateime类型日期的格式化就比较麻烦了,系统自带的会格式化成iso日期标准, |
| | | /// 但是实际使用过程中大多数使用的可能是yyyy-MM-dd 或者yyyy-MM-dd HH:mm:ss两种格式的日期, |
| | | /// 解决办法是可以将DateTime类型改成string类型自己格式化好,然后在序列化。 |
| | | /// 如果不想修改代码,可以采用下面方案实现。 |
| | | /// Json.Net提供了IsoDateTimeConverter日期转换这个类,可以通过JsnConverter实现相应的日期转换 |
| | | /// [JsonConverter(typeof(IsoDateTimeConverter))] |
| | | /// public DateTime Birthday { get; set; } |
| | | /// 但是IsoDateTimeConverter日期格式不是我们想要的,我们可以继承该类实现自己的日期 |
| | | /// public class ChinaDateTimeConverter : DateTimeConverterBase |
| | | /// { |
| | | /// private static IsoDateTimeConverter dtConverter = new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd" }; |
| | | /// public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) |
| | | /// { |
| | | /// return dtConverter.ReadJson(reader, objectType, existingValue, serializer); |
| | | /// } |
| | | /// public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) |
| | | /// { |
| | | /// dtConverter.WriteJson(writer, value, serializer); |
| | | /// } |
| | | /// } |
| | | /// [JsonConverter(typeof(ChinaDateTimeConverter))] |
| | | /// public DateTime Birthday { get; set; } |
| | | /// |
| | | /// [JsonObject(MemberSerialization.OptIn)] |
| | | /// public class Person |
| | | /// { |
| | | /// [JsonProperty] |
| | | /// public int Age { get; set; } |
| | | /// [JsonProperty] |
| | | /// public string Name { get; set; } |
| | | /// [JsonProperty] |
| | | /// private int Height { get; set; } |
| | | /// [JsonConverter(typeof(ChinaDateTimeConverter))] |
| | | /// public DateTime Birthday { get; set; } |
| | | /// } |
| | | /// Person p = new Person {Age = 10, Name = "Gary",Height = "100.1", Birthday = Birthday = new DateTime(1991, 1, 2)}; |
| | | /// result: {"Age":"10","Name":"Gary","Height":"100.1","Birthday":"1991-01-02-00-00-00"} |
| | | #endregion |
| | | public class JsonNetExt |
| | | { |
| | | #region Serialization |
| | | public static string DataTableToJson(DataTable dt) |
| | | { |
| | | return JsonConvert.SerializeObject(dt); |
| | | } |
| | | public static string EntityToJson<T>(T Entity) |
| | | { |
| | | return JsonConvert.SerializeObject(Entity); |
| | | } |
| | | public static string EntityToJsonIgnoreDefaultValue<T>(T Entity) |
| | | { |
| | | JsonSerializerSettings jsetting = new JsonSerializerSettings(); |
| | | jsetting.DefaultValueHandling = DefaultValueHandling.Ignore; |
| | | |
| | | return JsonConvert.SerializeObject(Entity, Formatting.Indented, jsetting); |
| | | } |
| | | public static string EntityToJsonIgnoreNULL<T>(T Entity) |
| | | { |
| | | JsonSerializerSettings jsetting = new JsonSerializerSettings(); |
| | | jsetting.NullValueHandling = NullValueHandling.Ignore; |
| | | return JsonConvert.SerializeObject(Entity, Formatting.Indented, jsetting); |
| | | } |
| | | public static string EntityToJsonIgnoreNULLAndDefaultValue<T>(T Entity) |
| | | { |
| | | JsonSerializerSettings jsetting = new JsonSerializerSettings(); |
| | | jsetting.NullValueHandling = NullValueHandling.Ignore; |
| | | jsetting.DefaultValueHandling = DefaultValueHandling.Ignore; |
| | | return JsonConvert.SerializeObject(Entity, Formatting.Indented, jsetting); |
| | | } |
| | | #endregion |
| | | |
| | | #region Deserialization |
| | | public static DataTable JsonToDataTable(string dataTableJsonString) |
| | | { |
| | | return JsonConvert.DeserializeObject<DataTable>(dataTableJsonString); |
| | | } |
| | | public static T JsonToEntity<T>(string entityJsonString) |
| | | { |
| | | return JsonConvert.DeserializeObject<T>(entityJsonString); |
| | | } |
| | | #endregion |
| | | } |
| | | /// <summary> |
| | | /// User defined time converter for convert to json string |
| | | /// </summary> |
| | | public class ChinaDateTimeConverter : DateTimeConverterBase |
| | | { |
| | | private static IsoDateTimeConverter dtConverter = new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd-hh-mm-ss" }; |
| | | |
| | | public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) |
| | | { |
| | | return dtConverter.ReadJson(reader, objectType, existingValue, serializer); |
| | | } |
| | | |
| | | public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) |
| | | { |
| | | dtConverter.WriteJson(writer, value, serializer); |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// MemberSerialization.OptOut: OptOut 默认值, 类中所有公有成员会被序列化, 如果不想被序列化, 可以用特性JsonIgnore |
| | | /// MemberSerialization.OptOut: OptIn 默认情况下, 所有的成员不会被序列化, 类中的成员只有标有特性JsonProperty的才会被序列化, 当类的成员很多, 但客户端仅仅需要一部分数据时, 很有用 |
| | | /// </summary> |
| | | [JsonObject(MemberSerialization.OptIn)] |
| | | public class JsonNetExtDemoPerson |
| | | { |
| | | /// <summary> |
| | | /// JsonProperty(NullValueHandling = NullValueHandling.Ignore): ignore null value properties |
| | | /// </summary> |
| | | [JsonProperty(NullValueHandling = NullValueHandling.Ignore)] |
| | | public object Data { get; set; } |
| | | /// <summary> |
| | | /// JsonIgnore: When converting ,Ignore this property |
| | | /// </summary> |
| | | [JsonIgnore] |
| | | public int Age { get; set; } |
| | | /// <summary> |
| | | /// JsonProperty: When converting via MemberSerialization.OptIn, if include this property, must use this attribute. |
| | | /// </summary> |
| | | [JsonProperty] |
| | | public string Name { get; set; } |
| | | /// <summary> |
| | | /// JsonProperty: if need private properties, must add this attribute |
| | | /// </summary> |
| | | [JsonProperty] |
| | | private int Height { get; set; } |
| | | /// <summary> |
| | | /// ChinaDateTimeConverter: Use time converter, set time format by user. |
| | | /// </summary> |
| | | [JsonConverter(typeof(ChinaDateTimeConverter))] |
| | | public DateTime Birthday { get; set; } |
| | | /// <summary> |
| | | /// StringEnumConverter: make "Type":"1" to "Type":"Mail" |
| | | /// </summary> |
| | | [JsonConverter(typeof(StringEnumConverter))] |
| | | public JsonNetExtDemoNotifyType Type { get; set; } |
| | | } |
| | | public enum JsonNetExtDemoNotifyType |
| | | { |
| | | Mail = 0, |
| | | SMS = 1 |
| | | } |
| | | } |
| New file |
| | |
| | | using System; |
| | | using System.IO; |
| | | using System.Security.Cryptography; |
| | | using System.Text; |
| | | |
| | | namespace GTech.Solution.Api.Common |
| | | { |
| | | /// <summary> |
| | | /// 对称加密 |
| | | /// </summary> |
| | | public static class SymmetricEncrytion |
| | | { |
| | | private static SymmetricAlgorithm mobjCryptoService= new RijndaelManaged(); |
| | | private static string Key = "Guz(%&hj7x89H$yuBI0456FtmaT5&fvHUFCy76*h%(HilJ$lhj!y6&(*jkP87jH7"; |
| | | |
| | | /// <summary> |
| | | /// 获得密钥 |
| | | /// </summary> |
| | | /// <returns>密钥</returns> |
| | | public static byte[] GetLegalKey() |
| | | { |
| | | string sTemp = Key; |
| | | mobjCryptoService.GenerateKey(); |
| | | byte[] bytTemp = mobjCryptoService.Key; |
| | | int KeyLength = bytTemp.Length; |
| | | if (sTemp.Length > KeyLength) |
| | | sTemp = sTemp.Substring(0, KeyLength); |
| | | else if (sTemp.Length < KeyLength) |
| | | sTemp = sTemp.PadRight(KeyLength, ' '); |
| | | return ASCIIEncoding.ASCII.GetBytes(sTemp); |
| | | } |
| | | /// <summary> |
| | | /// 获得初始向量IV |
| | | /// </summary> |
| | | /// <returns>初试向量IV</returns> |
| | | public static byte[] GetLegalIV() |
| | | { |
| | | string sTemp = "E4ghj*Ghg7!rNIfb&95GUY86GfghUb#er57HBh(u%g6HJ($jhWk7&!hg4ui%$hjk"; |
| | | mobjCryptoService.GenerateIV(); |
| | | byte[] bytTemp = mobjCryptoService.IV; |
| | | int IVLength = bytTemp.Length; |
| | | if (sTemp.Length > IVLength) |
| | | sTemp = sTemp.Substring(0, IVLength); |
| | | else if (sTemp.Length < IVLength) |
| | | sTemp = sTemp.PadRight(IVLength, ' '); |
| | | return ASCIIEncoding.ASCII.GetBytes(sTemp); |
| | | } |
| | | /// <summary> |
| | | /// 加密方法 |
| | | /// </summary> |
| | | /// <param name="Source">待加密的串</param> |
| | | /// <returns>经过加密的串</returns> |
| | | public static string Encrypto(string Source) |
| | | { |
| | | byte[] bytIn = UTF8Encoding.UTF8.GetBytes(Source); |
| | | MemoryStream ms = new MemoryStream(); |
| | | mobjCryptoService.Key = GetLegalKey(); |
| | | mobjCryptoService.IV = GetLegalIV(); |
| | | ICryptoTransform encrypto = mobjCryptoService.CreateEncryptor(); |
| | | CryptoStream cs = new CryptoStream(ms, encrypto, CryptoStreamMode.Write); |
| | | cs.Write(bytIn, 0, bytIn.Length); |
| | | cs.FlushFinalBlock(); |
| | | ms.Close(); |
| | | byte[] bytOut = ms.ToArray(); |
| | | return Convert.ToBase64String(bytOut); |
| | | } |
| | | /// <summary> |
| | | /// 解密方法 |
| | | /// </summary> |
| | | /// <param name="Source">待解密的串</param> |
| | | /// <returns>经过解密的串</returns> |
| | | public static string Decrypto(string Source) |
| | | { |
| | | byte[] bytIn = Convert.FromBase64String(Source); |
| | | MemoryStream ms = new MemoryStream(bytIn, 0, bytIn.Length); |
| | | mobjCryptoService.Key = GetLegalKey(); |
| | | mobjCryptoService.IV = GetLegalIV(); |
| | | ICryptoTransform encrypto = mobjCryptoService.CreateDecryptor(); |
| | | CryptoStream cs = new CryptoStream(ms, encrypto, CryptoStreamMode.Read); |
| | | StreamReader sr = new StreamReader(cs); |
| | | return sr.ReadToEnd(); |
| | | } |
| | | } |
| | | } |
| New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | |
| | | namespace GTech.Solution.Api.Common |
| | | { |
| | | |
| | | public class TLSVPConsole |
| | | { |
| | | public static void Prompt(string message) |
| | | { |
| | | Console.ResetColor(); |
| | | Console.ForegroundColor = ConsoleColor.Yellow; |
| | | |
| | | Console.WriteLine("[ Info ] " + message); |
| | | TLSVPFileLog.WriteIntoLogFile(message); |
| | | } |
| | | public static void Info(string message) |
| | | { |
| | | Console.ResetColor(); |
| | | Console.ForegroundColor = ConsoleColor.Green; |
| | | |
| | | Console.WriteLine("[ Info ] " + message); |
| | | TLSVPFileLog.WriteIntoLogFile(message); |
| | | } |
| | | public static void Debug(string message) |
| | | { |
| | | Console.ResetColor(); |
| | | Console.ForegroundColor = ConsoleColor.Blue; |
| | | |
| | | Console.WriteLine("[ Debug ] " + message); |
| | | TLSVPFileLog.WriteIntoLogFile(message); |
| | | } |
| | | public static void Warn(string message) |
| | | { |
| | | Console.ResetColor(); |
| | | Console.ForegroundColor = ConsoleColor.DarkYellow; |
| | | |
| | | Console.WriteLine("[ Warn ] " + message); |
| | | TLSVPFileLog.WriteIntoLogFile(message); |
| | | } |
| | | public static void Error(string message) |
| | | { |
| | | Console.ResetColor(); |
| | | Console.ForegroundColor = ConsoleColor.Red; |
| | | |
| | | Console.WriteLine("[ Error ] " + message); |
| | | TLSVPFileLog.WriteIntoLogFile(message); |
| | | } |
| | | public static void Fatal(string message) |
| | | { |
| | | Console.ResetColor(); |
| | | Console.ForegroundColor = ConsoleColor.DarkRed; |
| | | |
| | | Console.WriteLine("[ Fatal ] " + message); |
| | | TLSVPFileLog.WriteIntoLogFile(message); |
| | | } |
| | | public static void Exception(Exception message) |
| | | { |
| | | Console.ResetColor(); |
| | | Console.ForegroundColor = ConsoleColor.DarkRed; |
| | | |
| | | Console.WriteLine("[ Fatal ] " + message); |
| | | TLSVPFileLog.WriteIntoLogFile(message.Message); |
| | | } |
| | | } |
| | | } |
| New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.IO; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | |
| | | namespace GTech.Solution.Api.Common |
| | | { |
| | | public class TLSVPFileLog |
| | | { |
| | | public static void WriteIntoLogFile(string message) |
| | | { |
| | | string folder = AppDomain.CurrentDomain.BaseDirectory + string.Format(@"DebugLog\\{0}", DateTime.Now.ToString("yyyyMMdd")); |
| | | if (!Directory.Exists(folder)) |
| | | { |
| | | Directory.CreateDirectory(folder); |
| | | } |
| | | try |
| | | { |
| | | //File.WriteAllText(string.Format("{0}\\{1}.txt", folder, DateTime.Now.ToString("yyyyMMdd")), "test", Encoding.UTF8); |
| | | |
| | | using (StreamWriter file = new StreamWriter(string.Format("{0}\\{1}.txt", folder, DateTime.Now.ToString("yyyyMMddhhmmss")), true)) |
| | | { |
| | | file.WriteLine(DateTime.Now.ToString("[yyyyMMddhhmmss]") + message); |
| | | file.Close(); |
| | | } |
| | | } |
| | | catch (Exception) |
| | | { |
| | | |
| | | } |
| | | } |
| | | |
| | | public static void ClearLogFile(string path) |
| | | { |
| | | DirectoryInfo dir = new DirectoryInfo(path); |
| | | if (dir.Exists) |
| | | { |
| | | DirectoryInfo[] childs = dir.GetDirectories(); |
| | | foreach (DirectoryInfo child in childs) |
| | | { |
| | | child.Delete(true); |
| | | } |
| | | dir.Delete(true); |
| | | } |
| | | } |
| | | } |
| | | } |
| New file |
| | |
| | | using System; |
| | | using System.Text; |
| | | using JWT; |
| | | using JWT.Serializers; |
| | | using JWT.Algorithms; |
| | | using JWT.Exceptions; |
| | | using GTech.Solution.Api.Domain.Model.SystemSettings; |
| | | |
| | | namespace GTech.Solution.Api.Common.Common |
| | | { |
| | | public static class TokenGenerator |
| | | { |
| | | private static string secret = "yokogawa"; |
| | | |
| | | public static string GetToken(Userbasic u) |
| | | { |
| | | JWT.Algorithms.IJwtAlgorithm Algorithm = new JWT.Algorithms.HMACSHA256Algorithm(); |
| | | JWT.IJsonSerializer json = new JsonNetSerializer(); |
| | | JWT.IBase64UrlEncoder Base64 = new JWT.JwtBase64UrlEncoder(); |
| | | |
| | | JwtEncoder en = new JwtEncoder(Algorithm, json, Base64); |
| | | byte[] keyBytes = Encoding.UTF8.GetBytes(secret); |
| | | return en.Encode(u, keyBytes); |
| | | } |
| | | |
| | | public static Userbasic GetUserbasic(string token) |
| | | { |
| | | IJsonSerializer js = new JsonNetSerializer(); |
| | | JWT.IBase64UrlEncoder Base64 = new JWT.JwtBase64UrlEncoder(); |
| | | JwtDecoder en = new JwtDecoder(js, Base64); |
| | | return en.DecodeToObject<Userbasic>(token); |
| | | } |
| | | |
| | | public static string ValidateJwtToken(string token) |
| | | { |
| | | try |
| | | { |
| | | IJsonSerializer serializer = new JsonNetSerializer(); |
| | | IDateTimeProvider provider = new UtcDateTimeProvider(); |
| | | IJwtValidator validator = new JwtValidator(serializer, provider); |
| | | IBase64UrlEncoder urlEncoder = new JwtBase64UrlEncoder(); |
| | | IJwtAlgorithm alg = new HMACSHA256Algorithm(); |
| | | IJwtDecoder decoder = new JwtDecoder(serializer, validator, urlEncoder, alg); |
| | | var json = decoder.Decode(token, secret, true); |
| | | //校验通过,返回解密后的字符串 |
| | | return json; |
| | | } |
| | | catch (TokenExpiredException) |
| | | { |
| | | throw new Exception("Session is expired, access is denied!"); |
| | | } |
| | | catch (SignatureVerificationException) |
| | | { |
| | | throw new Exception("Signature verification has error, access is denied!"); |
| | | } |
| | | catch (Exception) |
| | | { |
| | | throw new Exception("Unauthorized user, Access is denied!"); |
| | | } |
| | | } |
| | | } |
| | | } |
| New file |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
| | | <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> |
| | | <PropertyGroup> |
| | | <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> |
| | | <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> |
| | | <ProjectGuid>{8F7DFF8F-296B-457F-A667-941EE23ABF0B}</ProjectGuid> |
| | | <OutputType>Library</OutputType> |
| | | <AppDesignerFolder>Properties</AppDesignerFolder> |
| | | <RootNamespace>GTech.Solution.Api.Common</RootNamespace> |
| | | <AssemblyName>GTech.Solution.Api.Common</AssemblyName> |
| | | <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion> |
| | | <FileAlignment>512</FileAlignment> |
| | | </PropertyGroup> |
| | | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> |
| | | <DebugSymbols>true</DebugSymbols> |
| | | <DebugType>full</DebugType> |
| | | <Optimize>false</Optimize> |
| | | <OutputPath>bin\Debug\</OutputPath> |
| | | <DefineConstants>DEBUG;TRACE</DefineConstants> |
| | | <ErrorReport>prompt</ErrorReport> |
| | | <WarningLevel>4</WarningLevel> |
| | | </PropertyGroup> |
| | | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> |
| | | <DebugType>pdbonly</DebugType> |
| | | <Optimize>true</Optimize> |
| | | <OutputPath>bin\Release\</OutputPath> |
| | | <DefineConstants>TRACE</DefineConstants> |
| | | <ErrorReport>prompt</ErrorReport> |
| | | <WarningLevel>4</WarningLevel> |
| | | </PropertyGroup> |
| | | <ItemGroup> |
| | | <Reference Include="JWT, Version=7.0.0.0, Culture=neutral, PublicKeyToken=6f98bca0f40f2ecf, processorArchitecture=MSIL"> |
| | | <HintPath>..\packages\JWT.7.3.0\lib\net46\JWT.dll</HintPath> |
| | | <Private>True</Private> |
| | | </Reference> |
| | | <Reference Include="Newtonsoft.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> |
| | | <HintPath>..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll</HintPath> |
| | | <Private>True</Private> |
| | | </Reference> |
| | | <Reference Include="System" /> |
| | | <Reference Include="System.Configuration" /> |
| | | <Reference Include="System.Core" /> |
| | | <Reference Include="System.Runtime.Serialization" /> |
| | | <Reference Include="System.Xml.Linq" /> |
| | | <Reference Include="System.Data.DataSetExtensions" /> |
| | | <Reference Include="Microsoft.CSharp" /> |
| | | <Reference Include="System.Data" /> |
| | | <Reference Include="System.Net.Http" /> |
| | | <Reference Include="System.Xml" /> |
| | | </ItemGroup> |
| | | <ItemGroup> |
| | | <Compile Include="Attibute\KeyAttribute.cs" /> |
| | | <Compile Include="Attibute\MaxLengthAttribute.cs" /> |
| | | <Compile Include="Common\ADODOTNETSqlHelper.cs" /> |
| | | <Compile Include="Common\ConvertUtil.cs" /> |
| | | <Compile Include="Common\DESEncrytion.cs" /> |
| | | <Compile Include="Common\EncryptHelper.cs" /> |
| | | <Compile Include="Common\EnumUtil.cs" /> |
| | | <Compile Include="Common\FileEncrytion.cs" /> |
| | | <Compile Include="Common\JsonNetExt.cs" /> |
| | | <Compile Include="Common\SymmetricEncrytion.cs" /> |
| | | <Compile Include="Common\TLSVPConsole.cs" /> |
| | | <Compile Include="Common\TLSVPFileLog.cs" /> |
| | | <Compile Include="Common\TokenGenerator.cs" /> |
| | | <Compile Include="Properties\AssemblyInfo.cs" /> |
| | | </ItemGroup> |
| | | <ItemGroup> |
| | | <None Include="packages.config" /> |
| | | </ItemGroup> |
| | | <ItemGroup> |
| | | <ProjectReference Include="..\GTech.Solution.Api.Domain\GTech.Solution.Api.Domain.csproj"> |
| | | <Project>{4A2930DE-7BF4-4368-B6AD-B74B9043DA7D}</Project> |
| | | <Name>GTech.Solution.Api.Domain</Name> |
| | | </ProjectReference> |
| | | </ItemGroup> |
| | | <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> |
| | | <!-- To modify your build process, add your task inside one of the targets below and uncomment it. |
| | | Other similar extension points exist, see Microsoft.Common.targets. |
| | | <Target Name="BeforeBuild"> |
| | | </Target> |
| | | <Target Name="AfterBuild"> |
| | | </Target> |
| | | --> |
| | | </Project> |
| New file |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
| | | <PropertyGroup> |
| | | <ProjectView>ProjectFiles</ProjectView> |
| | | </PropertyGroup> |
| | | </Project> |
| New file |
| | |
| | | using System.Reflection; |
| | | using System.Runtime.CompilerServices; |
| | | using System.Runtime.InteropServices; |
| | | |
| | | // General Information about an assembly is controlled through the following |
| | | // set of attributes. Change these attribute values to modify the information |
| | | // associated with an assembly. |
| | | [assembly: AssemblyTitle("GTech.Solution.Api.Common")] |
| | | [assembly: AssemblyDescription("")] |
| | | [assembly: AssemblyConfiguration("")] |
| | | [assembly: AssemblyCompany("")] |
| | | [assembly: AssemblyProduct("GTech.Solution.Api.Common")] |
| | | [assembly: AssemblyCopyright("Copyright © 2020")] |
| | | [assembly: AssemblyTrademark("")] |
| | | [assembly: AssemblyCulture("")] |
| | | |
| | | // Setting ComVisible to false makes the types in this assembly not visible |
| | | // to COM components. If you need to access a type in this assembly from |
| | | // COM, set the ComVisible attribute to true on that type. |
| | | [assembly: ComVisible(false)] |
| | | |
| | | // The following GUID is for the ID of the typelib if this project is exposed to COM |
| | | [assembly: Guid("8f7dff8f-296b-457f-a667-941ee23abf0b")] |
| | | |
| | | // Version information for an assembly consists of the following four values: |
| | | // |
| | | // Major Version |
| | | // Minor Version |
| | | // Build Number |
| | | // Revision |
| | | // |
| | | // You can specify all the values or you can default the Build and Revision Numbers |
| | | // by using the '*' as shown below: |
| | | // [assembly: AssemblyVersion("1.0.*")] |
| | | [assembly: AssemblyVersion("1.0.0.0")] |
| | | [assembly: AssemblyFileVersion("1.0.0.0")] |
| New file |
| | |
| | | <?xml version="1.0"?> |
| | | <doc> |
| | | <assembly> |
| | | <name>JWT</name> |
| | | </assembly> |
| | | <members> |
| | | <member name="T:JWT.Algorithms.DelegateAlgorithmFactory"> |
| | | <summary> |
| | | Implements <see href="IAlgorithmFactory" /> by returning the supplied <see href="IJwtAlgorithm" /> while ignoring parameters. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.DelegateAlgorithmFactory.#ctor(System.Func{JWT.Algorithms.IJwtAlgorithm})"> |
| | | <summary> |
| | | Creates an instance of <see cref="T:JWT.Algorithms.DelegateAlgorithmFactory" /> with supplied delegate to an algorithm. |
| | | </summary> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.DelegateAlgorithmFactory.#ctor(JWT.Algorithms.IJwtAlgorithm)"> |
| | | <summary> |
| | | Creates an instance of <see cref="T:JWT.Algorithms.DelegateAlgorithmFactory" /> with supplied algorithm. |
| | | </summary> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.DelegateAlgorithmFactory.Create(JWT.JwtDecoderContext)"> |
| | | <inheritdoc /> |
| | | </member> |
| | | <member name="T:JWT.Algorithms.HMACSHA256Algorithm"> |
| | | <summary> |
| | | HMAC using SHA-256 |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.HMACSHA256Algorithm.Sign(System.Byte[],System.Byte[])"> |
| | | <inheritdoc /> |
| | | </member> |
| | | <member name="P:JWT.Algorithms.HMACSHA256Algorithm.Name"> |
| | | <inheritdoc /> |
| | | </member> |
| | | <member name="T:JWT.Algorithms.HMACSHA384Algorithm"> |
| | | <summary> |
| | | HMAC using SHA-384 |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.HMACSHA384Algorithm.Sign(System.Byte[],System.Byte[])"> |
| | | <inheritdoc /> |
| | | </member> |
| | | <member name="P:JWT.Algorithms.HMACSHA384Algorithm.Name"> |
| | | <inheritdoc /> |
| | | </member> |
| | | <member name="T:JWT.Algorithms.HMACSHA512Algorithm"> |
| | | <summary> |
| | | HMAC using SHA-512 |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.HMACSHA512Algorithm.Sign(System.Byte[],System.Byte[])"> |
| | | <inheritdoc /> |
| | | </member> |
| | | <member name="P:JWT.Algorithms.HMACSHA512Algorithm.Name"> |
| | | <inheritdoc /> |
| | | </member> |
| | | <member name="T:JWT.Algorithms.HMACSHAAlgorithmFactory"> |
| | | <inheritdoc /> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.HMACSHAAlgorithmFactory.Create(JWT.JwtDecoderContext)"> |
| | | <inheritdoc /> |
| | | </member> |
| | | <member name="T:JWT.Algorithms.IAlgorithmFactory"> |
| | | <summary> |
| | | Provides IJwtAlgorithms. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.IAlgorithmFactory.Create(JWT.JwtDecoderContext)"> |
| | | <summary> |
| | | Creates an AlgorithmFactory using the provided algorithm enum. |
| | | </summary> |
| | | <param name="context">The captured context during validation of JWT inside <see cref="T:JWT.JwtDecoder"/></param> |
| | | </member> |
| | | <member name="T:JWT.Algorithms.IAsymmetricAlgorithm"> |
| | | <summary> |
| | | Represents an asymmetric algorithm to generate or validate JWT signature. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.IAsymmetricAlgorithm.Verify(System.Byte[],System.Byte[])"> |
| | | <summary> |
| | | Verifies provided byte array with provided signature. |
| | | </summary> |
| | | <param name="bytesToSign">The data to verify</param> |
| | | <param name="signature">The signature to verify with</param> |
| | | </member> |
| | | <member name="T:JWT.Algorithms.IJwtAlgorithm"> |
| | | <summary> |
| | | Represents an algorithm to generate JWT signature. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.IJwtAlgorithm.Sign(System.Byte[],System.Byte[])"> |
| | | <summary> |
| | | Signs provided byte array with provided key. |
| | | </summary> |
| | | <param name="key">The key used to sign the data</param> |
| | | <param name="bytesToSign">The data to sign</param> |
| | | </member> |
| | | <member name="P:JWT.Algorithms.IJwtAlgorithm.Name"> |
| | | <summary> |
| | | Gets algorithm name. |
| | | </summary> |
| | | </member> |
| | | <member name="T:JWT.Algorithms.JwtAlgorithmExtensions"> |
| | | <summary> |
| | | Extension methods for <seealso cref="T:JWT.Algorithms.IJwtAlgorithm" /> |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.JwtAlgorithmExtensions.IsAsymmetric(JWT.Algorithms.IJwtAlgorithm)"> |
| | | <summary> |
| | | Returns whether or not the algorithm is asymmetric. |
| | | </summary> |
| | | <param name="alg">The algorithm instance.</param> |
| | | </member> |
| | | <member name="T:JWT.Algorithms.JwtAlgorithmName"> |
| | | <summary> |
| | | Enum representing the various Jwt Hash Algorithms. |
| | | </summary> |
| | | </member> |
| | | <member name="F:JWT.Algorithms.JwtAlgorithmName.HS256"> |
| | | <summary> |
| | | HMAC using SHA-256 |
| | | </summary> |
| | | </member> |
| | | <member name="F:JWT.Algorithms.JwtAlgorithmName.HS384"> |
| | | <summary> |
| | | HMAC using SHA-384 |
| | | </summary> |
| | | </member> |
| | | <member name="F:JWT.Algorithms.JwtAlgorithmName.HS512"> |
| | | <summary> |
| | | HMAC using SHA-512 |
| | | </summary> |
| | | </member> |
| | | <member name="F:JWT.Algorithms.JwtAlgorithmName.RS256"> |
| | | <summary> |
| | | RSASSA-PKCS1-v1_5 using SHA-256 |
| | | </summary> |
| | | </member> |
| | | <member name="T:JWT.Algorithms.RS256Algorithm"> |
| | | <summary> |
| | | RSASSA-PKCS1-v1_5 using SHA-256 |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.RS256Algorithm.#ctor(System.Security.Cryptography.RSA,System.Security.Cryptography.RSA)"> |
| | | <summary> |
| | | Creates an instance of <see cref="T:JWT.Algorithms.RS256Algorithm" /> using the provided pair of public and private keys. |
| | | </summary> |
| | | <param name="publicKey">The public key for verifying the data.</param> |
| | | <param name="privateKey">The private key for signing the data.</param> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.RS256Algorithm.#ctor(System.Security.Cryptography.RSA)"> |
| | | <summary> |
| | | Creates an instance of <see cref="T:JWT.Algorithms.RS256Algorithm" /> using the provided public key only. |
| | | </summary> |
| | | <remarks> |
| | | An instance created using this constructor can only be used for verifying the data, not for signing it. |
| | | </remarks> |
| | | <param name="publicKey">The public key for verifying the data.</param> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.RS256Algorithm.#ctor(System.Security.Cryptography.X509Certificates.X509Certificate2)"> |
| | | <summary> |
| | | Creates an instance using the provided certificate. |
| | | </summary> |
| | | <param name="cert">The certificate having a public key and an optional private key.</param> |
| | | </member> |
| | | <member name="P:JWT.Algorithms.RS256Algorithm.Name"> |
| | | <inheritdoc /> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.RS256Algorithm.Sign(System.Byte[],System.Byte[])"> |
| | | <inheritdoc /> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.RS256Algorithm.Sign(System.Byte[])"> |
| | | <summary> |
| | | Signs the provided bytes. |
| | | </summary> |
| | | <param name="bytesToSign">The bytes to sign.</param> |
| | | <returns>The signed bytes.</returns> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.RS256Algorithm.Verify(System.Byte[],System.Byte[])"> |
| | | <inheritdoc /> |
| | | </member> |
| | | <member name="T:JWT.Algorithms.RSAlgorithmFactory"> |
| | | <inheritdoc /> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.RSAlgorithmFactory.#ctor(System.Func{System.Security.Cryptography.X509Certificates.X509Certificate2})"> |
| | | <summary> |
| | | Creates an instance of the <see cref="T:JWT.Algorithms.RSAlgorithmFactory" /> class using the provided <see cref="T:System.Security.Cryptography.X509Certificates.X509Certificate2" />. |
| | | </summary> |
| | | <param name="certFactory">Func that returns <see cref="T:System.Security.Cryptography.X509Certificates.X509Certificate2" /> which will be used to instantiate <see cref="T:JWT.Algorithms.RS256Algorithm" /></param> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.RSAlgorithmFactory.#ctor(System.Security.Cryptography.RSA)"> |
| | | <summary> |
| | | Creates an instance of <see cref="T:JWT.Algorithms.RSAlgorithmFactory"/> using the provided public key only. |
| | | </summary> |
| | | <param name="publicKey">The public key for verifying the data.</param> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.RSAlgorithmFactory.#ctor(System.Security.Cryptography.RSA,System.Security.Cryptography.RSA)"> |
| | | <summary> |
| | | Creates an instance of <see cref="T:JWT.Algorithms.RSAlgorithmFactory"/> using the provided pair of public and private keys. |
| | | </summary> |
| | | <param name="publicKey">The public key for verifying the data.</param> |
| | | <param name="privateKey">The private key for signing the data.</param> |
| | | </member> |
| | | <member name="T:JWT.Builder.ClaimName"> |
| | | <summary> |
| | | All public claims of a JWT specified by IANA, see https://www.iana.org/assignments/jwt/jwt.xhtml |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Builder.EnumExtensions.GetHeaderName(JWT.Builder.HeaderName)"> |
| | | <summary> |
| | | Gets the string representation of a well-known header name enum |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Builder.EnumExtensions.GetPublicClaimName(JWT.Builder.ClaimName)"> |
| | | <summary> |
| | | Gets the string representation of a well-known claim name enum |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Builder.EnumExtensions.GetDescription``1(``0)"> |
| | | <summary> |
| | | Gets the value of the <see cref="T:System.ComponentModel.DescriptionAttribute" /> from the object. |
| | | </summary> |
| | | </member> |
| | | <member name="T:JWT.Builder.HeaderName"> |
| | | <summary> |
| | | All predefined parameter names specified by RFC 7515, see https://tools.ietf.org/html/rfc7515 |
| | | </summary> |
| | | </member> |
| | | <member name="T:JWT.Builder.JwtBuilder"> |
| | | <summary> |
| | | Encode and decode JWT with Fluent API. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.AddHeader(JWT.Builder.HeaderName,System.Object)"> |
| | | <summary> |
| | | Add header to the JWT. |
| | | </summary> |
| | | <param name="name">Well-known header name</param> |
| | | <param name="value">The value you want give to the header</param> |
| | | <returns>Current builder instance</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.AddClaim(System.String,System.Object)"> |
| | | <summary> |
| | | Adds claim to the JWT. |
| | | </summary> |
| | | <param name="name">Claim name</param> |
| | | <param name="value">Claim value</param> |
| | | <returns>Current builder instance</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.WithSerializer(JWT.IJsonSerializer)"> |
| | | <summary> |
| | | Sets JWT serializer. |
| | | </summary> |
| | | <remarks> |
| | | If not set then default <see cref="T:JWT.Serializers.JsonNetSerializer" /> will be used. |
| | | </remarks> |
| | | <returns>Current builder instance</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.WithDateTimeProvider(JWT.IDateTimeProvider)"> |
| | | <summary> |
| | | Sets custom datetime provider. |
| | | </summary> |
| | | <remarks> |
| | | If not set then default <see cref="T:JWT.UtcDateTimeProvider" /> will be used. |
| | | </remarks> |
| | | <returns>Current builder instance</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.WithEncoder(JWT.IJwtEncoder)"> |
| | | <summary> |
| | | Sets JWT encoder. |
| | | </summary> |
| | | <returns>Current builder instance</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.WithDecoder(JWT.IJwtDecoder)"> |
| | | <summary> |
| | | Sets JWT decoder. |
| | | </summary> |
| | | <returns>Current builder instance</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.WithValidator(JWT.IJwtValidator)"> |
| | | <summary> |
| | | Sets JWT validator. |
| | | </summary> |
| | | <remarks> |
| | | Required to decode with verification. |
| | | </remarks> |
| | | <returns>Current builder instance</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.WithUrlEncoder(JWT.IBase64UrlEncoder)"> |
| | | <summary> |
| | | Sets custom URL encoder. |
| | | </summary> |
| | | <remarks> |
| | | If not set then default <see cref="T:JWT.JwtBase64UrlEncoder" /> will be used. |
| | | </remarks> |
| | | <returns>Current builder instance</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.WithAlgorithmFactory(JWT.Algorithms.IAlgorithmFactory)"> |
| | | <summary> |
| | | Sets JWT algorithm factory. |
| | | </summary> |
| | | <returns>Current builder instance.</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.WithAlgorithm(JWT.Algorithms.IJwtAlgorithm)"> |
| | | <summary> |
| | | Sets JWT algorithm. |
| | | </summary> |
| | | <returns>Current builder instance.</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.WithSecret(System.String[])"> |
| | | <summary> |
| | | Sets certificate secret. |
| | | </summary> |
| | | <remarks> |
| | | Required to create new token that uses an symmetric algorithm such as <seealso cref="T:JWT.Algorithms.RS256Algorithm" /> |
| | | </remarks> |
| | | <returns>Current builder instance</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.WithSecret(System.Byte[][])"> |
| | | <summary> |
| | | Sets certificate secret. |
| | | </summary> |
| | | <remarks> |
| | | Required to create new token that uses an symmetric algorithm such as <seealso cref="T:JWT.Algorithms.RS256Algorithm" /> |
| | | </remarks> |
| | | <returns>Current builder instance</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.MustVerifySignature"> |
| | | <summary> |
| | | Instructs to do verify the JWT signature. |
| | | </summary> |
| | | <returns>Current builder instance</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.DoNotVerifySignature"> |
| | | <summary> |
| | | Instructs to do not verify the JWT signature. |
| | | </summary> |
| | | <returns>Current builder instance</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.WithVerifySignature(System.Boolean)"> |
| | | <summary> |
| | | Instructs whether to verify the JWT signature. |
| | | </summary> |
| | | <returns>Current builder instance</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.Encode"> |
| | | <summary> |
| | | Encodes a token using the supplied dependencies. |
| | | </summary> |
| | | <returns>The generated JWT</returns> |
| | | <exception cref="T:System.InvalidOperationException">Thrown if either algorithm, serializer, encoder or secret is null</exception> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.Decode(System.String)"> |
| | | <summary> |
| | | Decodes a token using the supplied dependencies. |
| | | </summary> |
| | | <param name="token">The JWT</param> |
| | | <returns>The JSON payload</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.DecodeHeader(System.String)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the header. |
| | | </summary> |
| | | <param name="token">The JWT</param> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.DecodeHeader``1(System.String)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the header. |
| | | </summary> |
| | | <param name="token">The JWT</param> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.Decode``1(System.String)"> |
| | | <summary> |
| | | Decodes a token using the supplied dependencies. |
| | | </summary> |
| | | <param name="token">The JWT</param> |
| | | <returns>The payload converted to <see cref="!:T" /></returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.CanEncode"> |
| | | <summary> |
| | | Checks whether enough dependencies were supplied to encode a new token. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.CanDecode"> |
| | | <summary> |
| | | Checks whether enough dependencies were supplied to decode a token. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilderExtensions.AddClaim(JWT.Builder.JwtBuilder,JWT.Builder.ClaimName,System.Object)"> |
| | | <summary> |
| | | Adds well-known claim to the JWT. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilderExtensions.AddClaim``1(JWT.Builder.JwtBuilder,JWT.Builder.ClaimName,``0)"> |
| | | <summary> |
| | | Adds well-known claim to the JWT. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilderExtensions.AddClaim``1(JWT.Builder.JwtBuilder,System.String,``0)"> |
| | | <summary> |
| | | Adds well-known claim to the JWT. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilderExtensions.AddClaims(JWT.Builder.JwtBuilder,System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.Object}})"> |
| | | <summary> |
| | | Adds several claims to the JWT |
| | | </summary> |
| | | </member> |
| | | <member name="T:JWT.Builder.JwtData"> |
| | | <summary> |
| | | Represents the Data that will store in a JWT. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtData.#ctor"> |
| | | <summary> |
| | | Creates a new instance of <see cref="T:JWT.Builder.JwtData" /> with empty Header and Payload. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtData.#ctor(System.Collections.Generic.IDictionary{System.String,System.Object})"> |
| | | <summary> |
| | | Creates a new instance of <see cref="T:JWT.Builder.JwtData" /> |
| | | </summary> |
| | | <param name="payload">Dictionary that contans the payload</param> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtData.#ctor(System.Collections.Generic.IDictionary{System.String,System.Object},System.Collections.Generic.IDictionary{System.String,System.Object})"> |
| | | <summary> |
| | | Creates a new instance of <see cref="T:JWT.Builder.JwtData" /> |
| | | </summary> |
| | | <param name="header">Dictionary that contains the headers</param> |
| | | <param name="payload">Dictionary that contans the payload</param> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtData.#ctor(System.String)"> |
| | | <summary> |
| | | Creates a new instance of <see cref="T:JWT.Builder.JwtData" /> |
| | | </summary> |
| | | <param name="token">The JWT token</param> |
| | | </member> |
| | | <member name="P:JWT.Builder.JwtData.Header"> |
| | | <summary> |
| | | The header information as a key-value store of the JWT |
| | | </summary> |
| | | </member> |
| | | <member name="P:JWT.Builder.JwtData.Payload"> |
| | | <summary> |
| | | The payload of the JWT as a key-value store |
| | | </summary> |
| | | </member> |
| | | <member name="T:JWT.Builder.JwtHeader"> |
| | | <summary> |
| | | JSON header model with predefined parameter names specified by RFC 7515, see https://tools.ietf.org/html/rfc7515 |
| | | </summary> |
| | | </member> |
| | | <member name="T:JWT.Exceptions.InvalidTokenPartsException"> |
| | | <summary> |
| | | Represents an exception thrown when when a token doesn't consist of 3 delimited by dot parts. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Exceptions.InvalidTokenPartsException.#ctor(System.String)"> |
| | | <summary> |
| | | Creates an instance of <see cref="T:JWT.Exceptions.InvalidTokenPartsException" /> |
| | | </summary> |
| | | <param name="paramName">The name of the parameter that caused the exception</param> |
| | | </member> |
| | | <member name="T:JWT.Exceptions.SignatureVerificationException"> |
| | | <summary> |
| | | Represents an exception thrown when a signature validation fails. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Exceptions.SignatureVerificationException.#ctor(System.String)"> |
| | | <summary> |
| | | Creates an instance of <see cref="T:JWT.Exceptions.SignatureVerificationException" /> |
| | | </summary> |
| | | <param name="message">The error message</param> |
| | | </member> |
| | | <member name="P:JWT.Exceptions.SignatureVerificationException.Expected"> |
| | | <summary> |
| | | Expected key. |
| | | </summary> |
| | | </member> |
| | | <member name="P:JWT.Exceptions.SignatureVerificationException.Received"> |
| | | <summary> |
| | | Received key. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Exceptions.SignatureVerificationException.GetOrDefault``1(System.String)"> |
| | | <summary> |
| | | Retrieves the value for the provided key, or default. |
| | | </summary> |
| | | <typeparam name="T"></typeparam> |
| | | <param name="key">The key</param> |
| | | <returns></returns> |
| | | </member> |
| | | <member name="T:JWT.Exceptions.TokenExpiredException"> |
| | | <summary> |
| | | Represents an exception thrown when when a token is expired. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Exceptions.TokenExpiredException.#ctor(System.String)"> |
| | | <summary> |
| | | Creates an instance of <see cref="T:JWT.Exceptions.TokenExpiredException" /> |
| | | </summary> |
| | | <param name="message">The error message</param> |
| | | </member> |
| | | <member name="P:JWT.Exceptions.TokenExpiredException.PayloadData"> |
| | | <summary> |
| | | The payload. |
| | | </summary> |
| | | </member> |
| | | <member name="P:JWT.Exceptions.TokenExpiredException.Expiration"> |
| | | <summary> |
| | | The expiration DateTime of the token. |
| | | </summary> |
| | | </member> |
| | | <member name="T:JWT.IBase64UrlEncoder"> |
| | | <summary> |
| | | Represents a base64 encoder/decoder. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.IBase64UrlEncoder.Encode(System.Byte[])"> |
| | | <summary> |
| | | Encodes the byte array to a Base64 string. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.IBase64UrlEncoder.Decode(System.String)"> |
| | | <summary> |
| | | Decodes the Base64 string to a byte array. |
| | | </summary> |
| | | </member> |
| | | <member name="T:JWT.IDateTimeProvider"> |
| | | <summary> |
| | | Represents a DateTime provider. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.IDateTimeProvider.GetNow"> |
| | | <summary> |
| | | Gets the current DateTime. |
| | | </summary> |
| | | </member> |
| | | <member name="T:JWT.IJsonSerializer"> |
| | | <summary> |
| | | Provides JSON Serialize and Deserialize. Allows custom serializers used. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.IJsonSerializer.Serialize(System.Object)"> |
| | | <summary> |
| | | Serialize an object to JSON string |
| | | </summary> |
| | | <param name="obj">object</param> |
| | | <returns>JSON string</returns> |
| | | </member> |
| | | <member name="M:JWT.IJsonSerializer.Deserialize``1(System.String)"> |
| | | <summary> |
| | | Deserialize a JSON string to typed object. |
| | | </summary> |
| | | <typeparam name="T">type of object</typeparam> |
| | | <param name="json">JSON string</param> |
| | | <returns>Strongly-typed object</returns> |
| | | </member> |
| | | <member name="T:JWT.IJwtDecoder"> |
| | | <summary> |
| | | Represents a JWT decoder. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.IJwtDecoder.DecodeHeader(System.String)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the header. |
| | | </summary> |
| | | <param name="token">The JWT</param> |
| | | </member> |
| | | <member name="M:JWT.IJwtDecoder.DecodeHeader``1(JWT.JwtParts)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the header as an object. |
| | | </summary> |
| | | <param name="jwt">The JWT</param> |
| | | </member> |
| | | <member name="M:JWT.IJwtDecoder.Decode(JWT.JwtParts)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload. |
| | | </summary> |
| | | <param name="jwt">The JWT</param> |
| | | <returns>A string containing the JSON payload</returns> |
| | | </member> |
| | | <member name="M:JWT.IJwtDecoder.Decode(JWT.JwtParts,System.Byte[],System.Boolean)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload. |
| | | </summary> |
| | | <param name="jwt">The JWT</param> |
| | | <param name="key">The key that were used to sign the JWT</param> |
| | | <param name="verify">Whether to verify the signature (default is true)</param> |
| | | <returns>A string containing the JSON payload</returns> |
| | | </member> |
| | | <member name="M:JWT.IJwtDecoder.Decode(JWT.JwtParts,System.Byte[][],System.Boolean)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload. |
| | | </summary> |
| | | <param name="jwt">The JWT</param> |
| | | <param name="keys">The keys provided which one of them was used to sign the JWT</param> |
| | | <param name="verify">Whether to verify the signature (default is true)</param> |
| | | <returns>A string containing the JSON payload</returns> |
| | | </member> |
| | | <member name="M:JWT.IJwtDecoder.DecodeToObject``1(JWT.JwtParts)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload as an object. |
| | | </summary> |
| | | <typeparam name="T">The type to return</typeparam> |
| | | <param name="jwt">The JWT</param> |
| | | <returns>An object representing the payload</returns> |
| | | </member> |
| | | <member name="M:JWT.IJwtDecoder.DecodeToObject``1(JWT.JwtParts,System.Byte[],System.Boolean)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload as an object. |
| | | </summary> |
| | | <typeparam name="T">The type to return</typeparam> |
| | | <param name="jwt">The JWT</param> |
| | | <param name="key">The key that was used to sign the JWT</param> |
| | | <param name="verify">Whether to verify the signature (default is true)</param> |
| | | <returns>An object representing the payload</returns> |
| | | </member> |
| | | <member name="M:JWT.IJwtDecoder.DecodeToObject``1(JWT.JwtParts,System.Byte[][],System.Boolean)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload as an object. |
| | | </summary> |
| | | <typeparam name="T">The type to return</typeparam> |
| | | <param name="jwt">The JWT</param> |
| | | <param name="keys">The keys which one of them was used to sign the JWT</param> |
| | | <param name="verify">Whether to verify the signature (default is true)</param> |
| | | <returns>An object representing the payload</returns> |
| | | </member> |
| | | <member name="T:JWT.JwtDecoderExtensions"> |
| | | <summary> |
| | | Extension methods for <seealso cref="T:JWT.IJwtDecoder" /> |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoderExtensions.Decode(JWT.IJwtDecoder,System.String)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload. |
| | | </summary> |
| | | <param name="decoder">The decoder instance</param> |
| | | <param name="token">The JWT</param> |
| | | <returns>A string containing the JSON payload</returns> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | <exception cref="T:JWT.Exceptions.InvalidTokenPartsException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoderExtensions.Decode(JWT.IJwtDecoder,JWT.JwtParts)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload. |
| | | </summary> |
| | | <param name="decoder">The decoder instance</param> |
| | | <param name="jwt">The JWT</param> |
| | | <returns>A string containing the JSON payload</returns> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoderExtensions.Decode(JWT.IJwtDecoder,System.String,System.Byte[],System.Boolean)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload. |
| | | </summary> |
| | | <param name="decoder">The decoder instance</param> |
| | | <param name="token">The JWT</param> |
| | | <param name="key">The key that was used to sign the JWT</param> |
| | | <param name="verify">Whether to verify the signature (default is true)</param> |
| | | <returns>A string containing the JSON payload</returns> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | <exception cref="T:JWT.Exceptions.InvalidTokenPartsException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoderExtensions.Decode(JWT.IJwtDecoder,System.String,System.Byte[][],System.Boolean)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload. |
| | | </summary> |
| | | <param name="decoder">The decoder instance</param> |
| | | <param name="token">The JWT</param> |
| | | <param name="keys">The keys that were used to sign the JWT</param> |
| | | <param name="verify">Whether to verify the signature (default is true)</param> |
| | | <returns>A string containing the JSON payload</returns> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | <exception cref="T:JWT.Exceptions.InvalidTokenPartsException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoderExtensions.Decode(JWT.IJwtDecoder,System.String,System.String,System.Boolean)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload as an dictionary. |
| | | </summary> |
| | | <param name="decoder">The decoder instance</param> |
| | | <param name="token">The JWT</param> |
| | | <param name="key">The key that was used to sign the JWT</param> |
| | | <param name="verify">Whether to verify the signature (default is true)</param> |
| | | <returns>An object representing the payload</returns> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoderExtensions.Decode(JWT.IJwtDecoder,System.String,System.String[],System.Boolean)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload as an dictionary. |
| | | </summary> |
| | | <param name="decoder">The decoder instance</param> |
| | | <param name="token">The JWT</param> |
| | | <param name="keys">The key which one of them was used to sign the JWT</param> |
| | | <param name="verify">Whether to verify the signature (default is true)</param> |
| | | <returns>An object representing the payload</returns> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoderExtensions.DecodeToObject``1(JWT.IJwtDecoder,System.String)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload as an object. |
| | | </summary> |
| | | <typeparam name="T">The type to return</typeparam> |
| | | <param name="decoder">The decoder instance</param> |
| | | <param name="token">The JWT</param> |
| | | <returns>An object representing the payload</returns> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoderExtensions.DecodeToObject(JWT.IJwtDecoder,System.String)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload as a dictionary. |
| | | </summary> |
| | | <param name="decoder">The decoder instance</param> |
| | | <param name="token">The JWT</param> |
| | | <returns>An object representing the payload</returns> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoderExtensions.DecodeToObject(JWT.IJwtDecoder,System.String,System.Byte[],System.Boolean)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload as a dictionary. |
| | | </summary> |
| | | <param name="decoder">The decoder instance</param> |
| | | <param name="token">The JWT</param> |
| | | <param name="key">The key that was used to sign the JWT</param> |
| | | <param name="verify">Whether to verify the signature (default is true)</param> |
| | | <returns>An object representing the payload</returns> |
| | | <exception cref = "T:System.ArgumentException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | <exception cref="T:JWT.Exceptions.InvalidTokenPartsException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoderExtensions.DecodeToObject(JWT.IJwtDecoder,System.String,System.Byte[][],System.Boolean)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload as a dictionary. |
| | | </summary> |
| | | <param name="decoder">The decoder instance</param> |
| | | <param name="token">The JWT</param> |
| | | <param name="keys">The keys that were used to sign the JWT</param> |
| | | <param name="verify">Whether to verify the signature (default is true)</param> |
| | | <returns>A string containing the JSON payload</returns> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | <exception cref="T:JWT.Exceptions.InvalidTokenPartsException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoderExtensions.DecodeToObject``1(JWT.IJwtDecoder,System.String,System.String,System.Boolean)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload as an object. |
| | | </summary> |
| | | <typeparam name="T">The type to return</typeparam> |
| | | <param name="decoder">The decoder instance</param> |
| | | <param name="token">The JWT</param> |
| | | <param name="key">The key that was used to sign the JWT</param> |
| | | <param name="verify">Whether to verify the signature (default is true)</param> |
| | | <returns>An object representing the payload</returns> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoderExtensions.DecodeToObject``1(JWT.IJwtDecoder,System.String,System.Byte[],System.Boolean)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload as an object. |
| | | </summary> |
| | | <typeparam name="T">The type to return</typeparam> |
| | | <param name="decoder">The decoder instance</param> |
| | | <param name="token">The JWT</param> |
| | | <param name="key">The key that was used to sign the JWT</param> |
| | | <param name="verify">Whether to verify the signature (default is true)</param> |
| | | <returns>An object representing the payload</returns> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoderExtensions.DecodeToObject``1(JWT.IJwtDecoder,System.String,System.Byte[][],System.Boolean)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload as an object. |
| | | </summary> |
| | | <typeparam name="T">The type to return</typeparam> |
| | | <param name="decoder">The decoder instance</param> |
| | | <param name="token">The JWT</param> |
| | | <param name="keys">The keys provided which one of them was used to sign the JWT</param> |
| | | <param name="verify">Whether to verify the signature (default is true)</param> |
| | | <returns>An object representing the payload</returns> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoderExtensions.DecodeToObject``1(JWT.IJwtDecoder,System.String,System.String[],System.Boolean)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload as an object. |
| | | </summary> |
| | | <typeparam name="T">The type to return</typeparam> |
| | | <param name="decoder">The decoder instance</param> |
| | | <param name="token">The JWT</param> |
| | | <param name="keys">The keys provided which one of them was used to sign the JWT</param> |
| | | <param name="verify">Whether to verify the signature (default is true)</param> |
| | | <returns>An object representing the payload</returns> |
| | | </member> |
| | | <member name="T:JWT.IJwtEncoder"> |
| | | <summary> |
| | | Represents a JWT encoder. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.IJwtEncoder.Encode(System.Collections.Generic.IDictionary{System.String,System.Object},System.Object,System.Byte[])"> |
| | | <summary> |
| | | Creates a JWT given a header, a payload, the signing key, and the algorithm to use. |
| | | </summary> |
| | | <param name="extraHeaders">An arbitrary set of extra headers. Will be augmented with the standard "typ" and "alg" headers</param> |
| | | <param name="payload">An arbitrary payload (must be serializable to JSON)</param> |
| | | <param name="key">The key bytes used to sign the token</param> |
| | | <returns>The generated JWT</returns> |
| | | </member> |
| | | <member name="T:JWT.JwtEncoderExtensions"> |
| | | <summary> |
| | | Extension methods for <seealso cref="T:JWT.IJwtEncoder" /> |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.JwtEncoderExtensions.Encode(JWT.IJwtEncoder,System.Object,System.String)"> |
| | | <summary> |
| | | Creates a JWT given a payload, the signing key, and the algorithm to use. |
| | | </summary> |
| | | <param name="encoder">The encoder instance</param> |
| | | <param name="payload">An arbitrary payload (must be serializable to JSON)</param> |
| | | <param name="key">The key used to sign the token</param> |
| | | <returns>The generated JWT</returns> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtEncoderExtensions.Encode(JWT.IJwtEncoder,System.Object,System.Byte[])"> |
| | | <summary> |
| | | Creates a JWT given a payload, the signing key, and the algorithm to use. |
| | | </summary> |
| | | <param name="encoder">The encoder instance</param> |
| | | <param name="payload">An arbitrary payload (must be serializable to JSON)</param> |
| | | <param name="key">The key used to sign the token</param> |
| | | <returns>The generated JWT</returns> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtEncoderExtensions.Encode(JWT.IJwtEncoder,System.Collections.Generic.IDictionary{System.String,System.Object},System.Object,System.String)"> |
| | | <summary> |
| | | Creates a JWT given a set of arbitrary extra headers, a payload, the signing key, and the algorithm to use. |
| | | </summary> |
| | | <param name="encoder">The encoder instance</param> |
| | | <param name="extraHeaders">An arbitrary set of extra headers. Will be augmented with the standard "typ" and "alg" headers</param> |
| | | <param name="payload">An arbitrary payload (must be serializable to JSON)</param> |
| | | <param name="key">The key bytes used to sign the token</param> |
| | | <returns>The generated JWT</returns> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | </member> |
| | | <member name="T:JWT.IJwtValidator"> |
| | | <summary> |
| | | Represents a JWT validator. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.IJwtValidator.Validate(System.String,System.String,System.String[])"> |
| | | <summary> |
| | | Given the JWT, verifies its signature correctness. |
| | | </summary> |
| | | <param name="decodedPayload">>An arbitrary payload (already serialized to JSON)</param> |
| | | <param name="signature">Decoded body</param> |
| | | <param name="decodedSignatures">The signatures to validate with</param> |
| | | </member> |
| | | <member name="M:JWT.IJwtValidator.Validate(System.String,JWT.Algorithms.IAsymmetricAlgorithm,System.Byte[],System.Byte[])"> |
| | | <summary> |
| | | Given the JWT, verifies its signature correctness. |
| | | </summary> |
| | | <remarks> |
| | | Used by the asymmetric algorithms only. |
| | | </remarks> |
| | | <param name="decodedPayload">>An arbitrary payload (already serialized to JSON)</param> |
| | | <param name="alg">The asymmetric algorithm to validate with</param> |
| | | <param name="bytesToSign">The header and payload bytes to validate</param> |
| | | <param name="decodedSignature">The signature to validate with</param> |
| | | </member> |
| | | <member name="M:JWT.IJwtValidator.TryValidate(System.String,System.String,System.String,System.Exception@)"> |
| | | <summary> |
| | | Given the JWT, verifies its signature correctness without throwing an exception but returning it instead. |
| | | </summary> |
| | | <param name="payloadJson">>An arbitrary payload (already serialized to JSON)</param> |
| | | <param name="signature">Decoded body</param> |
| | | <param name="decodedSignature">The signature to validate with</param> |
| | | <param name="ex">The resulting validation exception, if any</param> |
| | | <returns>Returns <c>true</c> if exception is JWT is valid and exception is null, otherwise false</returns> |
| | | </member> |
| | | <member name="M:JWT.IJwtValidator.TryValidate(System.String,System.String,System.String[],System.Exception@)"> |
| | | <summary> |
| | | Given the JWT, verifies its signature correctness without throwing an exception but returning it instead. |
| | | </summary> |
| | | <param name="payloadJson">>An arbitrary payload (already serialized to JSON)</param> |
| | | <param name="signature">Decoded body</param> |
| | | <param name="decodedSignature">The signatures to validate with</param> |
| | | <param name="ex">The resulting validation exception, if any</param> |
| | | <returns>Returns <c>true</c> if exception is JWT is valid and exception is null, otherwise false</returns> |
| | | </member> |
| | | <member name="M:JWT.IJwtValidator.TryValidate(System.String,JWT.Algorithms.IAsymmetricAlgorithm,System.Byte[],System.Byte[],System.Exception@)"> |
| | | <summary> |
| | | Given the JWT, verifies its signatures correctness without throwing an exception but returning it instead. |
| | | </summary> |
| | | <param name="payloadJson">>An arbitrary payload (already serialized to JSON)</param> |
| | | <param name="alg">The asymmetric algorithm to validate with</param> |
| | | <param name="bytesToSign">The header and payload bytes to validate</param> |
| | | <param name="decodedSignature">The decodedSignatures to validate with</param> |
| | | <param name="ex">Validation exception, if any</param> |
| | | <returns>True if exception is JWT is valid and exception is null, otherwise false</returns> |
| | | </member> |
| | | <member name="T:JWT.JwtBase64UrlEncoder"> |
| | | <summary> |
| | | Base64 encoding/decoding implementation according to the JWT spec |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.JwtBase64UrlEncoder.Encode(System.Byte[])"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtBase64UrlEncoder.Decode(System.String)"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:System.FormatException" /> |
| | | </member> |
| | | <member name="T:JWT.JwtDecoder"> |
| | | <summary> |
| | | Decodes JWT. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoder.#ctor(JWT.IJsonSerializer,JWT.IBase64UrlEncoder)"> |
| | | <summary> |
| | | Creates an instance of <see cref="T:JWT.JwtDecoder" /> |
| | | </summary> |
| | | <remarks> |
| | | This overload supplies no <see cref="T:JWT.IJwtValidator" /> and no <see cref="T:JWT.Algorithms.IAlgorithmFactory" /> so the resulting decoder cannot be used for signature validation. |
| | | </remarks> |
| | | <param name="jsonSerializer">The Json Serializer</param> |
| | | <param name="urlEncoder">The Base64 URL Encoder</param> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoder.#ctor(JWT.IJsonSerializer,JWT.IJwtValidator,JWT.IBase64UrlEncoder,JWT.Algorithms.IAlgorithmFactory)"> |
| | | <summary> |
| | | Creates an instance of <see cref="T:JWT.JwtDecoder" /> |
| | | </summary> |
| | | <param name="jsonSerializer">The Json Serializer</param> |
| | | <param name="jwtValidator">The Jwt validator</param> |
| | | <param name="urlEncoder">The Base64 URL Encoder</param> |
| | | <param name="algFactory">The Algorithm Factory</param> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoder.#ctor(JWT.IJsonSerializer,JWT.IJwtValidator,JWT.IBase64UrlEncoder,JWT.Algorithms.IJwtAlgorithm)"> |
| | | <summary> |
| | | Creates an instance of <see cref="T:JWT.JwtDecoder" /> |
| | | </summary> |
| | | <param name="jsonSerializer">The Json Serializer</param> |
| | | <param name="jwtValidator">The Jwt validator</param> |
| | | <param name="urlEncoder">The Base64 URL Encoder</param> |
| | | <param name="algorithm">The Algorithm</param> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoder.DecodeHeader(System.String)"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:JWT.Exceptions.InvalidTokenPartsException" /> |
| | | <exception cref="T:System.FormatException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoder.DecodeHeader``1(JWT.JwtParts)"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | <exception cref="T:System.FormatException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoder.Decode(JWT.JwtParts)"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoder.Decode(JWT.JwtParts,System.Byte[],System.Boolean)"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | <exception cref="T:JWT.Exceptions.InvalidTokenPartsException" /> |
| | | <exception cref="T:System.FormatException" /> |
| | | <exception cref="T:JWT.Exceptions.SignatureVerificationException" /> |
| | | <exception cref="T:JWT.Exceptions.TokenExpiredException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoder.Decode(JWT.JwtParts,System.Byte[][],System.Boolean)"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | <exception cref="T:System.FormatException" /> |
| | | <exception cref="T:JWT.Exceptions.SignatureVerificationException" /> |
| | | <exception cref="T:JWT.Exceptions.TokenExpiredException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoder.DecodeToObject``1(JWT.JwtParts)"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | <exception cref="T:System.FormatException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoder.DecodeToObject``1(JWT.JwtParts,System.Byte[],System.Boolean)"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | <exception cref="T:System.FormatException" /> |
| | | <exception cref="T:JWT.Exceptions.SignatureVerificationException" /> |
| | | <exception cref="T:JWT.Exceptions.TokenExpiredException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoder.DecodeToObject``1(JWT.JwtParts,System.Byte[][],System.Boolean)"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | <exception cref="T:System.FormatException" /> |
| | | <exception cref="T:JWT.Exceptions.SignatureVerificationException" /> |
| | | <exception cref="T:JWT.Exceptions.TokenExpiredException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoder.Validate(System.String[],System.Byte[])"> |
| | | <summary> |
| | | Prepares data before calling <see cref="T:JWT.IJwtValidator" /> |
| | | </summary> |
| | | <param name="parts">The array representation of a JWT</param> |
| | | <param name="key">The key that was used to sign the JWT</param> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | <exception cref="T:System.FormatException" /> |
| | | <exception cref="T:JWT.Exceptions.SignatureVerificationException" /> |
| | | <exception cref="T:JWT.Exceptions.TokenExpiredException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoder.Validate(System.String[],System.Byte[][])"> |
| | | <summary> |
| | | Prepares data before calling <see cref="T:JWT.IJwtValidator" /> |
| | | </summary> |
| | | <param name="parts">The array representation of a JWT</param> |
| | | <param name="keys">The keys provided which one of them was used to sign the JWT</param> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | <exception cref="T:System.FormatException" /> |
| | | <exception cref="T:JWT.Exceptions.SignatureVerificationException" /> |
| | | <exception cref="T:JWT.Exceptions.TokenExpiredException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoder.Validate(JWT.JwtParts,System.Byte[][])"> |
| | | <summary> |
| | | Prepares data before calling <see cref="T:JWT.IJwtValidator" /> |
| | | </summary> |
| | | <param name="jwt">The JWT parts</param> |
| | | <param name="keys">The keys provided which one of them was used to sign the JWT</param> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | <exception cref="T:System.FormatException" /> |
| | | <exception cref="T:JWT.Exceptions.SignatureVerificationException" /> |
| | | <exception cref="T:JWT.Exceptions.TokenExpiredException" /> |
| | | </member> |
| | | <member name="P:JWT.JwtDecoderContext.Token"> |
| | | <summary> |
| | | Unmodified JWT. |
| | | </summary> |
| | | </member> |
| | | <member name="P:JWT.JwtDecoderContext.Header"> |
| | | <summary> |
| | | Deserialized JWT header. |
| | | </summary> |
| | | </member> |
| | | <member name="P:JWT.JwtDecoderContext.Payload"> |
| | | <summary> |
| | | Decoded JWT payload. |
| | | </summary> |
| | | </member> |
| | | <member name="T:JWT.JwtEncoder"> |
| | | <summary> |
| | | Encodes Jwt. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.JwtEncoder.#ctor(JWT.Algorithms.IJwtAlgorithm,JWT.IJsonSerializer,JWT.IBase64UrlEncoder)"> |
| | | <summary> |
| | | Creates an instance of <see cref="T:JWT.JwtEncoder" /> |
| | | </summary> |
| | | <param name="jsonSerializer">The Json Serializer</param> |
| | | <param name="algorithm">The Jwt Algorithm</param> |
| | | <param name="urlEncoder">The Base64 URL Encoder</param> |
| | | </member> |
| | | <member name="M:JWT.JwtEncoder.Encode(System.Collections.Generic.IDictionary{System.String,System.Object},System.Object,System.Byte[])"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | </member> |
| | | <member name="T:JWT.JwtParts"> |
| | | <summary> |
| | | Represent the parts of a JWT |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.JwtParts.#ctor(System.String)"> |
| | | <summary> |
| | | Creates a new instance of <see cref="T:JWT.JwtParts" /> from the string representation of a JWT |
| | | </summary> |
| | | <param name="token">The string representation of a JWT</param> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtParts.#ctor(System.String[])"> |
| | | <summary> |
| | | Creates a new instance of <see cref="T:JWT.JwtParts" /> from the array representation of a JWT |
| | | </summary> |
| | | <param name="parts">The array representation of a JWT</param> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | </member> |
| | | <member name="P:JWT.JwtParts.Header"> |
| | | <summary> |
| | | Gets the Header part of a JWT |
| | | </summary> |
| | | </member> |
| | | <member name="P:JWT.JwtParts.Payload"> |
| | | <summary> |
| | | Gets the Payload part of a JWT |
| | | </summary> |
| | | </member> |
| | | <member name="P:JWT.JwtParts.Signature"> |
| | | <summary> |
| | | Gets the Signature part of a JWT |
| | | </summary> |
| | | </member> |
| | | <member name="P:JWT.JwtParts.Parts"> |
| | | <summary> |
| | | Gets the parts of a JWT |
| | | </summary> |
| | | </member> |
| | | <member name="T:JWT.JwtParts.JwtPartsIndex"> |
| | | <summary> |
| | | Helper enum to get the correct part from the array representation of a JWT parts |
| | | </summary> |
| | | </member> |
| | | <member name="T:JWT.JwtValidator"> |
| | | <summary> |
| | | Jwt validator. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.JwtValidator.#ctor(JWT.IJsonSerializer,JWT.IDateTimeProvider)"> |
| | | <summary> |
| | | Creates an instance of <see cref="T:JWT.JwtValidator" /> |
| | | </summary> |
| | | <param name="jsonSerializer">The Json Serializer</param> |
| | | <param name="dateTimeProvider">The DateTime Provider</param> |
| | | </member> |
| | | <member name="M:JWT.JwtValidator.Validate(System.String,System.String,System.String[])"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:JWT.Exceptions.SignatureVerificationException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtValidator.Validate(System.String,JWT.Algorithms.IAsymmetricAlgorithm,System.Byte[],System.Byte[])"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:JWT.Exceptions.SignatureVerificationException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtValidator.TryValidate(System.String,System.String,System.String,System.Exception@)"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtValidator.TryValidate(System.String,System.String,System.String[],System.Exception@)"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtValidator.TryValidate(System.String,JWT.Algorithms.IAsymmetricAlgorithm,System.Byte[],System.Byte[],System.Exception@)"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtValidator.CompareCryptoWithSignature(System.String,System.String)"> |
| | | <remarks>In the future this method can be opened for extension hence made protected virtual</remarks> |
| | | </member> |
| | | <member name="M:JWT.JwtValidator.ValidateExpClaim(System.Collections.Generic.IReadOnlyDictionary{System.String,System.Object},System.Double)"> |
| | | <summary> |
| | | Verifies the 'exp' claim. |
| | | </summary> |
| | | <remarks>See https://tools.ietf.org/html/rfc7515#section-4.1.4</remarks> |
| | | <exception cref="T:JWT.Exceptions.SignatureVerificationException" /> |
| | | <exception cref="T:JWT.Exceptions.TokenExpiredException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtValidator.ValidateNbfClaim(System.Collections.Generic.IReadOnlyDictionary{System.String,System.Object},System.Double)"> |
| | | <summary> |
| | | Verifies the 'nbf' claim. |
| | | </summary> |
| | | <remarks>See https://tools.ietf.org/html/rfc7515#section-4.1.5</remarks> |
| | | <exception cref="T:JWT.Exceptions.SignatureVerificationException" /> |
| | | </member> |
| | | <member name="T:JWT.Serializers.JsonNetSerializer"> |
| | | <summary> |
| | | JSON serializer using Newtonsoft.Json implementation. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Serializers.JsonNetSerializer.#ctor"> |
| | | <summary> |
| | | Creates a new instance of <see cref="T:JWT.Serializers.JsonNetSerializer" /> |
| | | </summary> |
| | | <remarks>Uses <see cref="M:Newtonsoft.Json.JsonSerializer.CreateDefault" /> as internal serializer</remarks> |
| | | </member> |
| | | <member name="M:JWT.Serializers.JsonNetSerializer.#ctor(Newtonsoft.Json.JsonSerializer)"> |
| | | <summary> |
| | | Creates a new instance of <see cref="T:JWT.Serializers.JsonNetSerializer" /> |
| | | </summary> |
| | | <param name="serializer">Internal <see cref="T:Newtonsoft.Json.JsonSerializer" /> to use for serialization</param> |
| | | </member> |
| | | <member name="M:JWT.Serializers.JsonNetSerializer.Serialize(System.Object)"> |
| | | <inheritdoc /> |
| | | </member> |
| | | <member name="M:JWT.Serializers.JsonNetSerializer.Deserialize``1(System.String)"> |
| | | <inheritdoc /> |
| | | </member> |
| | | <member name="P:JWT.UnixEpoch.Value"> |
| | | <summary> |
| | | Describes a point in time, defined as the number of seconds that have elapsed since 00:00:00 UTC, Thursday, 1 January 1970, not counting leap seconds. |
| | | See https://en.wikipedia.org/wiki/Unix_time /> |
| | | </summary> |
| | | </member> |
| | | <member name="T:JWT.UtcDateTimeProvider"> |
| | | <summary> |
| | | Provider for UTC DateTime. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.UtcDateTimeProvider.GetNow"> |
| | | <summary> |
| | | Retuns the current time (UTC). |
| | | </summary> |
| | | <returns></returns> |
| | | </member> |
| | | </members> |
| | | </doc> |
| New file |
| | |
| | | // <autogenerated /> |
| | | using System; |
| | | using System.Reflection; |
| | | [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.6.1", FrameworkDisplayName = ".NET Framework 4.6.1")] |
| New file |
| | |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Debug\Yokogawa.TLSVP.Api.Common.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Debug\Yokogawa.TLSVP.Api.Common.pdb |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Debug\JWT.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Debug\Newtonsoft.Json.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Debug\Yokogawa.TLSVP.Api.Domain.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Debug\Yokogawa.Utilities.AuditTrail.Client.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Debug\Yokogawa.Utilities.AuditTrail.ServiceInterface.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Debug\Yokogawa.Utilities.Configuration.Client.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Debug\Yokogawa.Utilities.Configuration.Service.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Debug\Yokogawa.Utilities.Configuration.ServiceInterface.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Debug\Yokogawa.Utilities.Log.Client.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Debug\Yokogawa.Utilities.Log.Interface.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Debug\Yokogawa.Utilities.Log.Service.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Debug\Yokogawa.Utilities.ReportPrint.Client.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Debug\Yokogawa.Utilities.ReportPrint.ServiceInterface.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Debug\Yokogawa.Utilities.Security.Client.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Debug\Yokogawa.Utilities.Security.Entity.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Debug\Yokogawa.Utilities.Security.Interface.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Debug\Yokogawa.Utilities.Timer.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Debug\Yokogawa.Utilities.WebMultiLanguages.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Debug\EntityFramework.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Debug\Yokogawa.TLSVP.Api.Domain.pdb |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Debug\JWT.pdb |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Debug\JWT.xml |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Debug\Newtonsoft.Json.xml |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\obj\Debug\Yokogawa.TLSVP.Api.Common.csprojResolveAssemblyReference.cache |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\obj\Debug\Yokogawa.TLSVP.Api.Common.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\obj\Debug\Yokogawa.TLSVP.Api.Common.pdb |
| | | D:\Banwang\02-Code\Yokogawa.TLSVP.Api.Common\bin\Debug\Yokogawa.TLSVP.Api.Common.dll |
| | | D:\Banwang\02-Code\Yokogawa.TLSVP.Api.Common\bin\Debug\Yokogawa.TLSVP.Api.Common.pdb |
| | | D:\Banwang\02-Code\Yokogawa.TLSVP.Api.Common\bin\Debug\JWT.dll |
| | | D:\Banwang\02-Code\Yokogawa.TLSVP.Api.Common\bin\Debug\Newtonsoft.Json.dll |
| | | D:\Banwang\02-Code\Yokogawa.TLSVP.Api.Common\bin\Debug\Yokogawa.TLSVP.Api.Domain.dll |
| | | D:\Banwang\02-Code\Yokogawa.TLSVP.Api.Common\bin\Debug\Yokogawa.TLSVP.Api.Domain.pdb |
| | | D:\Banwang\02-Code\Yokogawa.TLSVP.Api.Common\bin\Debug\JWT.pdb |
| | | D:\Banwang\02-Code\Yokogawa.TLSVP.Api.Common\bin\Debug\JWT.xml |
| | | D:\Banwang\02-Code\Yokogawa.TLSVP.Api.Common\bin\Debug\Newtonsoft.Json.xml |
| | | D:\Banwang\02-Code\Yokogawa.TLSVP.Api.Common\obj\Debug\Yokogawa.TLSVP.Api.Common.csprojAssemblyReference.cache |
| | | D:\Banwang\02-Code\Yokogawa.TLSVP.Api.Common\obj\Debug\Yokogawa.TLSVP.Api.Common.csproj.CoreCompileInputs.cache |
| | | D:\Banwang\02-Code\Yokogawa.TLSVP.Api.Common\obj\Debug\Yokogawa.TLSVP.Api.Common.csproj.CopyComplete |
| | | D:\Banwang\02-Code\Yokogawa.TLSVP.Api.Common\obj\Debug\Yokogawa.TLSVP.Api.Common.dll |
| | | D:\Banwang\02-Code\Yokogawa.TLSVP.Api.Common\obj\Debug\Yokogawa.TLSVP.Api.Common.pdb |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Common\bin\Debug\Yokogawa.TLSVP.Api.Common.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Common\bin\Debug\Yokogawa.TLSVP.Api.Common.pdb |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Common\bin\Debug\JWT.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Common\bin\Debug\Newtonsoft.Json.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Common\bin\Debug\Yokogawa.TLSVP.Api.Domain.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Common\bin\Debug\Yokogawa.TLSVP.Api.Domain.pdb |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Common\bin\Debug\JWT.pdb |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Common\bin\Debug\JWT.xml |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Common\bin\Debug\Newtonsoft.Json.xml |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Common\obj\Debug\Yokogawa.TLSVP.Api.Common.csprojResolveAssemblyReference.cache |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Common\obj\Debug\Yokogawa.TLSVP.Api.Common.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Common\obj\Debug\Yokogawa.TLSVP.Api.Common.pdb |
| New file |
| | |
| | | // <autogenerated /> |
| | | using System; |
| | | using System.Reflection; |
| | | [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.6.1", FrameworkDisplayName = ".NET Framework 4.6.1")] |
| New file |
| | |
| | | D:\Solution\GTech.Solution.Api.Common\bin\Release\GTech.Solution.Api.Common.dll |
| | | D:\Solution\GTech.Solution.Api.Common\bin\Release\GTech.Solution.Api.Common.pdb |
| | | D:\Solution\GTech.Solution.Api.Common\bin\Release\GTech.Solution.Api.Domain.dll |
| | | D:\Solution\GTech.Solution.Api.Common\bin\Release\JWT.dll |
| | | D:\Solution\GTech.Solution.Api.Common\bin\Release\Newtonsoft.Json.dll |
| | | D:\Solution\GTech.Solution.Api.Common\bin\Release\GTech.Solution.Api.Domain.pdb |
| | | D:\Solution\GTech.Solution.Api.Common\bin\Release\JWT.pdb |
| | | D:\Solution\GTech.Solution.Api.Common\bin\Release\JWT.xml |
| | | D:\Solution\GTech.Solution.Api.Common\bin\Release\Newtonsoft.Json.xml |
| | | D:\Solution\GTech.Solution.Api.Common\obj\Release\GTech.Solution.Api.Common.csprojResolveAssemblyReference.cache |
| | | D:\Solution\GTech.Solution.Api.Common\obj\Release\GTech.Solution.Api.Common.dll |
| | | D:\Solution\GTech.Solution.Api.Common\obj\Release\GTech.Solution.Api.Common.pdb |
| New file |
| | |
| | | D:\Yokogawa\TLSVP_YVN\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\Yokogawa.TLSVP.Api.Common.dll |
| | | D:\Yokogawa\TLSVP_YVN\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\Yokogawa.TLSVP.Api.Common.pdb |
| | | D:\Yokogawa\TLSVP_YVN\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\JWT.dll |
| | | D:\Yokogawa\TLSVP_YVN\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\Newtonsoft.Json.dll |
| | | D:\Yokogawa\TLSVP_YVN\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\Yokogawa.TLSVP.Api.Domain.dll |
| | | D:\Yokogawa\TLSVP_YVN\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\Yokogawa.Utilities.AuditTrail.Client.dll |
| | | D:\Yokogawa\TLSVP_YVN\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\Yokogawa.Utilities.AuditTrail.ServiceInterface.dll |
| | | D:\Yokogawa\TLSVP_YVN\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\Yokogawa.Utilities.Configuration.Client.dll |
| | | D:\Yokogawa\TLSVP_YVN\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\Yokogawa.Utilities.Configuration.Service.dll |
| | | D:\Yokogawa\TLSVP_YVN\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\Yokogawa.Utilities.Configuration.ServiceInterface.dll |
| | | D:\Yokogawa\TLSVP_YVN\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\Yokogawa.Utilities.Log.Client.dll |
| | | D:\Yokogawa\TLSVP_YVN\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\Yokogawa.Utilities.Log.Interface.dll |
| | | D:\Yokogawa\TLSVP_YVN\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\Yokogawa.Utilities.Log.Service.dll |
| | | D:\Yokogawa\TLSVP_YVN\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\Yokogawa.Utilities.ReportPrint.Client.dll |
| | | D:\Yokogawa\TLSVP_YVN\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\Yokogawa.Utilities.ReportPrint.ServiceInterface.dll |
| | | D:\Yokogawa\TLSVP_YVN\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\Yokogawa.Utilities.Security.Client.dll |
| | | D:\Yokogawa\TLSVP_YVN\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\Yokogawa.Utilities.Security.Entity.dll |
| | | D:\Yokogawa\TLSVP_YVN\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\Yokogawa.Utilities.Security.Interface.dll |
| | | D:\Yokogawa\TLSVP_YVN\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\Yokogawa.Utilities.Timer.dll |
| | | D:\Yokogawa\TLSVP_YVN\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\Yokogawa.Utilities.WebMultiLanguages.dll |
| | | D:\Yokogawa\TLSVP_YVN\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\EntityFramework.dll |
| | | D:\Yokogawa\TLSVP_YVN\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\Yokogawa.TLSVP.Api.Domain.pdb |
| | | D:\Yokogawa\TLSVP_YVN\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\JWT.pdb |
| | | D:\Yokogawa\TLSVP_YVN\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\JWT.xml |
| | | D:\Yokogawa\TLSVP_YVN\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\Newtonsoft.Json.xml |
| | | D:\Yokogawa\TLSVP_YVN\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\obj\Release\Yokogawa.TLSVP.Api.Common.csprojResolveAssemblyReference.cache |
| | | D:\Yokogawa\TLSVP_YVN\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\obj\Release\Yokogawa.TLSVP.Api.Common.dll |
| | | D:\Yokogawa\TLSVP_YVN\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\obj\Release\Yokogawa.TLSVP.Api.Common.pdb |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\Yokogawa.TLSVP.Api.Common.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\Yokogawa.TLSVP.Api.Common.pdb |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\JWT.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\Newtonsoft.Json.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\Yokogawa.TLSVP.Api.Domain.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\Yokogawa.Utilities.AuditTrail.Client.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\Yokogawa.Utilities.AuditTrail.ServiceInterface.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\Yokogawa.Utilities.Configuration.Client.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\Yokogawa.Utilities.Configuration.Service.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\Yokogawa.Utilities.Configuration.ServiceInterface.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\Yokogawa.Utilities.Log.Client.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\Yokogawa.Utilities.Log.Interface.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\Yokogawa.Utilities.Log.Service.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\Yokogawa.Utilities.ReportPrint.Client.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\Yokogawa.Utilities.ReportPrint.ServiceInterface.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\Yokogawa.Utilities.Security.Client.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\Yokogawa.Utilities.Security.Entity.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\Yokogawa.Utilities.Security.Interface.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\Yokogawa.Utilities.Timer.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\Yokogawa.Utilities.WebMultiLanguages.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\EntityFramework.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\Yokogawa.TLSVP.Api.Domain.pdb |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\JWT.pdb |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\JWT.xml |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\bin\Release\Newtonsoft.Json.xml |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\obj\Release\Yokogawa.TLSVP.Api.Common.csprojResolveAssemblyReference.cache |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\obj\Release\Yokogawa.TLSVP.Api.Common.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Common\obj\Release\Yokogawa.TLSVP.Api.Common.pdb |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Common\bin\Release\Yokogawa.TLSVP.Api.Common.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Common\bin\Release\Yokogawa.TLSVP.Api.Common.pdb |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Common\bin\Release\JWT.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Common\bin\Release\Newtonsoft.Json.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Common\bin\Release\Yokogawa.TLSVP.Api.Domain.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Common\bin\Release\Yokogawa.TLSVP.Api.Domain.pdb |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Common\bin\Release\JWT.pdb |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Common\bin\Release\JWT.xml |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Common\bin\Release\Newtonsoft.Json.xml |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Common\obj\Release\Yokogawa.TLSVP.Api.Common.csprojResolveAssemblyReference.cache |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Common\obj\Release\Yokogawa.TLSVP.Api.Common.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Common\obj\Release\Yokogawa.TLSVP.Api.Common.pdb |
| New file |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <packages> |
| | | <package id="JWT" version="7.3.0" targetFramework="net461" /> |
| | | <package id="Newtonsoft.Json" version="9.0.1" targetFramework="net461" /> |
| | | </packages> |
| New file |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
| | | <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> |
| | | <PropertyGroup> |
| | | <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> |
| | | <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> |
| | | <ProjectGuid>{13B3BD45-EBD9-477D-BF78-472DD065E7A2}</ProjectGuid> |
| | | <OutputType>Library</OutputType> |
| | | <AppDesignerFolder>Properties</AppDesignerFolder> |
| | | <RootNamespace>GTech.Solution.Api.Contract</RootNamespace> |
| | | <AssemblyName>GTech.Solution.Api.Contract</AssemblyName> |
| | | <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion> |
| | | <FileAlignment>512</FileAlignment> |
| | | </PropertyGroup> |
| | | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> |
| | | <DebugSymbols>true</DebugSymbols> |
| | | <DebugType>full</DebugType> |
| | | <Optimize>false</Optimize> |
| | | <OutputPath>bin\Debug\</OutputPath> |
| | | <DefineConstants>DEBUG;TRACE</DefineConstants> |
| | | <ErrorReport>prompt</ErrorReport> |
| | | <WarningLevel>4</WarningLevel> |
| | | </PropertyGroup> |
| | | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> |
| | | <DebugType>pdbonly</DebugType> |
| | | <Optimize>true</Optimize> |
| | | <OutputPath>bin\Release\</OutputPath> |
| | | <DefineConstants>TRACE</DefineConstants> |
| | | <ErrorReport>prompt</ErrorReport> |
| | | <WarningLevel>4</WarningLevel> |
| | | </PropertyGroup> |
| | | <ItemGroup> |
| | | <Reference Include="System" /> |
| | | <Reference Include="System.Core" /> |
| | | <Reference Include="System.ServiceModel" /> |
| | | <Reference Include="System.ServiceModel.Web" /> |
| | | <Reference Include="System.Xml.Linq" /> |
| | | <Reference Include="System.Data.DataSetExtensions" /> |
| | | <Reference Include="Microsoft.CSharp" /> |
| | | <Reference Include="System.Data" /> |
| | | <Reference Include="System.Net.Http" /> |
| | | <Reference Include="System.Xml" /> |
| | | </ItemGroup> |
| | | <ItemGroup> |
| | | <Compile Include="ITruckAlarm.cs" /> |
| | | <Compile Include="Properties\AssemblyInfo.cs" /> |
| | | </ItemGroup> |
| | | <ItemGroup> |
| | | <ProjectReference Include="..\GTech.Solution.Api.Domain\GTech.Solution.Api.Domain.csproj"> |
| | | <Project>{4A2930DE-7BF4-4368-B6AD-B74B9043DA7D}</Project> |
| | | <Name>GTech.Solution.Api.Domain</Name> |
| | | </ProjectReference> |
| | | </ItemGroup> |
| | | <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> |
| | | <!-- To modify your build process, add your task inside one of the targets below and uncomment it. |
| | | Other similar extension points exist, see Microsoft.Common.targets. |
| | | <Target Name="BeforeBuild"> |
| | | </Target> |
| | | <Target Name="AfterBuild"> |
| | | </Target> |
| | | --> |
| | | </Project> |
| New file |
| | |
| | | using System.ServiceModel; |
| | | using System.ServiceModel.Web; |
| | | using GTech.Solution.Api.Domain.Model; |
| | | |
| | | |
| | | namespace GTech.Solution.Api.Contract |
| | | { |
| | | /// <summary> |
| | | /// 汽车预警 |
| | | /// </summary> |
| | | [ServiceContract] |
| | | public interface ITruckAlarm |
| | | { |
| | | /// <summary> |
| | | /// 汽车预警 |
| | | /// </summary> |
| | | /// <param name="dto"></param> |
| | | /// <returns></returns> |
| | | [OperationContract] |
| | | [WebInvoke(Method = "POST", UriTemplate = "api/truckalarm/postalarm", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare)] |
| | | ApiData<TruckAlarmResult> POSTAlarm(TruckAlarmData dto); |
| | | } |
| | | } |
| New file |
| | |
| | | using System.Reflection; |
| | | using System.Runtime.CompilerServices; |
| | | using System.Runtime.InteropServices; |
| | | |
| | | // General Information about an assembly is controlled through the following |
| | | // set of attributes. Change these attribute values to modify the information |
| | | // associated with an assembly. |
| | | [assembly: AssemblyTitle("GTech.Solution.Api.Contract")] |
| | | [assembly: AssemblyDescription("")] |
| | | [assembly: AssemblyConfiguration("")] |
| | | [assembly: AssemblyCompany("")] |
| | | [assembly: AssemblyProduct("GTech.Solution.Api.Contract")] |
| | | [assembly: AssemblyCopyright("Copyright © 2020")] |
| | | [assembly: AssemblyTrademark("")] |
| | | [assembly: AssemblyCulture("")] |
| | | |
| | | // Setting ComVisible to false makes the types in this assembly not visible |
| | | // to COM components. If you need to access a type in this assembly from |
| | | // COM, set the ComVisible attribute to true on that type. |
| | | [assembly: ComVisible(false)] |
| | | |
| | | // The following GUID is for the ID of the typelib if this project is exposed to COM |
| | | [assembly: Guid("13b3bd45-ebd9-477d-bf78-472dd065e7a2")] |
| | | |
| | | // Version information for an assembly consists of the following four values: |
| | | // |
| | | // Major Version |
| | | // Minor Version |
| | | // Build Number |
| | | // Revision |
| | | // |
| | | // You can specify all the values or you can default the Build and Revision Numbers |
| | | // by using the '*' as shown below: |
| | | // [assembly: AssemblyVersion("1.0.*")] |
| | | [assembly: AssemblyVersion("1.0.0.0")] |
| | | [assembly: AssemblyFileVersion("1.0.0.0")] |
| New file |
| | |
| | | // <autogenerated /> |
| | | using System; |
| | | using System.Reflection; |
| | | [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.6.1", FrameworkDisplayName = ".NET Framework 4.6.1")] |
| New file |
| | |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Contract\bin\Debug\Yokogawa.TLSVP.Api.Contract.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Contract\bin\Debug\Yokogawa.TLSVP.Api.Contract.pdb |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Contract\bin\Debug\Yokogawa.TLSVP.Api.Domain.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Contract\bin\Debug\Yokogawa.TLSVP.CommonMasterData.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Contract\bin\Debug\EntityFramework.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Contract\bin\Debug\Yokogawa.Utilities.Log.Client.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Contract\bin\Debug\Yokogawa.Utilities.Log.Interface.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Contract\bin\Debug\Yokogawa.TLSVP.Api.Domain.pdb |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Contract\obj\Debug\Yokogawa.TLSVP.Api.Contract.csprojResolveAssemblyReference.cache |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Contract\obj\Debug\Yokogawa.TLSVP.Api.Contract.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Contract\obj\Debug\Yokogawa.TLSVP.Api.Contract.pdb |
| | | D:\Banwang\02-Code\Yokogawa.TLSVP.Api.Contract\obj\Debug\Yokogawa.TLSVP.Api.Contract.csprojAssemblyReference.cache |
| | | D:\Banwang\02-Code\Yokogawa.TLSVP.Api.Contract\obj\Debug\Yokogawa.TLSVP.Api.Contract.csproj.CoreCompileInputs.cache |
| | | D:\Banwang\02-Code\Yokogawa.TLSVP.Api.Contract\bin\Debug\Yokogawa.TLSVP.Api.Contract.dll |
| | | D:\Banwang\02-Code\Yokogawa.TLSVP.Api.Contract\bin\Debug\Yokogawa.TLSVP.Api.Contract.pdb |
| | | D:\Banwang\02-Code\Yokogawa.TLSVP.Api.Contract\bin\Debug\Yokogawa.TLSVP.Api.Domain.dll |
| | | D:\Banwang\02-Code\Yokogawa.TLSVP.Api.Contract\bin\Debug\Yokogawa.TLSVP.Api.Domain.pdb |
| | | D:\Banwang\02-Code\Yokogawa.TLSVP.Api.Contract\obj\Debug\Yokogawa.TLSVP.Api.Contract.csproj.CopyComplete |
| | | D:\Banwang\02-Code\Yokogawa.TLSVP.Api.Contract\obj\Debug\Yokogawa.TLSVP.Api.Contract.dll |
| | | D:\Banwang\02-Code\Yokogawa.TLSVP.Api.Contract\obj\Debug\Yokogawa.TLSVP.Api.Contract.pdb |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Contract\bin\Debug\Yokogawa.TLSVP.Api.Contract.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Contract\bin\Debug\Yokogawa.TLSVP.Api.Contract.pdb |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Contract\bin\Debug\Yokogawa.TLSVP.Api.Domain.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Contract\bin\Debug\Yokogawa.TLSVP.Api.Domain.pdb |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Contract\obj\Debug\Yokogawa.TLSVP.Api.Contract.csprojResolveAssemblyReference.cache |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Contract\obj\Debug\Yokogawa.TLSVP.Api.Contract.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Contract\obj\Debug\Yokogawa.TLSVP.Api.Contract.pdb |
| New file |
| | |
| | | // <autogenerated /> |
| | | using System; |
| | | using System.Reflection; |
| | | [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.6.1", FrameworkDisplayName = ".NET Framework 4.6.1")] |
| New file |
| | |
| | | D:\Solution\GTech.Solution.Api.Contract\bin\Release\GTech.Solution.Api.Contract.dll |
| | | D:\Solution\GTech.Solution.Api.Contract\bin\Release\GTech.Solution.Api.Contract.pdb |
| | | D:\Solution\GTech.Solution.Api.Contract\bin\Release\GTech.Solution.Api.Domain.dll |
| | | D:\Solution\GTech.Solution.Api.Contract\bin\Release\GTech.Solution.Api.Domain.pdb |
| | | D:\Solution\GTech.Solution.Api.Contract\obj\Release\GTech.Solution.Api.Contract.csprojResolveAssemblyReference.cache |
| | | D:\Solution\GTech.Solution.Api.Contract\obj\Release\GTech.Solution.Api.Contract.dll |
| | | D:\Solution\GTech.Solution.Api.Contract\obj\Release\GTech.Solution.Api.Contract.pdb |
| New file |
| | |
| | | D:\Yokogawa\TLSVP_YVN\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Contract\bin\Release\Yokogawa.TLSVP.Api.Contract.dll |
| | | D:\Yokogawa\TLSVP_YVN\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Contract\bin\Release\Yokogawa.TLSVP.Api.Contract.pdb |
| | | D:\Yokogawa\TLSVP_YVN\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Contract\bin\Release\Yokogawa.TLSVP.Api.Domain.dll |
| | | D:\Yokogawa\TLSVP_YVN\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Contract\bin\Release\Yokogawa.TLSVP.CommonMasterData.dll |
| | | D:\Yokogawa\TLSVP_YVN\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Contract\bin\Release\EntityFramework.dll |
| | | D:\Yokogawa\TLSVP_YVN\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Contract\bin\Release\Yokogawa.Utilities.Log.Client.dll |
| | | D:\Yokogawa\TLSVP_YVN\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Contract\bin\Release\Yokogawa.Utilities.Log.Interface.dll |
| | | D:\Yokogawa\TLSVP_YVN\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Contract\bin\Release\Yokogawa.TLSVP.Api.Domain.pdb |
| | | D:\Yokogawa\TLSVP_YVN\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Contract\obj\Release\Yokogawa.TLSVP.Api.Contract.csprojResolveAssemblyReference.cache |
| | | D:\Yokogawa\TLSVP_YVN\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Contract\obj\Release\Yokogawa.TLSVP.Api.Contract.dll |
| | | D:\Yokogawa\TLSVP_YVN\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Contract\obj\Release\Yokogawa.TLSVP.Api.Contract.pdb |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Contract\bin\Release\Yokogawa.TLSVP.Api.Contract.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Contract\bin\Release\Yokogawa.TLSVP.Api.Contract.pdb |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Contract\bin\Release\Yokogawa.TLSVP.Api.Domain.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Contract\bin\Release\Yokogawa.TLSVP.CommonMasterData.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Contract\bin\Release\EntityFramework.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Contract\bin\Release\Yokogawa.Utilities.Log.Client.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Contract\bin\Release\Yokogawa.Utilities.Log.Interface.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Contract\bin\Release\Yokogawa.TLSVP.Api.Domain.pdb |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Contract\obj\Release\Yokogawa.TLSVP.Api.Contract.csprojResolveAssemblyReference.cache |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Contract\obj\Release\Yokogawa.TLSVP.Api.Contract.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Contract\obj\Release\Yokogawa.TLSVP.Api.Contract.pdb |
| | | D:\Yokogawa\TLSVP_YVN\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Contract\bin\Release\Yokogawa.TLSVP.CommonMasterData.pdb |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Contract\bin\Release\Yokogawa.TLSVP.Api.Contract.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Contract\bin\Release\Yokogawa.TLSVP.Api.Contract.pdb |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Contract\bin\Release\Yokogawa.TLSVP.Api.Domain.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Contract\bin\Release\Yokogawa.TLSVP.Api.Domain.pdb |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Contract\obj\Release\Yokogawa.TLSVP.Api.Contract.csprojResolveAssemblyReference.cache |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Contract\obj\Release\Yokogawa.TLSVP.Api.Contract.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Contract\obj\Release\Yokogawa.TLSVP.Api.Contract.pdb |
| New file |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
| | | <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> |
| | | <PropertyGroup> |
| | | <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> |
| | | <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> |
| | | <ProjectGuid>{4A2930DE-7BF4-4368-B6AD-B74B9043DA7D}</ProjectGuid> |
| | | <OutputType>Library</OutputType> |
| | | <AppDesignerFolder>Properties</AppDesignerFolder> |
| | | <RootNamespace>GTech.Solution.Api.Domain</RootNamespace> |
| | | <AssemblyName>GTech.Solution.Api.Domain</AssemblyName> |
| | | <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion> |
| | | <FileAlignment>512</FileAlignment> |
| | | </PropertyGroup> |
| | | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> |
| | | <DebugSymbols>true</DebugSymbols> |
| | | <DebugType>full</DebugType> |
| | | <Optimize>false</Optimize> |
| | | <OutputPath>bin\Debug\</OutputPath> |
| | | <DefineConstants>DEBUG;TRACE</DefineConstants> |
| | | <ErrorReport>prompt</ErrorReport> |
| | | <WarningLevel>4</WarningLevel> |
| | | </PropertyGroup> |
| | | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> |
| | | <DebugType>pdbonly</DebugType> |
| | | <Optimize>true</Optimize> |
| | | <OutputPath>bin\Release\</OutputPath> |
| | | <DefineConstants>TRACE</DefineConstants> |
| | | <ErrorReport>prompt</ErrorReport> |
| | | <WarningLevel>4</WarningLevel> |
| | | </PropertyGroup> |
| | | <ItemGroup> |
| | | <Reference Include="System" /> |
| | | <Reference Include="System.Core" /> |
| | | <Reference Include="System.Runtime.Serialization" /> |
| | | <Reference Include="System.Xml.Linq" /> |
| | | <Reference Include="System.Data.DataSetExtensions" /> |
| | | <Reference Include="Microsoft.CSharp" /> |
| | | <Reference Include="System.Data" /> |
| | | <Reference Include="System.Net.Http" /> |
| | | <Reference Include="System.Xml" /> |
| | | </ItemGroup> |
| | | <ItemGroup> |
| | | <Compile Include="Model\ApiData.cs" /> |
| | | <Compile Include="Model\SystemSettings\Userbasic.cs" /> |
| | | <Compile Include="Model\TruckAlarmData.cs" /> |
| | | <Compile Include="Model\TruckAlarmResult.cs" /> |
| | | <Compile Include="Option\ApiDataStatus.cs" /> |
| | | <Compile Include="Option\WeeddirectionOption.cs" /> |
| | | <Compile Include="Properties\AssemblyInfo.cs" /> |
| | | </ItemGroup> |
| | | <ItemGroup /> |
| | | <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> |
| | | <!-- To modify your build process, add your task inside one of the targets below and uncomment it. |
| | | Other similar extension points exist, see Microsoft.Common.targets. |
| | | <Target Name="BeforeBuild"> |
| | | </Target> |
| | | <Target Name="AfterBuild"> |
| | | </Target> |
| | | --> |
| | | </Project> |
| New file |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
| | | <PropertyGroup> |
| | | <ProjectView>ProjectFiles</ProjectView> |
| | | </PropertyGroup> |
| | | </Project> |
| New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Runtime.Serialization; |
| | | using System.Web; |
| | | |
| | | namespace GTech.Solution.Api.Domain.Model |
| | | { |
| | | [DataContract] |
| | | public class ApiData<T> |
| | | { |
| | | [DataMember] |
| | | public int Code { get; set; } |
| | | |
| | | [DataMember] |
| | | public string Status { get; set; } |
| | | |
| | | [DataMember] |
| | | public string Message { get; set; } |
| | | |
| | | [DataMember] |
| | | public T Data { get; set; } |
| | | } |
| | | } |
| New file |
| | |
| | | using System.Runtime.Serialization; |
| | | |
| | | namespace GTech.Solution.Api.Domain.Model.SystemSettings |
| | | { |
| | | [DataContract] |
| | | public class Userbasic |
| | | { |
| | | [DataMember] |
| | | public string Username { get; set; } |
| | | |
| | | [DataMember] |
| | | public string Password { get; set; } |
| | | } |
| | | } |
| New file |
| | |
| | | using System.Runtime.Serialization; |
| | | |
| | | namespace GTech.Solution.Api.Domain.Model |
| | | { |
| | | [DataContract] |
| | | public class TruckAlarmData |
| | | { |
| | | [DataMember] |
| | | public string name { get; set; } |
| | | [DataMember] |
| | | public string cam_ip { get; set; } |
| | | [DataMember] |
| | | public double distance { get; set; } |
| | | } |
| | | } |
| New file |
| | |
| | | using System.Runtime.Serialization; |
| | | |
| | | namespace GTech.Solution.Api.Domain.Model |
| | | { |
| | | [DataContract] |
| | | public class TruckAlarmResult |
| | | { |
| | | [DataMember] |
| | | public string name { get; set; } |
| | | [DataMember] |
| | | public string cam_ip { get; set; } |
| | | [DataMember] |
| | | public double distance { get; set; } |
| | | } |
| | | } |
| New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | |
| | | namespace GTech.Solution.Api.Domain.Option |
| | | { |
| | | public enum ApiDataStatus |
| | | { |
| | | SUCCESS = 200, |
| | | FAILED = 500, |
| | | ACCESSISDENIED = 401, |
| | | } |
| | | } |
| New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | |
| | | namespace GTech.Solution.Api.Domain.Option |
| | | { |
| | | public enum WeeddirectionOption |
| | | { |
| | | 东风 = 1, |
| | | 西风 = 2, |
| | | 北风 = 3, |
| | | 南风 = 4, |
| | | 西南风 = 5, |
| | | 东南风 = 6, |
| | | 西北风 = 7, |
| | | 东北风 = 8, |
| | | } |
| | | } |
| New file |
| | |
| | | using System.Reflection; |
| | | using System.Runtime.CompilerServices; |
| | | using System.Runtime.InteropServices; |
| | | |
| | | // General Information about an assembly is controlled through the following |
| | | // set of attributes. Change these attribute values to modify the information |
| | | // associated with an assembly. |
| | | [assembly: AssemblyTitle("GTech.Solution.Api.Domain")] |
| | | [assembly: AssemblyDescription("")] |
| | | [assembly: AssemblyConfiguration("")] |
| | | [assembly: AssemblyCompany("")] |
| | | [assembly: AssemblyProduct("GTech.Solution.Api.Domain")] |
| | | [assembly: AssemblyCopyright("Copyright © 2020")] |
| | | [assembly: AssemblyTrademark("")] |
| | | [assembly: AssemblyCulture("")] |
| | | |
| | | // Setting ComVisible to false makes the types in this assembly not visible |
| | | // to COM components. If you need to access a type in this assembly from |
| | | // COM, set the ComVisible attribute to true on that type. |
| | | [assembly: ComVisible(false)] |
| | | |
| | | // The following GUID is for the ID of the typelib if this project is exposed to COM |
| | | [assembly: Guid("4a2930de-7bf4-4368-b6ad-b74b9043da7d")] |
| | | |
| | | // Version information for an assembly consists of the following four values: |
| | | // |
| | | // Major Version |
| | | // Minor Version |
| | | // Build Number |
| | | // Revision |
| | | // |
| | | // You can specify all the values or you can default the Build and Revision Numbers |
| | | // by using the '*' as shown below: |
| | | // [assembly: AssemblyVersion("1.0.*")] |
| | | [assembly: AssemblyVersion("1.0.0.0")] |
| | | [assembly: AssemblyFileVersion("1.0.0.0")] |
| New file |
| | |
| | | // <autogenerated /> |
| | | using System; |
| | | using System.Reflection; |
| | | [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.6.1", FrameworkDisplayName = ".NET Framework 4.6.1")] |
| New file |
| | |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Domain\bin\Debug\Yokogawa.TLSVP.Api.Domain.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Domain\bin\Debug\Yokogawa.TLSVP.Api.Domain.pdb |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Domain\obj\Debug\Yokogawa.TLSVP.Api.Domain.csprojResolveAssemblyReference.cache |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Domain\obj\Debug\Yokogawa.TLSVP.Api.Domain.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Domain\obj\Debug\Yokogawa.TLSVP.Api.Domain.pdb |
| | | D:\Banwang\02-Code\Yokogawa.TLSVP.Api.Domain\bin\Debug\Yokogawa.TLSVP.Api.Domain.dll |
| | | D:\Banwang\02-Code\Yokogawa.TLSVP.Api.Domain\bin\Debug\Yokogawa.TLSVP.Api.Domain.pdb |
| | | D:\Banwang\02-Code\Yokogawa.TLSVP.Api.Domain\obj\Debug\Yokogawa.TLSVP.Api.Domain.csproj.CoreCompileInputs.cache |
| | | D:\Banwang\02-Code\Yokogawa.TLSVP.Api.Domain\obj\Debug\Yokogawa.TLSVP.Api.Domain.dll |
| | | D:\Banwang\02-Code\Yokogawa.TLSVP.Api.Domain\obj\Debug\Yokogawa.TLSVP.Api.Domain.pdb |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Domain\bin\Debug\Yokogawa.TLSVP.Api.Domain.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Domain\bin\Debug\Yokogawa.TLSVP.Api.Domain.pdb |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Domain\obj\Debug\Yokogawa.TLSVP.Api.Domain.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Domain\obj\Debug\Yokogawa.TLSVP.Api.Domain.pdb |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Domain\obj\Debug\Yokogawa.TLSVP.Api.Domain.csprojResolveAssemblyReference.cache |
| New file |
| | |
| | | // <autogenerated /> |
| | | using System; |
| | | using System.Reflection; |
| | | [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.6.1", FrameworkDisplayName = ".NET Framework 4.6.1")] |
| New file |
| | |
| | | D:\Solution\GTech.Solution.Api.Domain\bin\Release\GTech.Solution.Api.Domain.dll |
| | | D:\Solution\GTech.Solution.Api.Domain\bin\Release\GTech.Solution.Api.Domain.pdb |
| | | D:\Solution\GTech.Solution.Api.Domain\obj\Release\GTech.Solution.Api.Domain.dll |
| | | D:\Solution\GTech.Solution.Api.Domain\obj\Release\GTech.Solution.Api.Domain.pdb |
| | | D:\Solution\GTech.Solution.Api.Domain\obj\Release\GTech.Solution.Api.Domain.csprojResolveAssemblyReference.cache |
| New file |
| | |
| | | D:\Yokogawa\TLSVP_YVN\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Domain\bin\Release\Yokogawa.TLSVP.Api.Domain.dll |
| | | D:\Yokogawa\TLSVP_YVN\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Domain\bin\Release\Yokogawa.TLSVP.Api.Domain.pdb |
| | | D:\Yokogawa\TLSVP_YVN\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Domain\obj\Release\Yokogawa.TLSVP.Api.Domain.dll |
| | | D:\Yokogawa\TLSVP_YVN\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Domain\obj\Release\Yokogawa.TLSVP.Api.Domain.pdb |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Domain\bin\Release\Yokogawa.TLSVP.Api.Domain.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Domain\bin\Release\Yokogawa.TLSVP.Api.Domain.pdb |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Domain\obj\Release\Yokogawa.TLSVP.Api.Domain.csprojResolveAssemblyReference.cache |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Domain\obj\Release\Yokogawa.TLSVP.Api.Domain.dll |
| | | Z:\Workspace\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Domain\obj\Release\Yokogawa.TLSVP.Api.Domain.pdb |
| | | D:\Yokogawa\TLSVP_YVN\TLSVP_YVN_Mobile\01-Working\04-Development\02-Code\Yokogawa.TLSVP.Api.Domain\obj\Release\Yokogawa.TLSVP.Api.Domain.csprojResolveAssemblyReference.cache |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Domain\bin\Release\Yokogawa.TLSVP.Api.Domain.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Domain\bin\Release\Yokogawa.TLSVP.Api.Domain.pdb |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Domain\obj\Release\Yokogawa.TLSVP.Api.Domain.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.Domain\obj\Release\Yokogawa.TLSVP.Api.Domain.pdb |
| New file |
| | |
| | | using System; |
| | | using System.IO; |
| | | using System.Linq; |
| | | using System.Linq.Expressions; |
| | | using System.ServiceModel; |
| | | using System.ServiceModel.Channels; |
| | | using System.Web.Script.Serialization; |
| | | |
| | | namespace GTech.Solution.Api |
| | | { |
| | | public abstract class ApiServicesBase |
| | | { |
| | | #region Properties And Feilds |
| | | |
| | | #endregion |
| | | |
| | | #region common method |
| | | public dynamic GetPostData(Stream stream) |
| | | { |
| | | if (stream.Length != 0) |
| | | { |
| | | StreamReader sr = new StreamReader(stream); |
| | | var json = sr.ReadToEnd(); |
| | | JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer(); |
| | | dynamic data = javaScriptSerializer.Deserialize<dynamic>(json); |
| | | return data; |
| | | } |
| | | else |
| | | { |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | public IQueryable<T> Sort<T>(IQueryable<T> data, string orderByName, bool orderDirection) |
| | | { |
| | | try |
| | | { |
| | | if (string.IsNullOrEmpty(orderByName)) |
| | | { |
| | | return data; |
| | | } |
| | | |
| | | var dataType = typeof(T); |
| | | var property = dataType.GetProperty(orderByName); |
| | | if (property == null) return data; |
| | | var paramter = Expression.Parameter(dataType, string.Empty); |
| | | var propertyAccess = Expression.MakeMemberAccess(paramter, property); |
| | | var orderByExp = Expression.Lambda(propertyAccess, paramter); |
| | | string command = orderDirection ? "OrderBy" : "OrderByDescending"; |
| | | var resultExp = Expression.Call(typeof(Queryable), command, new Type[] { dataType, property.PropertyType }, data.Expression, Expression.Quote(orderByExp)); |
| | | return data.Provider.CreateQuery<T>(resultExp); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | public Binding ConfigBinding() |
| | | { |
| | | BasicHttpBinding binding = new BasicHttpBinding(BasicHttpSecurityMode.None); |
| | | binding.ReceiveTimeout = new TimeSpan(0, 1, 00); |
| | | binding.SendTimeout = new TimeSpan(0, 1, 00); |
| | | binding.CloseTimeout = new TimeSpan(0, 0, 20); |
| | | binding.OpenTimeout = new TimeSpan(0, 0, 20); |
| | | |
| | | binding.MaxBufferPoolSize = 524288; |
| | | binding.MaxReceivedMessageSize = 655360000; |
| | | binding.ReaderQuotas.MaxDepth = 32; |
| | | binding.ReaderQuotas.MaxStringContentLength = 8192; |
| | | binding.ReaderQuotas.MaxArrayLength = 1638400; |
| | | binding.ReaderQuotas.MaxBytesPerRead = 40960000; |
| | | binding.ReaderQuotas.MaxNameTableCharCount = 1638400; |
| | | return binding; |
| | | } |
| | | |
| | | public static void CopyModel(object target, object source) |
| | | { |
| | | Type type1 = target.GetType(); |
| | | Type type2 = source.GetType(); |
| | | foreach (var mi in type1.GetProperties()) |
| | | { |
| | | var des = type1.GetProperty(mi.Name); |
| | | if (des != null) |
| | | { |
| | | try |
| | | { |
| | | des.SetValue(target, mi.GetValue(source, null), null); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | } |
| | | } |
| | | } |
| | | } |
| | | #endregion |
| | | } |
| | | } |
| New file |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <ApplicationInsights xmlns="http://schemas.microsoft.com/ApplicationInsights/2013/Settings"> |
| | | <TelemetryModules> |
| | | <Add Type="Microsoft.ApplicationInsights.DependencyCollector.DependencyTrackingTelemetryModule, Microsoft.AI.DependencyCollector"/> |
| | | <Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.PerformanceCollectorModule, Microsoft.AI.PerfCounterCollector"> |
| | | <!-- |
| | | Use the following syntax here to collect additional performance counters: |
| | | |
| | | <Counters> |
| | | <Add PerformanceCounter="\Process(??APP_WIN32_PROC??)\Handle Count" ReportAs="Process handle count" /> |
| | | ... |
| | | </Counters> |
| | | |
| | | PerformanceCounter must be either \CategoryName(InstanceName)\CounterName or \CategoryName\CounterName |
| | | |
| | | Counter names may only contain letters, round brackets, forward slashes, hyphens, underscores, spaces and dots. |
| | | You may provide an optional ReportAs attribute which will be used as the metric name when reporting counter data. |
| | | For the purposes of reporting, metric names will be sanitized by removing all invalid characters from the resulting metric name. |
| | | |
| | | NOTE: performance counters configuration will be lost upon NuGet upgrade. |
| | | |
| | | The following placeholders are supported as InstanceName: |
| | | ??APP_WIN32_PROC?? - instance name of the application process for Win32 counters. |
| | | ??APP_W3SVC_PROC?? - instance name of the application IIS worker process for IIS/ASP.NET counters. |
| | | ??APP_CLR_PROC?? - instance name of the application CLR process for .NET counters. |
| | | --> |
| | | </Add> |
| | | <Add Type="Microsoft.ApplicationInsights.WindowsServer.DeveloperModeWithDebuggerAttachedTelemetryModule, Microsoft.AI.WindowsServer"/> |
| | | <Add Type="Microsoft.ApplicationInsights.WindowsServer.UnhandledExceptionTelemetryModule, Microsoft.AI.WindowsServer"/> |
| | | <Add Type="Microsoft.ApplicationInsights.WindowsServer.UnobservedExceptionTelemetryModule, Microsoft.AI.WindowsServer"/> |
| | | <Add Type="Microsoft.ApplicationInsights.Web.RequestTrackingTelemetryModule, Microsoft.AI.Web"> |
| | | <Handlers> |
| | | <!-- |
| | | Add entries here to filter out additional handlers: |
| | | |
| | | NOTE: handler configuration will be lost upon NuGet upgrade. |
| | | --> |
| | | <Add>System.Web.Handlers.TransferRequestHandler</Add> |
| | | <Add>Microsoft.VisualStudio.Web.PageInspector.Runtime.Tracing.RequestDataHttpHandler</Add> |
| | | <Add>System.Web.StaticFileHandler</Add> |
| | | <Add>System.Web.Handlers.AssemblyResourceLoader</Add> |
| | | <Add>System.Web.Optimization.BundleHandler</Add> |
| | | <Add>System.Web.Script.Services.ScriptHandlerFactory</Add> |
| | | <Add>System.Web.Handlers.TraceHandler</Add> |
| | | <Add>System.Web.Services.Discovery.DiscoveryRequestHandler</Add> |
| | | <Add>System.Web.HttpDebugHandler</Add> |
| | | </Handlers> |
| | | </Add> |
| | | <Add Type="Microsoft.ApplicationInsights.Web.ExceptionTrackingTelemetryModule, Microsoft.AI.Web"/> |
| | | </TelemetryModules> |
| | | <TelemetryChannel Type="Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel, Microsoft.AI.ServerTelemetryChannel"/> |
| | | <TelemetryProcessors> |
| | | <Add Type="Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor, Microsoft.AI.ServerTelemetryChannel"> |
| | | <MaxTelemetryItemsPerSecond>5</MaxTelemetryItemsPerSecond> |
| | | </Add> |
| | | </TelemetryProcessors> |
| | | <!-- |
| | | Learn more about Application Insights configuration with ApplicationInsights.config here: |
| | | http://go.microsoft.com/fwlink/?LinkID=513840 |
| | | |
| | | Note: If not present, please add <InstrumentationKey>Your Key</InstrumentationKey> to the top of this file. |
| | | --> |
| | | <TelemetryInitializers> |
| | | <Add Type="Microsoft.ApplicationInsights.WindowsServer.AzureRoleEnvironmentTelemetryInitializer, Microsoft.AI.WindowsServer"/> |
| | | <Add Type="Microsoft.ApplicationInsights.WindowsServer.DomainNameRoleInstanceTelemetryInitializer, Microsoft.AI.WindowsServer"/> |
| | | <Add Type="Microsoft.ApplicationInsights.WindowsServer.BuildInfoConfigComponentVersionTelemetryInitializer, Microsoft.AI.WindowsServer"/> |
| | | <Add Type="Microsoft.ApplicationInsights.Web.WebTestTelemetryInitializer, Microsoft.AI.Web"/> |
| | | <Add Type="Microsoft.ApplicationInsights.Web.SyntheticUserAgentTelemetryInitializer, Microsoft.AI.Web"> |
| | | <Filters> |
| | | <Add Pattern="(YottaaMonitor|BrowserMob|HttpMonitor|YandexBot|BingPreview|PagePeeker|ThumbShotsBot|WebThumb|URL2PNG|ZooShot|GomezA|Catchpoint bot|Willow Internet Crawler|Google SketchUp|Read%20Later|KTXN|Pingdom|AlwaysOn)"/> |
| | | <Add Pattern="Slurp" SourceName="Yahoo Bot"/> |
| | | <Add Pattern="(bot|zao|borg|Bot|oegp|silk|Xenu|zeal|^NING|crawl|Crawl|htdig|lycos|slurp|teoma|voila|yahoo|Sogou|CiBra|Nutch|^Java/|^JNLP/|Daumoa|Genieo|ichiro|larbin|pompos|Scrapy|snappy|speedy|spider|Spider|vortex|favicon|indexer|Riddler|scooter|scraper|scrubby|WhatWeb|WinHTTP|^voyager|archiver|Icarus6j|mogimogi|Netvibes|altavista|charlotte|findlinks|Retreiver|TLSProber|WordPress|wsr\-agent|Squrl Java|A6\-Indexer|netresearch|searchsight|http%20client|Python-urllib|dataparksearch|Screaming Frog|AppEngine-Google|YahooCacheSystem|semanticdiscovery|facebookexternalhit|Google.*/\+/web/snippet|Google-HTTP-Java-Client)" |
| | | SourceName="Spider"/> |
| | | </Filters> |
| | | </Add> |
| | | <Add Type="Microsoft.ApplicationInsights.Web.ClientIpHeaderTelemetryInitializer, Microsoft.AI.Web"/> |
| | | <Add Type="Microsoft.ApplicationInsights.Web.OperationNameTelemetryInitializer, Microsoft.AI.Web"/> |
| | | <Add Type="Microsoft.ApplicationInsights.Web.OperationCorrelationTelemetryInitializer, Microsoft.AI.Web"/> |
| | | <Add Type="Microsoft.ApplicationInsights.Web.UserTelemetryInitializer, Microsoft.AI.Web"/> |
| | | <Add Type="Microsoft.ApplicationInsights.Web.AuthenticatedUserIdTelemetryInitializer, Microsoft.AI.Web"/> |
| | | <Add Type="Microsoft.ApplicationInsights.Web.AccountIdTelemetryInitializer, Microsoft.AI.Web"/> |
| | | <Add Type="Microsoft.ApplicationInsights.Web.SessionTelemetryInitializer, Microsoft.AI.Web"/> |
| | | </TelemetryInitializers> |
| | | </ApplicationInsights> |
| New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Data.Entity; |
| | | using System.Data.Entity.ModelConfiguration.Conventions; |
| | | using System.Linq; |
| | | using System.Web; |
| | | |
| | | namespace GTech.Solution.Api.WebSite.DatabaseContent |
| | | { |
| | | public class TDatabaseContext : DbContext |
| | | { |
| | | public TDatabaseContext() : base("Default") |
| | | { |
| | | |
| | | } |
| | | |
| | | #region MasterData |
| | | public virtual DbSet<out_chemicals> out_chemicals { get; set; } |
| | | public virtual DbSet<out_light_cloud> out_light_cloud { get; set; } |
| | | public virtual DbSet<out_meteorological> out_meteorological { get; set; } |
| | | public virtual DbSet<out_result> out_result { get; set; } |
| | | public virtual DbSet<out_result_explosion> out_result_explosion { get; set; } |
| | | public virtual DbSet<out_result_gas_cloud> out_result_gas_cloud { get; set; } |
| | | public virtual DbSet<out_result_heat_radiation> out_result_heat_radiation { get; set; } |
| | | public virtual DbSet<out_result_overburnt> out_result_overburnt { get; set; } |
| | | public virtual DbSet<out_scenar> out_scenar { get; set; } |
| | | public virtual DbSet<out_source> out_source { get; set; } |
| | | public virtual DbSet<out_source_exposure> out_source_exposure { get; set; } |
| | | public virtual DbSet<out_source_gas> out_source_gas { get; set; } |
| | | public virtual DbSet<out_source_liquid> out_source_liquid { get; set; } |
| | | public virtual DbSet<out_source_tank> out_source_tank { get; set; } |
| | | public virtual DbSet<out_surface> out_surface { get; set; } |
| | | #endregion |
| | | |
| | | protected override void OnModelCreating(DbModelBuilder modelBuilder) |
| | | { |
| | | modelBuilder.Conventions.Remove<PluralizingTableNameConvention>(); |
| | | modelBuilder.Types().Configure(f => f.ToTable("" + f.ClrType.Name)); |
| | | } |
| | | } |
| | | } |
| New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Runtime.Serialization; |
| | | using System.Web; |
| | | |
| | | namespace GTech.Solution.Api.WebSite.DatabaseContent |
| | | { |
| | | [DataContract] |
| | | public class out_chemicals |
| | | { |
| | | [DataMember] |
| | | public int id { get; set; } |
| | | [DataMember] |
| | | public string chemicalChinese { get; set; } |
| | | [DataMember] |
| | | public string chemicalEnglish { get; set; } |
| | | [DataMember] |
| | | public string cas { get; set; } |
| | | [DataMember] |
| | | public string mw { get; set; } |
| | | [DataMember] |
| | | public string aegl1 { get; set; } |
| | | [DataMember] |
| | | public string aegl2 { get; set; } |
| | | [DataMember] |
| | | public string aegl3 { get; set; } |
| | | [DataMember] |
| | | public string boilingPoint { get; set; } |
| | | [DataMember] |
| | | public string criticalPressure { get; set; } |
| | | |
| | | [DataMember] |
| | | public string loc1 { get; set; } |
| | | [DataMember] |
| | | public string loc2 { get; set; } |
| | | [DataMember] |
| | | public string loc3 { get; set; } |
| | | [DataMember] |
| | | public string densityPgt { get; set; } |
| | | [DataMember] |
| | | public string densityTemperature { get; set; } |
| | | [DataMember] |
| | | public string densityPressure { get; set; } |
| | | [DataMember] |
| | | public string erpg1 { get; set; } |
| | | [DataMember] |
| | | public string erpg2 { get; set; } |
| | | [DataMember] |
| | | public string erpg3 { get; set; } |
| | | [DataMember] |
| | | public string flashPoint { get; set; } |
| | | [DataMember] |
| | | public string freezingTemperature { get; set; } |
| | | [DataMember] |
| | | public string shcGaseousNormalPressureCp { get; set; } |
| | | [DataMember] |
| | | public string shcGaseousNormalPressureTemperature { get; set; } |
| | | [DataMember] |
| | | public string shcGaseousNormalPressurePressure { get; set; } |
| | | [DataMember] |
| | | public string shcLiquidNormalPressureCvl { get; set; } |
| | | [DataMember] |
| | | public string shcLiquidNormalPressureTemperature { get; set; } |
| | | [DataMember] |
| | | public string shcLiquidNormalPressurePressure { get; set; } |
| | | [DataMember] |
| | | public string heatOfCombustion { get; set; } |
| | | [DataMember] |
| | | public string idlh { get; set; } |
| | | [DataMember] |
| | | public string lel { get; set; } |
| | | [DataMember] |
| | | public string lel60 { get; set; } |
| | | [DataMember] |
| | | public string lel10 { get; set; } |
| | | |
| | | [DataMember] |
| | | public string uel { get; set; } |
| | | [DataMember] |
| | | public string pac1 { get; set; } |
| | | [DataMember] |
| | | public string pac2 { get; set; } |
| | | [DataMember] |
| | | public string pac3 { get; set; } |
| | | [DataMember] |
| | | public string vaporPressure { get; set; } |
| | | [DataMember] |
| | | public string vaporPressureTemperature { get; set; } |
| | | [DataMember] |
| | | public string createTime { get; set; } |
| | | [DataMember] |
| | | public string updateTime { get; set; } |
| | | [DataMember] |
| | | public bool flag { get; set; } |
| | | } |
| | | } |
| New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Runtime.Serialization; |
| | | using System.Web; |
| | | |
| | | namespace GTech.Solution.Api.WebSite.DatabaseContent |
| | | { |
| | | /// <summary> |
| | | /// 光照量及稳定性等级表 |
| | | /// </summary> |
| | | [DataContract] |
| | | public class out_light_cloud |
| | | { |
| | | [DataMember] |
| | | public int id { get; set; } |
| | | /// <summary> |
| | | /// 风速 |
| | | /// </summary> |
| | | [DataMember] |
| | | public int windVelocity { get; set; } |
| | | /// <summary> |
| | | /// 光照亮强度 |
| | | /// </summary> |
| | | [DataMember] |
| | | public string lightStrength { get; set; } |
| | | /// <summary> |
| | | /// 光照亮中度 |
| | | /// </summary> |
| | | [DataMember] |
| | | public string lightMedium { get; set; } |
| | | /// <summary> |
| | | /// 光照亮轻度 |
| | | /// </summary> |
| | | [DataMember] |
| | | public string lightMild { get; set; } |
| | | /// <summary> |
| | | /// 云量>50% |
| | | /// </summary> |
| | | [DataMember] |
| | | public string cloudCoverMax { get; set; } |
| | | /// <summary> |
| | | /// 云量<50% |
| | | /// </summary> |
| | | [DataMember] |
| | | public string cloudCoverMin { get; set; } |
| | | /// <summary> |
| | | /// 创建时间,时间戳格式 |
| | | /// </summary> |
| | | [DataMember] |
| | | public string createTime { get; set; } |
| | | /// <summary> |
| | | /// 修改时间,时间戳格式 |
| | | /// </summary> |
| | | [DataMember] |
| | | public string updateTime { get; set; } |
| | | /// <summary> |
| | | /// 删除标志,1的为不删除,0的标识已经删除,默认为1 |
| | | /// </summary> |
| | | [DataMember] |
| | | public string flag { get; set; } |
| | | } |
| | | } |
| New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Runtime.Serialization; |
| | | using System.Web; |
| | | |
| | | namespace GTech.Solution.Api.WebSite.DatabaseContent |
| | | { |
| | | [DataContract] |
| | | public class out_meteorological |
| | | { |
| | | [DataMember] |
| | | public int id { get; set; } |
| | | [DataMember] |
| | | public int scenarioID { get; set; } |
| | | [DataMember] |
| | | public string windSpeed { get; set; } |
| | | [DataMember] |
| | | public string windDirection { get; set; } |
| | | [DataMember] |
| | | public string windMeasurementAltitude { get; set; } |
| | | [DataMember] |
| | | public string groundRoughness { get; set; } |
| | | [DataMember] |
| | | public string cloudCover { get; set; } |
| | | [DataMember] |
| | | public string airTemperature { get; set; } |
| | | [DataMember] |
| | | public string relativeHumidity { get; set; } |
| | | } |
| | | } |
| New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Runtime.Serialization; |
| | | using System.Web; |
| | | |
| | | namespace GTech.Solution.Api.WebSite.DatabaseContent |
| | | { |
| | | [DataContract] |
| | | public class out_result |
| | | { |
| | | [DataMember] |
| | | public int id { get; set; } |
| | | [DataMember] |
| | | public int scenarioID { get; set; } |
| | | [DataMember] |
| | | public string fireballDiameter { get; set; } |
| | | [DataMember] |
| | | public string fireballBurningTime { get; set; } |
| | | [DataMember] |
| | | public string firepoolDiameter { get; set; } |
| | | [DataMember] |
| | | public string firepoolBurningTime { get; set; } |
| | | [DataMember] |
| | | public string burnMaxFireLength { get; set; } |
| | | [DataMember] |
| | | public string burnTime { get; set; } |
| | | [DataMember] |
| | | public string burnSpeed { get; set; } |
| | | [DataMember] |
| | | public string burnTotal { get; set; } |
| | | [DataMember] |
| | | public string burnRemark { get; set; } |
| | | [DataMember] |
| | | public string tankChemicalsQuality { get; set; } |
| | | [DataMember] |
| | | public string tankLeakTime { get; set; } |
| | | [DataMember] |
| | | public string tankLeakAverageSpeed { get; set; } |
| | | [DataMember] |
| | | public string tankLeakTotal { get; set; } |
| | | [DataMember] |
| | | public string tankRemark { get; set; } |
| | | [DataMember] |
| | | public string DirectExposureSpeed { get; set; } |
| | | [DataMember] |
| | | public string DirectExposureTime { get; set; } |
| | | [DataMember] |
| | | public string DirectExposureTotal { get; set; } |
| | | [DataMember] |
| | | public string DirectExposureRemark { get; set; } |
| | | [DataMember] |
| | | public string poisonGasX { get; set; } |
| | | [DataMember] |
| | | public string poisonGasY { get; set; } |
| | | [DataMember] |
| | | public string poisonGasIndoor { get; set; } |
| | | [DataMember] |
| | | public string poisonGasOutdoor { get; set; } |
| | | [DataMember] |
| | | public string heatRadiationX { get; set; } |
| | | [DataMember] |
| | | public string heatRadiationY { get; set; } |
| | | [DataMember] |
| | | public string heatRadiationIndoor { get; set; } |
| | | [DataMember] |
| | | public string heatRadiationOutdoor { get; set; } |
| | | [DataMember] |
| | | public string heatRadiationMax { get; set; } |
| | | [DataMember] |
| | | public string overpressureX { get; set; } |
| | | [DataMember] |
| | | public string overpressureY { get; set; } |
| | | [DataMember] |
| | | public string overpressureP { get; set; } |
| | | } |
| | | } |
| New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Runtime.Serialization; |
| | | using System.Web; |
| | | |
| | | namespace GTech.Solution.Api.WebSite.DatabaseContent |
| | | { |
| | | [DataContract] |
| | | public class out_result_explosion |
| | | { |
| | | [DataMember] |
| | | public int id { get; set; } |
| | | [DataMember] |
| | | public int scenarioID { get; set; } |
| | | [DataMember] |
| | | public string chemicalChinese { get; set; } |
| | | [DataMember] |
| | | public string chemicalEnglish { get; set; } |
| | | [DataMember] |
| | | public string vaporCloudignitionTime { get; set; } |
| | | [DataMember] |
| | | public string ignitionType { get; set; } |
| | | [DataMember] |
| | | public string density { get; set; } |
| | | [DataMember] |
| | | public string concernLevel { get; set; } |
| | | [DataMember] |
| | | public string level1 { get; set; } |
| | | [DataMember] |
| | | public string level2 { get; set; } |
| | | [DataMember] |
| | | public string level3 { get; set; } |
| | | [DataMember] |
| | | public string customizeInput { get; set; } |
| | | [DataMember] |
| | | public string customizeOutput { get; set; } |
| | | } |
| | | |
| | | } |
| New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Runtime.Serialization; |
| | | using System.Web; |
| | | |
| | | namespace GTech.Solution.Api.WebSite.DatabaseContent |
| | | { |
| | | [DataContract] |
| | | public class out_result_gas_cloud |
| | | { |
| | | [DataMember] |
| | | public int id { get; set; } |
| | | [DataMember] |
| | | public int scenarioID { get; set; } |
| | | [DataMember] |
| | | public string chemicalChinese { get; set; } |
| | | [DataMember] |
| | | public string chemicalEnglish { get; set; } |
| | | [DataMember] |
| | | public string concernLevel { get; set; } |
| | | [DataMember] |
| | | public string aegl3 { get; set; } |
| | | [DataMember] |
| | | public string aegl2 { get; set; } |
| | | [DataMember] |
| | | public string aegl1 { get; set; } |
| | | [DataMember] |
| | | public string erpg3 { get; set; } |
| | | [DataMember] |
| | | public string erpg2 { get; set; } |
| | | [DataMember] |
| | | public string erpg1 { get; set; } |
| | | [DataMember] |
| | | public string pac3 { get; set; } |
| | | [DataMember] |
| | | public string pac2 { get; set; } |
| | | [DataMember] |
| | | public string pac1 { get; set; } |
| | | [DataMember] |
| | | public string idlh { get; set; } |
| | | [DataMember] |
| | | public string customizeInput { get; set; } |
| | | [DataMember] |
| | | public string customizeOutput { get; set; } |
| | | } |
| | | } |
| New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Runtime.Serialization; |
| | | using System.Web; |
| | | |
| | | namespace GTech.Solution.Api.WebSite.DatabaseContent |
| | | { |
| | | [DataContract] |
| | | public class out_result_heat_radiation |
| | | { |
| | | [DataMember] |
| | | public int id { get; set; } |
| | | [DataMember] |
| | | public int scenarioID { get; set; } |
| | | [DataMember] |
| | | public string chemicalChinese { get; set; } |
| | | [DataMember] |
| | | public string chemicalEnglish { get; set; } |
| | | [DataMember] |
| | | public string concernLevel { get; set; } |
| | | [DataMember] |
| | | public string level1 { get; set; } |
| | | [DataMember] |
| | | public string level2 { get; set; } |
| | | [DataMember] |
| | | public string level3 { get; set; } |
| | | [DataMember] |
| | | public string customizeInput { get; set; } |
| | | [DataMember] |
| | | public string customizeOutput { get; set; } |
| | | } |
| | | } |
| New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Runtime.Serialization; |
| | | using System.Web; |
| | | |
| | | namespace GTech.Solution.Api.WebSite.DatabaseContent |
| | | { |
| | | [DataContract] |
| | | public class out_result_overburnt |
| | | { |
| | | [DataMember] |
| | | public int id { get; set; } |
| | | [DataMember] |
| | | public int scenarioID { get; set; } |
| | | [DataMember] |
| | | public string chemicalChinese { get; set; } |
| | | [DataMember] |
| | | public string chemicalEnglish { get; set; } |
| | | [DataMember] |
| | | public string concernLevel { get; set; } |
| | | [DataMember] |
| | | public string lel { get; set; } |
| | | [DataMember] |
| | | public string lel60 { get; set; } |
| | | [DataMember] |
| | | public string lel10 { get; set; } |
| | | [DataMember] |
| | | public string customizeInput { get; set; } |
| | | [DataMember] |
| | | public string customizeOutput { get; set; } |
| | | } |
| | | } |
| New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Runtime.Serialization; |
| | | using System.Web; |
| | | |
| | | namespace GTech.Solution.Api.WebSite.DatabaseContent |
| | | { |
| | | [DataContract] |
| | | public class out_scenar |
| | | { |
| | | [DataMember] |
| | | public int id { get; set; } |
| | | [DataMember] |
| | | public string cityName { get; set; } |
| | | [DataMember] |
| | | public string elevation { get; set; } |
| | | [DataMember] |
| | | public string longitude { get; set; } |
| | | [DataMember] |
| | | public string latitude { get; set; } |
| | | [DataMember] |
| | | public string airExchangeRate { get; set; } |
| | | [DataMember] |
| | | public string accidentYear { get; set; } |
| | | [DataMember] |
| | | public string accidentMonth { get; set; } |
| | | [DataMember] |
| | | public string accidentDay { get; set; } |
| | | [DataMember] |
| | | public string accidentHour { get; set; } |
| | | [DataMember] |
| | | public string accidentMinute { get; set; } |
| | | [DataMember] |
| | | public string createTime { get; set; } |
| | | [DataMember] |
| | | public string updateTime { get; set; } |
| | | [DataMember] |
| | | public bool flag { get; set; } |
| | | } |
| | | } |
| New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Runtime.Serialization; |
| | | using System.Web; |
| | | |
| | | namespace GTech.Solution.Api.WebSite.DatabaseContent |
| | | { |
| | | [DataContract] |
| | | public class out_source |
| | | { |
| | | [DataMember] |
| | | public int id { get; set; } |
| | | [DataMember] |
| | | public int scenarioID { get; set; } |
| | | [DataMember] |
| | | public string sourceType { get; set; } |
| | | } |
| | | } |
| New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Runtime.Serialization; |
| | | using System.Web; |
| | | |
| | | namespace GTech.Solution.Api.WebSite.DatabaseContent |
| | | { |
| | | [DataContract] |
| | | public class out_source_exposure |
| | | { |
| | | [DataMember] |
| | | public int id { get; set; } |
| | | [DataMember] |
| | | public int scenarioID { get; set; } |
| | | [DataMember] |
| | | public string leakSourceType { get; set; } |
| | | [DataMember] |
| | | public string gasVolume { get; set; } |
| | | [DataMember] |
| | | public string gasSpeed { get; set; } |
| | | [DataMember] |
| | | public string gasDuration { get; set; } |
| | | [DataMember] |
| | | public string sourceHeight { get; set; } |
| | | [DataMember] |
| | | public string storageStatus { get; set; } |
| | | [DataMember] |
| | | public string chemicalsTemperature { get; set; } |
| | | [DataMember] |
| | | public string chemicalsPressure { get; set; } |
| | | } |
| | | } |
| New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Runtime.Serialization; |
| | | using System.Web; |
| | | |
| | | namespace GTech.Solution.Api.WebSite.DatabaseContent |
| | | { |
| | | [DataContract] |
| | | public class out_source_gas |
| | | { |
| | | [DataMember] |
| | | public int id { get; set; } |
| | | [DataMember] |
| | | public int scenarioID { get; set; } |
| | | [DataMember] |
| | | public string leakSourceType { get; set; } |
| | | [DataMember] |
| | | public string pipeDiameter { get; set; } |
| | | [DataMember] |
| | | public string pipeLength { get; set; } |
| | | [DataMember] |
| | | public string pipeAnotherSide { get; set; } |
| | | [DataMember] |
| | | public string pipeInnerRoughness { get; set; } |
| | | [DataMember] |
| | | public string pipePressure { get; set; } |
| | | [DataMember] |
| | | public string pipeTemperature { get; set; } |
| | | } |
| | | } |
| New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Runtime.Serialization; |
| | | using System.Web; |
| | | |
| | | namespace GTech.Solution.Api.WebSite.DatabaseContent |
| | | { |
| | | [DataContract] |
| | | public class out_source_liquid |
| | | { |
| | | [DataMember] |
| | | public int id { get; set; } |
| | | [DataMember] |
| | | public int scenarioID { get; set; } |
| | | [DataMember] |
| | | public string leakSourceType { get; set; } |
| | | [DataMember] |
| | | public string poolArea { get; set; } |
| | | [DataMember] |
| | | public string poolVolume { get; set; } |
| | | [DataMember] |
| | | public string poolType { get; set; } |
| | | [DataMember] |
| | | public string poolGroundTemperature { get; set; } |
| | | [DataMember] |
| | | public string initialPoolTemperature { get; set; } |
| | | } |
| | | } |
| New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Runtime.Serialization; |
| | | using System.Web; |
| | | |
| | | namespace GTech.Solution.Api.WebSite.DatabaseContent |
| | | { |
| | | [DataContract] |
| | | public class out_source_tank |
| | | { |
| | | [DataMember] |
| | | public int id { get; set; } |
| | | [DataMember] |
| | | public int scenarioID { get; set; } |
| | | [DataMember] |
| | | public string tankType { get; set; } |
| | | [DataMember] |
| | | public string tankDiameter { get; set; } |
| | | [DataMember] |
| | | public string tankLength { get; set; } |
| | | [DataMember] |
| | | public string chemicalsStatus { get; set; } |
| | | [DataMember] |
| | | public string liquidVolume { get; set; } |
| | | [DataMember] |
| | | public string gasPressure { get; set; } |
| | | [DataMember] |
| | | public string chemicalsNumber { get; set; } |
| | | [DataMember] |
| | | public string chemicalsTemperature { get; set; } |
| | | [DataMember] |
| | | public string failureType { get; set; } |
| | | [DataMember] |
| | | public string burnedAmount { get; set; } |
| | | [DataMember] |
| | | public string massPercentage { get; set; } |
| | | [DataMember] |
| | | public string failureTankPressure { get; set; } |
| | | [DataMember] |
| | | public string failureTankTemperature { get; set; } |
| | | [DataMember] |
| | | public string leakHoleType { get; set; } |
| | | [DataMember] |
| | | public string holeDiameter { get; set; } |
| | | [DataMember] |
| | | public string holeLength { get; set; } |
| | | [DataMember] |
| | | public string holeWidth { get; set; } |
| | | [DataMember] |
| | | public string holeHeight { get; set; } |
| | | [DataMember] |
| | | public string groundType { get; set; } |
| | | [DataMember] |
| | | public string groundTemperature { get; set; } |
| | | [DataMember] |
| | | public string poolSize { get; set; } |
| | | [DataMember] |
| | | public string poolDiameter { get; set; } |
| | | [DataMember] |
| | | public string poolArea { get; set; } |
| | | } |
| | | } |
| New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Runtime.Serialization; |
| | | using System.Web; |
| | | |
| | | namespace GTech.Solution.Api.WebSite.DatabaseContent |
| | | { |
| | | /// <summary> |
| | | /// 地表粗糙度与大气稳定等级 |
| | | /// </summary> |
| | | [DataContract] |
| | | public class out_surface |
| | | { |
| | | [DataMember] |
| | | public int id { get; set; } |
| | | /// <summary> |
| | | /// 大地表粗糙度类别 |
| | | /// 粗糙度分为城市地区,农村地区 |
| | | /// city:城市地区,countryside:农村地区 |
| | | /// </summary> |
| | | [DataMember] |
| | | public string surfaceType { get; set; } |
| | | /// <summary> |
| | | /// 系数 sx1,sx2,sy1,sy2,sz1,sz1,sz1, |
| | | /// </summary> |
| | | [DataMember] |
| | | public string coefficient { get; set; } |
| | | /// <summary> |
| | | /// 大气稳定等级A |
| | | /// </summary> |
| | | [DataMember] |
| | | public string atmosphereGradeA { get; set; } |
| | | /// <summary> |
| | | /// 大气稳定等级B |
| | | /// </summary> |
| | | [DataMember] |
| | | public string atmosphereGradeB { get; set; } |
| | | /// <summary> |
| | | /// 大气稳定等级C |
| | | /// </summary> |
| | | [DataMember] |
| | | public string atmosphereGradeC { get; set; } |
| | | /// <summary> |
| | | /// 大气稳定等级D |
| | | /// </summary> |
| | | [DataMember] |
| | | public string atmosphereGradeD { get; set; } |
| | | /// <summary> |
| | | /// 大气稳定等级E |
| | | /// </summary> |
| | | [DataMember] |
| | | public string atmosphereGradeE { get; set; } |
| | | /// <summary> |
| | | /// 大气稳定等级F |
| | | /// </summary> |
| | | [DataMember] |
| | | public string atmosphereGradeF { get; set; } |
| | | /// <summary> |
| | | /// 创建时间,时间戳格式 |
| | | /// </summary> |
| | | [DataMember] |
| | | public string createTime { get; set; } |
| | | /// <summary> |
| | | /// 修改时间,时间戳格式 |
| | | /// </summary> |
| | | [DataMember] |
| | | public string updateTime { get; set; } |
| | | /// <summary> |
| | | /// 删除标志,1的为不删除,0的标识已经删除,默认为1 |
| | | /// </summary> |
| | | [DataMember] |
| | | public bool flag { get; set; } |
| | | } |
| | | } |
| New file |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
| | | <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> |
| | | <PropertyGroup> |
| | | <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> |
| | | <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> |
| | | <ProductVersion> |
| | | </ProductVersion> |
| | | <SchemaVersion>2.0</SchemaVersion> |
| | | <ProjectGuid>{33766936-4425-4E2C-B196-A5C1772560E9}</ProjectGuid> |
| | | <ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids> |
| | | <OutputType>Library</OutputType> |
| | | <AppDesignerFolder>Properties</AppDesignerFolder> |
| | | <RootNamespace>GTech.Solution.Api.WebSite</RootNamespace> |
| | | <AssemblyName>GTech.Solution.Api.WebSite</AssemblyName> |
| | | <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion> |
| | | <WcfConfigValidationEnabled>True</WcfConfigValidationEnabled> |
| | | <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> |
| | | <UseIISExpress>true</UseIISExpress> |
| | | <IISExpressSSLPort /> |
| | | <IISExpressAnonymousAuthentication /> |
| | | <IISExpressWindowsAuthentication /> |
| | | <IISExpressUseClassicPipelineMode /> |
| | | <UseGlobalApplicationHostFile /> |
| | | <Use64BitIISExpress /> |
| | | </PropertyGroup> |
| | | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> |
| | | <DebugSymbols>true</DebugSymbols> |
| | | <DebugType>full</DebugType> |
| | | <Optimize>false</Optimize> |
| | | <OutputPath>bin\</OutputPath> |
| | | <DefineConstants>DEBUG;TRACE</DefineConstants> |
| | | <ErrorReport>prompt</ErrorReport> |
| | | <WarningLevel>4</WarningLevel> |
| | | </PropertyGroup> |
| | | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> |
| | | <DebugType>pdbonly</DebugType> |
| | | <Optimize>true</Optimize> |
| | | <OutputPath>bin\</OutputPath> |
| | | <DefineConstants>TRACE</DefineConstants> |
| | | <ErrorReport>prompt</ErrorReport> |
| | | <WarningLevel>4</WarningLevel> |
| | | </PropertyGroup> |
| | | <ItemGroup> |
| | | <Reference Include="EntityFramework"> |
| | | <HintPath>..\Library\EntityFramework.dll</HintPath> |
| | | </Reference> |
| | | <Reference Include="EntityFramework.SqlServer"> |
| | | <HintPath>..\Library\EntityFramework.SqlServer.dll</HintPath> |
| | | </Reference> |
| | | <Reference Include="EPPlus"> |
| | | <HintPath>..\Library\EPPlus.dll</HintPath> |
| | | </Reference> |
| | | <Reference Include="FTPMethod"> |
| | | <HintPath>..\Library\FTPMethod.dll</HintPath> |
| | | </Reference> |
| | | <Reference Include="JWT, Version=7.0.0.0, Culture=neutral, PublicKeyToken=6f98bca0f40f2ecf, processorArchitecture=MSIL"> |
| | | <HintPath>..\packages\JWT.7.3.0\lib\net46\JWT.dll</HintPath> |
| | | <Private>True</Private> |
| | | </Reference> |
| | | <Reference Include="Microsoft.AI.Agent.Intercept, Version=1.2.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> |
| | | <HintPath>..\packages\Microsoft.ApplicationInsights.Agent.Intercept.1.2.1\lib\net45\Microsoft.AI.Agent.Intercept.dll</HintPath> |
| | | <Private>True</Private> |
| | | </Reference> |
| | | <Reference Include="Microsoft.AI.DependencyCollector, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> |
| | | <HintPath>..\packages\Microsoft.ApplicationInsights.DependencyCollector.2.0.0\lib\net45\Microsoft.AI.DependencyCollector.dll</HintPath> |
| | | <Private>True</Private> |
| | | </Reference> |
| | | <Reference Include="Microsoft.AI.PerfCounterCollector, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> |
| | | <HintPath>..\packages\Microsoft.ApplicationInsights.PerfCounterCollector.2.0.0\lib\net45\Microsoft.AI.PerfCounterCollector.dll</HintPath> |
| | | <Private>True</Private> |
| | | </Reference> |
| | | <Reference Include="Microsoft.AI.ServerTelemetryChannel, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> |
| | | <HintPath>..\packages\Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.2.0.0\lib\net45\Microsoft.AI.ServerTelemetryChannel.dll</HintPath> |
| | | <Private>True</Private> |
| | | </Reference> |
| | | <Reference Include="Microsoft.AI.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> |
| | | <HintPath>..\packages\Microsoft.ApplicationInsights.Web.2.0.0\lib\net45\Microsoft.AI.Web.dll</HintPath> |
| | | <Private>True</Private> |
| | | </Reference> |
| | | <Reference Include="Microsoft.AI.WindowsServer, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> |
| | | <HintPath>..\packages\Microsoft.ApplicationInsights.WindowsServer.2.0.0\lib\net45\Microsoft.AI.WindowsServer.dll</HintPath> |
| | | <Private>True</Private> |
| | | </Reference> |
| | | <Reference Include="Microsoft.ApplicationInsights, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> |
| | | <HintPath>..\packages\Microsoft.ApplicationInsights.2.0.0\lib\net46\Microsoft.ApplicationInsights.dll</HintPath> |
| | | <Private>True</Private> |
| | | </Reference> |
| | | <Reference Include="Microsoft.CSharp" /> |
| | | <Reference Include="MySql.Data, Version=8.0.19.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL"> |
| | | <SpecificVersion>False</SpecificVersion> |
| | | <HintPath>..\Library\MySql.Data.dll</HintPath> |
| | | </Reference> |
| | | <Reference Include="MySql.Data.Entity.EF6"> |
| | | <HintPath>..\Library\MySql.Data.Entity.EF6.dll</HintPath> |
| | | </Reference> |
| | | <Reference Include="Newtonsoft.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> |
| | | <HintPath>..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll</HintPath> |
| | | <Private>True</Private> |
| | | </Reference> |
| | | <Reference Include="SQLite.CodeFirst"> |
| | | <HintPath>..\Library\SQLite.CodeFirst.dll</HintPath> |
| | | </Reference> |
| | | <Reference Include="System.Data.SQLite"> |
| | | <HintPath>..\Library\System.Data.SQLite.dll</HintPath> |
| | | </Reference> |
| | | <Reference Include="System.Data.SQLite.EF6"> |
| | | <HintPath>..\Library\System.Data.SQLite.EF6.dll</HintPath> |
| | | </Reference> |
| | | <Reference Include="System.Data.SQLite.Linq"> |
| | | <HintPath>..\Library\System.Data.SQLite.Linq.dll</HintPath> |
| | | </Reference> |
| | | <Reference Include="System.Web.DynamicData" /> |
| | | <Reference Include="System.Web.Entity" /> |
| | | <Reference Include="System.Web.ApplicationServices" /> |
| | | <Reference Include="System" /> |
| | | <Reference Include="System.Configuration" /> |
| | | <Reference Include="System.Core" /> |
| | | <Reference Include="System.Data" /> |
| | | <Reference Include="System.Drawing" /> |
| | | <Reference Include="System.EnterpriseServices" /> |
| | | <Reference Include="System.Runtime.Serialization" /> |
| | | <Reference Include="System.ServiceModel" /> |
| | | <Reference Include="System.ServiceModel.Web" /> |
| | | <Reference Include="System.Web" /> |
| | | <Reference Include="System.Web.Extensions" /> |
| | | <Reference Include="System.Web.Services" /> |
| | | <Reference Include="System.Xml" /> |
| | | <Reference Include="System.Xml.Linq" /> |
| | | </ItemGroup> |
| | | <ItemGroup> |
| | | <Content Include="Global.asax" /> |
| | | <Content Include="scripts\ai.0.22.9-build00167.js" /> |
| | | <Content Include="scripts\ai.0.22.9-build00167.min.js" /> |
| | | <Content Include="TruckAlarm.svc" /> |
| | | <Content Include="Web.config"> |
| | | <SubType>Designer</SubType> |
| | | </Content> |
| | | <None Include="Properties\PublishProfiles\TMSAPI.pubxml" /> |
| | | <None Include="Webhttps.config" /> |
| | | </ItemGroup> |
| | | <ItemGroup> |
| | | <Compile Include="ApiServicesBase.cs" /> |
| | | <Compile Include="DatabaseContent\out_chemicals.cs" /> |
| | | <Compile Include="DatabaseContent\out_light_cloud.cs" /> |
| | | <Compile Include="DatabaseContent\out_meteorological.cs" /> |
| | | <Compile Include="DatabaseContent\out_result.cs" /> |
| | | <Compile Include="DatabaseContent\out_result_explosion.cs" /> |
| | | <Compile Include="DatabaseContent\out_result_gas_cloud.cs" /> |
| | | <Compile Include="DatabaseContent\out_result_heat_radiation.cs" /> |
| | | <Compile Include="DatabaseContent\out_result_overburnt.cs" /> |
| | | <Compile Include="DatabaseContent\out_scenar.cs" /> |
| | | <Compile Include="DatabaseContent\out_source.cs" /> |
| | | <Compile Include="DatabaseContent\out_source_exposure.cs" /> |
| | | <Compile Include="DatabaseContent\out_source_gas.cs" /> |
| | | <Compile Include="DatabaseContent\out_source_liquid.cs" /> |
| | | <Compile Include="DatabaseContent\out_source_tank.cs" /> |
| | | <Compile Include="DatabaseContent\out_surface.cs" /> |
| | | <Compile Include="DatabaseContent\TDatabaseContext.cs" /> |
| | | <Compile Include="Global.asax.cs"> |
| | | <DependentUpon>Global.asax</DependentUpon> |
| | | </Compile> |
| | | <Compile Include="Properties\AssemblyInfo.cs" /> |
| | | <Compile Include="TruckAlarm.svc.cs"> |
| | | <DependentUpon>TruckAlarm.svc</DependentUpon> |
| | | </Compile> |
| | | </ItemGroup> |
| | | <ItemGroup> |
| | | <Folder Include="App_Data\" /> |
| | | </ItemGroup> |
| | | <ItemGroup> |
| | | <Content Include="packages.config" /> |
| | | <Content Include="ApplicationInsights.config"> |
| | | <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
| | | </Content> |
| | | <None Include="Web.Debug.config"> |
| | | <DependentUpon>Web.config</DependentUpon> |
| | | </None> |
| | | <None Include="Web.Release.config"> |
| | | <DependentUpon>Web.config</DependentUpon> |
| | | </None> |
| | | </ItemGroup> |
| | | <ItemGroup> |
| | | <ProjectReference Include="..\GTech.Solution.Api.Common\GTech.Solution.Api.Common.csproj"> |
| | | <Project>{8f7dff8f-296b-457f-a667-941ee23abf0b}</Project> |
| | | <Name>GTech.Solution.Api.Common</Name> |
| | | </ProjectReference> |
| | | <ProjectReference Include="..\GTech.Solution.Api.Contract\GTech.Solution.Api.Contract.csproj"> |
| | | <Project>{13b3bd45-ebd9-477d-bf78-472dd065e7a2}</Project> |
| | | <Name>GTech.Solution.Api.Contract</Name> |
| | | </ProjectReference> |
| | | <ProjectReference Include="..\GTech.Solution.Api.Domain\GTech.Solution.Api.Domain.csproj"> |
| | | <Project>{4a2930de-7bf4-4368-b6ad-b74b9043da7d}</Project> |
| | | <Name>GTech.Solution.Api.Domain</Name> |
| | | </ProjectReference> |
| | | </ItemGroup> |
| | | <ItemGroup> |
| | | <WCFMetadata Include="Service References\" /> |
| | | </ItemGroup> |
| | | <PropertyGroup> |
| | | <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion> |
| | | <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath> |
| | | </PropertyGroup> |
| | | <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> |
| | | <Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" /> |
| | | <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" /> |
| | | <ProjectExtensions> |
| | | <VisualStudio> |
| | | <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}"> |
| | | <WebProjectProperties> |
| | | <UseIIS>True</UseIIS> |
| | | <AutoAssignPort>True</AutoAssignPort> |
| | | <DevelopmentServerPort>2925</DevelopmentServerPort> |
| | | <DevelopmentServerVPath>/</DevelopmentServerVPath> |
| | | <IISUrl>http://localhost:2306/</IISUrl> |
| | | <NTLMAuthentication>False</NTLMAuthentication> |
| | | <UseCustomServer>False</UseCustomServer> |
| | | <CustomServerUrl> |
| | | </CustomServerUrl> |
| | | <SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile> |
| | | </WebProjectProperties> |
| | | </FlavorProperties> |
| | | </VisualStudio> |
| | | </ProjectExtensions> |
| | | <!-- To modify your build process, add your task inside one of the targets below and uncomment it. |
| | | Other similar extension points exist, see Microsoft.Common.targets. |
| | | <Target Name="BeforeBuild"> |
| | | </Target> |
| | | <Target Name="AfterBuild"> |
| | | </Target> |
| | | --> |
| | | </Project> |
| New file |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
| | | <PropertyGroup> |
| | | <UseIISExpress>true</UseIISExpress> |
| | | <ProjectView>ProjectFiles</ProjectView> |
| | | <NameOfLastUsedPublishProfile>TMSAPI</NameOfLastUsedPublishProfile> |
| | | <LastActiveSolutionConfig>Release|Any CPU</LastActiveSolutionConfig> |
| | | <Use64BitIISExpress /> |
| | | <IISExpressSSLPort /> |
| | | <IISExpressAnonymousAuthentication /> |
| | | <IISExpressWindowsAuthentication /> |
| | | <IISExpressUseClassicPipelineMode /> |
| | | <UseGlobalApplicationHostFile /> |
| | | </PropertyGroup> |
| | | <ProjectExtensions> |
| | | <VisualStudio> |
| | | <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}"> |
| | | <WebProjectProperties> |
| | | <StartPageUrl>TruckAlarm.svc</StartPageUrl> |
| | | <StartAction>SpecificPage</StartAction> |
| | | <AspNetDebugging>True</AspNetDebugging> |
| | | <SilverlightDebugging>False</SilverlightDebugging> |
| | | <NativeDebugging>False</NativeDebugging> |
| | | <SQLDebugging>False</SQLDebugging> |
| | | <ExternalProgram> |
| | | </ExternalProgram> |
| | | <StartExternalURL> |
| | | </StartExternalURL> |
| | | <StartCmdLineArguments> |
| | | </StartCmdLineArguments> |
| | | <StartWorkingDirectory> |
| | | </StartWorkingDirectory> |
| | | <EnableENC>True</EnableENC> |
| | | <AlwaysStartWebServerOnDebug>True</AlwaysStartWebServerOnDebug> |
| | | </WebProjectProperties> |
| | | </FlavorProperties> |
| | | </VisualStudio> |
| | | </ProjectExtensions> |
| | | </Project> |
| New file |
| | |
| | | <%@ Application Codebehind="Global.asax.cs" Inherits="GTech.Solution.Api.Global" Language="C#" %> |
| New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Configuration; |
| | | using System.Web; |
| | | using GTech.Solution.Api.Common.Common; |
| | | |
| | | namespace GTech.Solution.Api |
| | | { |
| | | public class Global : System.Web.HttpApplication |
| | | { |
| | | protected void Application_Start(object sender, EventArgs e) |
| | | { |
| | | |
| | | } |
| | | |
| | | protected void Application_BeginRequest(object sender, EventArgs e) |
| | | { |
| | | var context = HttpContext.Current; |
| | | var request = context.Request; |
| | | var response = context.Response; |
| | | |
| | | HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*"); |
| | | |
| | | if (HttpContext.Current.Request.HttpMethod == "OPTIONS") |
| | | { |
| | | HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods", "*"); |
| | | HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", "*"); |
| | | HttpContext.Current.Response.AddHeader("Access-Control-Request-Headers", "*"); |
| | | |
| | | |
| | | HttpContext.Current.Response.End(); |
| | | } |
| | | |
| | | CheckAccessPermission(request, response); |
| | | } |
| | | |
| | | private void CheckAccessPermission(HttpRequest request, HttpResponse response) |
| | | { |
| | | try |
| | | { |
| | | var requestHeader = request.Headers; |
| | | var requestUrl = request.Url; |
| | | var token = request.Headers["Authorization"]; |
| | | |
| | | var isNeedValidateJwtToken = true; |
| | | |
| | | if (requestUrl.AbsolutePath == "/") |
| | | { |
| | | isNeedValidateJwtToken = false; |
| | | } |
| | | else |
| | | { |
| | | var IgnoringAntPathRequestMatcher = new List<string>(); |
| | | var ignoringAntPathRequestMatcherStr = ConfigurationManager.AppSettings["IgnoringAntPathRequestMatcher"]; |
| | | |
| | | if (!string.IsNullOrEmpty(ignoringAntPathRequestMatcherStr)) |
| | | { |
| | | var ignoringAntPathRequestMatcherArray = ignoringAntPathRequestMatcherStr.Split(','); |
| | | |
| | | IgnoringAntPathRequestMatcher.AddRange(ignoringAntPathRequestMatcherArray); |
| | | } |
| | | |
| | | IgnoringAntPathRequestMatcher.ForEach(en => |
| | | { |
| | | if (requestUrl.AbsolutePath.Contains(en)) |
| | | { |
| | | isNeedValidateJwtToken = false; |
| | | } |
| | | }); |
| | | } |
| | | |
| | | if (isNeedValidateJwtToken) |
| | | { |
| | | TokenGenerator.ValidateJwtToken(token); |
| | | |
| | | var userbasic = TokenGenerator.GetUserbasic(token); |
| | | if (userbasic != null) |
| | | { |
| | | //Check permissions |
| | | } |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | response.ContentType = "application/json"; |
| | | response.Write(ex.Message); |
| | | response.End(); |
| | | } |
| | | } |
| | | |
| | | protected void Application_EndRequest(object sender, EventArgs e) |
| | | { |
| | | |
| | | } |
| | | |
| | | protected void Application_Error(object sender, EventArgs e) |
| | | { |
| | | Exception exception = Server.GetLastError(); |
| | | try |
| | | { |
| | | |
| | | } |
| | | catch { } |
| | | } |
| | | |
| | | protected void Application_End(object sender, EventArgs e) |
| | | { |
| | | try |
| | | { |
| | | |
| | | } |
| | | catch { } |
| | | } |
| | | |
| | | private ResponseCompressionType GetCompressionMode(HttpRequest request) |
| | | { |
| | | string acceptEncoding = request.Headers["Accept-Encoding"]; |
| | | if (string.IsNullOrEmpty(acceptEncoding)) |
| | | { |
| | | return ResponseCompressionType.None; |
| | | } |
| | | acceptEncoding = acceptEncoding.ToUpperInvariant(); |
| | | if (acceptEncoding.Contains("GZIP")) |
| | | { |
| | | return ResponseCompressionType.GZip; |
| | | } |
| | | else if (acceptEncoding.Contains("DEFLATE")) |
| | | { |
| | | return ResponseCompressionType.Deflate; |
| | | } |
| | | else |
| | | { |
| | | return ResponseCompressionType.None; |
| | | } |
| | | } |
| | | |
| | | private enum ResponseCompressionType { None, GZip, Deflate } |
| | | |
| | | } |
| | | } |
| New file |
| | |
| | | using System.Reflection; |
| | | using System.Runtime.CompilerServices; |
| | | using System.Runtime.InteropServices; |
| | | |
| | | // General Information about an assembly is controlled through the following |
| | | // set of attributes. Change these attribute values to modify the information |
| | | // associated with an assembly. |
| | | [assembly: AssemblyTitle("GTech.Solution.Api.WebSite")] |
| | | [assembly: AssemblyDescription("")] |
| | | [assembly: AssemblyConfiguration("")] |
| | | [assembly: AssemblyCompany("")] |
| | | [assembly: AssemblyProduct("GTech.Solution.Api.WebSite")] |
| | | [assembly: AssemblyCopyright("Copyright © 2020")] |
| | | [assembly: AssemblyTrademark("")] |
| | | [assembly: AssemblyCulture("")] |
| | | |
| | | // Setting ComVisible to false makes the types in this assembly not visible |
| | | // to COM components. If you need to access a type in this assembly from |
| | | // COM, set the ComVisible attribute to true on that type. |
| | | [assembly: ComVisible(false)] |
| | | |
| | | // The following GUID is for the ID of the typelib if this project is exposed to COM |
| | | [assembly: Guid("33766936-4425-4e2c-b196-a5c1772560e9")] |
| | | |
| | | // Version information for an assembly consists of the following four values: |
| | | // |
| | | // Major Version |
| | | // Minor Version |
| | | // Build Number |
| | | // Revision |
| | | // |
| | | // You can specify all the values or you can default the Revision and Build Numbers |
| | | // by using the '*' as shown below: |
| | | // [assembly: AssemblyVersion("1.0.*")] |
| | | [assembly: AssemblyVersion("1.0.0.0")] |
| | | [assembly: AssemblyFileVersion("1.0.0.0")] |
| New file |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <!-- |
| | | This file is used by the publish/package process of your Web project. You can customize the behavior of this process |
| | | by editing this MSBuild file. In order to learn more about this please visit http://go.microsoft.com/fwlink/?LinkID=208121. |
| | | --> |
| | | <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
| | | <PropertyGroup> |
| | | <WebPublishMethod>FileSystem</WebPublishMethod> |
| | | <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration> |
| | | <LastUsedPlatform>Any CPU</LastUsedPlatform> |
| | | <SiteUrlToLaunchAfterPublish /> |
| | | <LaunchSiteAfterPublish>True</LaunchSiteAfterPublish> |
| | | <ExcludeApp_Data>False</ExcludeApp_Data> |
| | | <publishUrl>C:\TruckAlarmApi</publishUrl> |
| | | <DeleteExistingFiles>False</DeleteExistingFiles> |
| | | </PropertyGroup> |
| | | </Project> |
| New file |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <!-- |
| | | This file is used by the publish/package process of your Web project. You can customize the behavior of this process |
| | | by editing this MSBuild file. In order to learn more about this please visit http://go.microsoft.com/fwlink/?LinkID=208121. |
| | | --> |
| | | <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
| | | <PropertyGroup> |
| | | <TimeStampOfAssociatedLegacyPublishXmlFile /> |
| | | <_PublishTargetUrl>C:\TruckAlarmApi</_PublishTargetUrl> |
| | | <History>True|2021-05-10T13:55:20.5225650Z;True|2021-05-10T00:49:53.5973207+08:00;True|2021-05-10T00:48:15.3088741+08:00;True|2021-04-29T16:31:54.6031676+08:00;True|2021-04-29T15:37:36.8614687+08:00;</History> |
| | | </PropertyGroup> |
| | | <ItemGroup> |
| | | <File Include="ApplicationInsights.config"> |
| | | <publishTime>11/02/2020 17:06:19</publishTime> |
| | | </File> |
| | | <File Include="bin/ApplicationInsights.config"> |
| | | <publishTime>11/02/2020 17:06:19</publishTime> |
| | | </File> |
| | | <File Include="bin/EntityFramework.dll"> |
| | | <publishTime>10/23/2017 13:15:18</publishTime> |
| | | </File> |
| | | <File Include="bin/EntityFramework.SqlServer.dll"> |
| | | <publishTime>10/23/2017 13:15:20</publishTime> |
| | | </File> |
| | | <File Include="bin/EPPlus.dll"> |
| | | <publishTime>07/16/2020 17:32:06</publishTime> |
| | | </File> |
| | | <File Include="bin/FTPMethod.dll"> |
| | | <publishTime>07/16/2020 17:31:40</publishTime> |
| | | </File> |
| | | <File Include="bin/GTech.Solution.Api.Common.dll"> |
| | | <publishTime>05/25/2021 14:11:47</publishTime> |
| | | </File> |
| | | <File Include="bin/GTech.Solution.Api.Contract.dll"> |
| | | <publishTime>05/25/2021 14:11:47</publishTime> |
| | | </File> |
| | | <File Include="bin/GTech.Solution.Api.Domain.dll"> |
| | | <publishTime>05/25/2021 14:11:47</publishTime> |
| | | </File> |
| | | <File Include="bin/GTech.Solution.Api.WebSite.dll"> |
| | | <publishTime>05/25/2021 14:11:47</publishTime> |
| | | </File> |
| | | <File Include="bin/JWT.dll"> |
| | | <publishTime>10/30/2020 23:14:04</publishTime> |
| | | </File> |
| | | <File Include="bin/JWT.pdb"> |
| | | <publishTime>10/30/2020 23:14:04</publishTime> |
| | | </File> |
| | | <File Include="bin/Microsoft.AI.Agent.Intercept.dll"> |
| | | <publishTime>12/07/2015 19:04:38</publishTime> |
| | | </File> |
| | | <File Include="bin/Microsoft.AI.DependencyCollector.dll"> |
| | | <publishTime>03/10/2016 14:26:18</publishTime> |
| | | </File> |
| | | <File Include="bin/Microsoft.AI.PerfCounterCollector.dll"> |
| | | <publishTime>03/10/2016 14:26:26</publishTime> |
| | | </File> |
| | | <File Include="bin/Microsoft.AI.ServerTelemetryChannel.dll"> |
| | | <publishTime>03/09/2016 12:00:14</publishTime> |
| | | </File> |
| | | <File Include="bin/Microsoft.AI.Web.dll"> |
| | | <publishTime>03/10/2016 14:26:26</publishTime> |
| | | </File> |
| | | <File Include="bin/Microsoft.AI.WindowsServer.dll"> |
| | | <publishTime>03/10/2016 14:26:26</publishTime> |
| | | </File> |
| | | <File Include="bin/Microsoft.ApplicationInsights.dll"> |
| | | <publishTime>03/09/2016 11:57:34</publishTime> |
| | | </File> |
| | | <File Include="bin/MSOPCServer.Client.MSOPCClient.dll"> |
| | | <publishTime>07/16/2020 17:31:42</publishTime> |
| | | </File> |
| | | <File Include="bin/MSOPCServer.ClientContract.dll"> |
| | | <publishTime>07/16/2020 17:31:42</publishTime> |
| | | </File> |
| | | <File Include="bin/MSOPCServer.ServiceContract.dll"> |
| | | <publishTime>07/16/2020 17:31:42</publishTime> |
| | | </File> |
| | | <File Include="bin/MSOPCServer.ServiceModel.dll"> |
| | | <publishTime>07/16/2020 17:31:43</publishTime> |
| | | </File> |
| | | <File Include="bin/MSOPCServer.Workers.Utils.dll"> |
| | | <publishTime>07/16/2020 17:31:43</publishTime> |
| | | </File> |
| | | <File Include="bin/MySql.Data.dll"> |
| | | <publishTime>08/07/2018 02:21:58</publishTime> |
| | | </File> |
| | | <File Include="bin/MySql.Data.Entity.EF6.dll"> |
| | | <publishTime>08/07/2018 02:22:26</publishTime> |
| | | </File> |
| | | <File Include="bin/Newtonsoft.Json.dll"> |
| | | <publishTime>06/13/2016 23:06:14</publishTime> |
| | | </File> |
| | | <File Include="bin/OpcNetApi.dll"> |
| | | <publishTime>07/16/2020 17:31:49</publishTime> |
| | | </File> |
| | | <File Include="bin/SQLite.CodeFirst.dll"> |
| | | <publishTime>07/16/2020 19:32:45</publishTime> |
| | | </File> |
| | | <File Include="bin/System.Data.SQLite.dll"> |
| | | <publishTime>08/12/2018 21:34:02</publishTime> |
| | | </File> |
| | | <File Include="bin/System.Data.SQLite.EF6.dll"> |
| | | <publishTime>08/12/2018 21:34:04</publishTime> |
| | | </File> |
| | | <File Include="bin/System.Data.SQLite.Linq.dll"> |
| | | <publishTime>08/12/2018 21:34:02</publishTime> |
| | | </File> |
| | | <File Include="bin/Yokogawa.License.dll"> |
| | | <publishTime>07/16/2020 17:31:45</publishTime> |
| | | </File> |
| | | <File Include="bin/Yokogawa.TLSVP.Api.Common.dll"> |
| | | <publishTime>05/19/2021 00:17:38</publishTime> |
| | | </File> |
| | | <File Include="bin/Yokogawa.TLSVP.Api.Common.pdb"> |
| | | <publishTime>05/10/2021 21:54:46</publishTime> |
| | | </File> |
| | | <File Include="bin/Yokogawa.TLSVP.Api.Contract.dll"> |
| | | <publishTime>05/19/2021 00:17:38</publishTime> |
| | | </File> |
| | | <File Include="bin/Yokogawa.TLSVP.Api.Contract.pdb"> |
| | | <publishTime>05/10/2021 21:54:45</publishTime> |
| | | </File> |
| | | <File Include="bin/Yokogawa.TLSVP.Api.dll"> |
| | | <publishTime>11/12/2020 10:32:24</publishTime> |
| | | </File> |
| | | <File Include="bin/Yokogawa.TLSVP.Api.Domain.dll"> |
| | | <publishTime>05/19/2021 00:17:37</publishTime> |
| | | </File> |
| | | <File Include="bin/Yokogawa.TLSVP.Api.Domain.pdb"> |
| | | <publishTime>05/10/2021 21:54:45</publishTime> |
| | | </File> |
| | | <File Include="bin/Yokogawa.TLSVP.Api.WebSite.dll"> |
| | | <publishTime>05/19/2021 00:17:38</publishTime> |
| | | </File> |
| | | <File Include="bin/Yokogawa.TLSVP.Api.WebSite.pdb"> |
| | | <publishTime>05/10/2021 21:54:46</publishTime> |
| | | </File> |
| | | <File Include="bin/Yokogawa.TLSVP.CommonMasterData.dll"> |
| | | <publishTime>02/04/2021 14:17:56</publishTime> |
| | | </File> |
| | | <File Include="bin/Yokogawa.TLSVP.Core.Interface.dll"> |
| | | <publishTime>07/16/2020 17:31:47</publishTime> |
| | | </File> |
| | | <File Include="bin/Yokogawa.TLSVP.Core.Service.dll"> |
| | | <publishTime>07/16/2020 17:31:45</publishTime> |
| | | </File> |
| | | <File Include="bin/Yokogawa.TLSVP.Core.ServiceInterface.dll"> |
| | | <publishTime>07/16/2020 17:31:45</publishTime> |
| | | </File> |
| | | <File Include="bin/Yokogawa.TLSVP.PageOrganizer.dll"> |
| | | <publishTime>07/16/2020 17:31:45</publishTime> |
| | | </File> |
| | | <File Include="bin/Yokogawa.Utilities.AuditTrail.Client.dll"> |
| | | <publishTime>07/16/2020 17:31:45</publishTime> |
| | | </File> |
| | | <File Include="bin/Yokogawa.Utilities.AuditTrail.ServiceInterface.dll"> |
| | | <publishTime>07/16/2020 17:31:45</publishTime> |
| | | </File> |
| | | <File Include="bin/Yokogawa.Utilities.Configuration.Client.dll"> |
| | | <publishTime>07/16/2020 17:31:45</publishTime> |
| | | </File> |
| | | <File Include="bin/Yokogawa.Utilities.Configuration.Service.dll"> |
| | | <publishTime>07/16/2020 17:31:46</publishTime> |
| | | </File> |
| | | <File Include="bin/Yokogawa.Utilities.Configuration.ServiceInterface.dll"> |
| | | <publishTime>07/16/2020 17:31:46</publishTime> |
| | | </File> |
| | | <File Include="bin/Yokogawa.Utilities.Log.Client.dll"> |
| | | <publishTime>07/16/2020 17:31:47</publishTime> |
| | | </File> |
| | | <File Include="bin/Yokogawa.Utilities.Log.Interface.dll"> |
| | | <publishTime>07/16/2020 17:31:46</publishTime> |
| | | </File> |
| | | <File Include="bin/Yokogawa.Utilities.Log.Service.dll"> |
| | | <publishTime>07/16/2020 17:31:47</publishTime> |
| | | </File> |
| | | <File Include="bin/Yokogawa.Utilities.ReportPrint.Client.dll"> |
| | | <publishTime>07/16/2020 17:31:47</publishTime> |
| | | </File> |
| | | <File Include="bin/Yokogawa.Utilities.ReportPrint.ServiceInterface.dll"> |
| | | <publishTime>07/16/2020 17:31:47</publishTime> |
| | | </File> |
| | | <File Include="bin/Yokogawa.Utilities.Security.Client.dll"> |
| | | <publishTime>07/16/2020 17:31:48</publishTime> |
| | | </File> |
| | | <File Include="bin/Yokogawa.Utilities.Security.Entity.dll"> |
| | | <publishTime>07/16/2020 17:31:51</publishTime> |
| | | </File> |
| | | <File Include="bin/Yokogawa.Utilities.Security.Interface.dll"> |
| | | <publishTime>07/16/2020 17:31:48</publishTime> |
| | | </File> |
| | | <File Include="bin/Yokogawa.Utilities.Timer.dll"> |
| | | <publishTime>07/16/2020 17:31:48</publishTime> |
| | | </File> |
| | | <File Include="bin/Yokogawa.Utilities.WebMultiLanguages.dll"> |
| | | <publishTime>07/16/2020 17:31:48</publishTime> |
| | | </File> |
| | | <File Include="bin/Yokogawa.Web.UI.WebControls.ComboBox.dll"> |
| | | <publishTime>07/16/2020 17:31:49</publishTime> |
| | | </File> |
| | | <File Include="CalculateDataServices.svc"> |
| | | <publishTime>05/18/2021 15:20:39</publishTime> |
| | | </File> |
| | | <File Include="EarthquakeAffectedAreaServices.svc"> |
| | | <publishTime>05/18/2021 16:11:18</publishTime> |
| | | </File> |
| | | <File Include="Global.asax"> |
| | | <publishTime>05/25/2021 13:36:42</publishTime> |
| | | </File> |
| | | <File Include="GrasslandFireDisasterServices.svc"> |
| | | <publishTime>05/18/2021 22:36:06</publishTime> |
| | | </File> |
| | | <File Include="GrasslandFloodDisasterServices.svc"> |
| | | <publishTime>05/18/2021 22:53:08</publishTime> |
| | | </File> |
| | | <File Include="JobTransactionMonitorServices.svc"> |
| | | <publishTime>11/12/2020 14:56:02</publishTime> |
| | | </File> |
| | | <File Include="MasterDataServices.svc"> |
| | | <publishTime>11/03/2020 11:21:00</publishTime> |
| | | </File> |
| | | <File Include="OrderManagementServices.svc"> |
| | | <publishTime>11/12/2020 14:56:38</publishTime> |
| | | </File> |
| | | <File Include="packages.config"> |
| | | <publishTime>11/02/2020 18:08:10</publishTime> |
| | | </File> |
| | | <File Include="scripts/ai.0.22.9-build00167.js"> |
| | | <publishTime>11/02/2020 17:06:19</publishTime> |
| | | </File> |
| | | <File Include="scripts/ai.0.22.9-build00167.min.js"> |
| | | <publishTime>11/02/2020 17:06:19</publishTime> |
| | | </File> |
| | | <File Include="SecurityServices.svc"> |
| | | <publishTime>11/03/2020 15:31:23</publishTime> |
| | | </File> |
| | | <File Include="TankInventoryServices.svc"> |
| | | <publishTime>11/12/2020 14:57:00</publishTime> |
| | | </File> |
| | | <File Include="TruckAlarm.svc"> |
| | | <publishTime>05/25/2021 13:53:16</publishTime> |
| | | </File> |
| | | <File Include="VesselNominationHandlingServices.svc"> |
| | | <publishTime>11/12/2020 14:57:13</publishTime> |
| | | </File> |
| | | <File Include="VesselShipmentManagementServices.svc"> |
| | | <publishTime>11/12/2020 14:57:23</publishTime> |
| | | </File> |
| | | <File Include="Web.config"> |
| | | <publishTime>05/25/2021 14:12:09</publishTime> |
| | | </File> |
| | | </ItemGroup> |
| | | </Project> |
| New file |
| | |
| | | <%@ ServiceHost Language="C#" Debug="true" |
| | | Service="GTech.Solution.Api.WebSite.TruckAlarm" |
| | | CodeBehind="TruckAlarm.svc.cs" |
| | | Factory="System.ServiceModel.Activation.WebScriptServiceHostFactory"%> |
| New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.ServiceModel.Activation; |
| | | using GTech.Solution.Api.Contract; |
| | | using GTech.Solution.Api.Domain.Model; |
| | | using GTech.Solution.Api.Domain.Option; |
| | | |
| | | namespace GTech.Solution.Api.WebSite |
| | | { |
| | | [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] |
| | | public class TruckAlarm : ApiServicesBase, ITruckAlarm |
| | | { |
| | | public ApiData<TruckAlarmResult> POSTAlarm(TruckAlarmData dto) |
| | | { |
| | | ApiData<TruckAlarmResult> data = new ApiData<TruckAlarmResult>(); |
| | | string message = string.Empty; |
| | | if (doCheck(dto, out message)) |
| | | { |
| | | var result = AlarmHandler(dto, out message); |
| | | if (result != null) |
| | | { |
| | | data.Code = (int)ApiDataStatus.SUCCESS; |
| | | data.Status = ApiDataStatus.SUCCESS.ToString(); |
| | | data.Message = "Operation is successful!"; |
| | | data.Data = result; |
| | | } |
| | | else |
| | | { |
| | | data.Code = (int)ApiDataStatus.FAILED; |
| | | data.Status = ApiDataStatus.FAILED.ToString(); |
| | | data.Message = message; |
| | | data.Data = null; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | data.Code = (int)ApiDataStatus.FAILED; |
| | | data.Status = ApiDataStatus.FAILED.ToString(); |
| | | data.Message = message; |
| | | data.Data = null; |
| | | } |
| | | |
| | | return data; |
| | | } |
| | | |
| | | private bool doCheck(TruckAlarmData dto, out string message) |
| | | { |
| | | message = string.Empty; |
| | | |
| | | return true; |
| | | } |
| | | |
| | | private TruckAlarmResult AlarmHandler(TruckAlarmData dto, out string message) |
| | | { |
| | | TruckAlarmResult result = new TruckAlarmResult(); |
| | | message = string.Empty; |
| | | try |
| | | { |
| | | result.name = dto.name; |
| | | result.cam_ip = dto.cam_ip; |
| | | result.distance = dto.distance; |
| | | |
| | | //TODO: handle alarm logic |
| | | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | Console.WriteLine(e); |
| | | message = "服务器内部错误,请稍后重试或联系服务器管理员!错误信息:" + e.StackTrace; |
| | | return null; |
| | | } |
| | | |
| | | return result; |
| | | } |
| | | |
| | | } |
| | | } |
| New file |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | |
| | | <!-- For more information on using web.config transformation visit http://go.microsoft.com/fwlink/?LinkId=125889 --> |
| | | |
| | | <configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> |
| | | <!-- |
| | | In the example below, the "SetAttributes" transform will change the value of |
| | | "connectionString" to use "ReleaseSQLServer" only when the "Match" locator |
| | | finds an attribute "name" that has a value of "MyDB". |
| | | |
| | | <connectionStrings> |
| | | <add name="MyDB" |
| | | connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True" |
| | | xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/> |
| | | </connectionStrings> |
| | | --> |
| | | <system.web> |
| | | <!-- |
| | | In the example below, the "Replace" transform will replace the entire |
| | | <customErrors> section of your web.config file. |
| | | Note that because there is only one customErrors section under the |
| | | <system.web> node, there is no need to use the "xdt:Locator" attribute. |
| | | |
| | | <customErrors defaultRedirect="GenericError.htm" |
| | | mode="RemoteOnly" xdt:Transform="Replace"> |
| | | <error statusCode="500" redirect="InternalError.htm"/> |
| | | </customErrors> |
| | | --> |
| | | </system.web> |
| | | </configuration> |
| New file |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | |
| | | <!-- For more information on using web.config transformation visit http://go.microsoft.com/fwlink/?LinkId=125889 --> |
| | | |
| | | <configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> |
| | | <!-- |
| | | In the example below, the "SetAttributes" transform will change the value of |
| | | "connectionString" to use "ReleaseSQLServer" only when the "Match" locator |
| | | finds an attribute "name" that has a value of "MyDB". |
| | | |
| | | <connectionStrings> |
| | | <add name="MyDB" |
| | | connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True" |
| | | xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/> |
| | | </connectionStrings> |
| | | --> |
| | | <system.web> |
| | | <compilation xdt:Transform="RemoveAttributes(debug)" /> |
| | | <!-- |
| | | In the example below, the "Replace" transform will replace the entire |
| | | <customErrors> section of your web.config file. |
| | | Note that because there is only one customErrors section under the |
| | | <system.web> node, there is no need to use the "xdt:Locator" attribute. |
| | | |
| | | <customErrors defaultRedirect="GenericError.htm" |
| | | mode="RemoteOnly" xdt:Transform="Replace"> |
| | | <error statusCode="500" redirect="InternalError.htm"/> |
| | | </customErrors> |
| | | --> |
| | | </system.web> |
| | | </configuration> |
| New file |
| | |
| | | <?xml version="1.0"?> |
| | | <configuration> |
| | | <configSections> |
| | | <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> |
| | | </configSections> |
| | | <appSettings> |
| | | <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true"/> |
| | | <add key="IgnoringAntPathRequestMatcher" |
| | | value="TruckAlarm.svc" /> |
| | | </appSettings> |
| | | <connectionStrings> |
| | | <add name="Default" connectionString="Data Source=39.98.182.30;port=3306;Initial Catalog=calculte;user id=root;password=abcd,.1234;" providerName="MySql.Data.MySqlClient" /> |
| | | </connectionStrings> |
| | | <system.web> |
| | | <customErrors mode="Off" /> |
| | | <compilation debug="true" targetFramework="4.6.1" /> |
| | | <authentication mode="None" /> |
| | | <httpRuntime maxRequestLength="2097151" /> |
| | | <pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID" /> |
| | | </system.web> |
| | | <system.webServer> |
| | | <httpProtocol> |
| | | <customHeaders> |
| | | </customHeaders> |
| | | </httpProtocol> |
| | | <modules runAllManagedModulesForAllRequests="false" /> |
| | | <staticContent> |
| | | <mimeMap fileExtension=".apk" mimeType="application/vnd.android.package-archive" /> |
| | | <mimeMap fileExtension=".svc" mimeType="application/octet-stream" /> |
| | | </staticContent> |
| | | <directoryBrowse enabled="false" /> |
| | | </system.webServer> |
| | | <!--<system.diagnostics> |
| | | <trace autoflush="true" /> |
| | | <sources> |
| | | <source name="System.ServiceModel.MessageLogging"> |
| | | <listeners> |
| | | <add name="ServiceModelMessageLoggingListener"> |
| | | <filter type="" /> |
| | | </add> |
| | | </listeners> |
| | | </source> |
| | | </sources> |
| | | <sharedListeners> |
| | | <add initializeData="Logs\Messages.svclog" |
| | | type="System.Diagnostics.XmlWriterTraceListener" |
| | | name="ServiceModelMessageLoggingListener" |
| | | traceOutputOptions="Timestamp"> |
| | | <filter type="" /> |
| | | </add> |
| | | </sharedListeners> |
| | | </system.diagnostics>--> |
| | | <system.serviceModel> |
| | | <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" /> |
| | | <diagnostics> |
| | | <messageLogging logEntireMessage="true" |
| | | logMalformedMessages="true" |
| | | logMessagesAtServiceLevel="true" |
| | | logMessagesAtTransportLevel="true" |
| | | maxMessagesToLog="2147483647" |
| | | maxSizeOfMessageToLog="2147483647" /> |
| | | </diagnostics> |
| | | <services> |
| | | <service behaviorConfiguration="GTech.Solution.Api.AppServiceBehavior" |
| | | name="GTech.Solution.Api.WebSite.TruckAlarm"> |
| | | <endpoint address="" behaviorConfiguration="WebHttpBindingBehavior" |
| | | binding="webHttpBinding" bindingConfiguration="MyServiceBinding" |
| | | contract="GTech.Solution.Api.Contract.ITruckAlarm" /> |
| | | </service> |
| | | </services> |
| | | <behaviors> |
| | | <endpointBehaviors> |
| | | <behavior name="WebHttpBindingBehavior"> |
| | | <webHttp /> |
| | | </behavior> |
| | | <behavior name="webHttp"> |
| | | <webHttp helpEnabled="true" /> |
| | | </behavior> |
| | | </endpointBehaviors> |
| | | <serviceBehaviors> |
| | | <behavior name="GTech.Solution.Api.AppServiceBehavior"> |
| | | <serviceMetadata httpGetEnabled="true" /> |
| | | <serviceDebug includeExceptionDetailInFaults="true" /> |
| | | </behavior> |
| | | <behavior name=""> |
| | | <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" /> |
| | | <serviceDebug includeExceptionDetailInFaults="false" /> |
| | | </behavior> |
| | | </serviceBehaviors> |
| | | </behaviors> |
| | | <bindings> |
| | | <webHttpBinding> |
| | | <binding name="MyServiceBinding" sendTimeout="00:10:00" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" maxBufferPoolSize="2147483647"> |
| | | <readerQuotas maxDepth="32" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="4096" maxNameTableCharCount="16384" /> |
| | | <security mode="None" /> |
| | | </binding> |
| | | <binding name="webHttpBindConfig" receiveTimeout="00:30:00" sendTimeout="00:30:00" maxReceivedMessageSize="104857600" transferMode="Streamed"> |
| | | <readerQuotas maxStringContentLength="2147483647" maxArrayLength="2147483647" /> |
| | | <security mode="None" /> |
| | | </binding> |
| | | </webHttpBinding> |
| | | <basicHttpBinding /> |
| | | </bindings> |
| | | <client /> |
| | | </system.serviceModel> |
| | | <entityFramework> |
| | | <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework"> |
| | | <parameters> |
| | | <parameter value="mssqllocaldb" /> |
| | | </parameters> |
| | | </defaultConnectionFactory> |
| | | <providers> |
| | | <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> |
| | | <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.10.8.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" /> |
| | | <provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" /> |
| | | </providers> |
| | | </entityFramework> |
| | | <system.data> |
| | | <DbProviderFactories> |
| | | <remove invariant="MySql.Data.MySqlClient" /> |
| | | <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.10.8.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" /> |
| | | <remove invariant="System.Data.SQLite.EF6" /> |
| | | <add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" /> |
| | | <remove invariant="System.Data.SQLite" /> |
| | | <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" /> |
| | | </DbProviderFactories> |
| | | </system.data> |
| | | </configuration> |
| New file |
| | |
| | | <?xml version="1.0"?> |
| | | <configuration> |
| | | <appSettings> |
| | | <add key="ConfigServer" value="175.24.53.180" /> |
| | | <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true"/> |
| | | <add key="IgnoringAntPathRequestMatcher" value="SecurityServices.svc,MasterDataServices.svc" /> |
| | | </appSettings> |
| | | <system.web> |
| | | <customErrors mode="Off"/> |
| | | <compilation debug="true" targetFramework="4.6.1" /> |
| | | <authentication mode="None"/> |
| | | <httpRuntime maxRequestLength="2097151"/> |
| | | <pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/> |
| | | </system.web> |
| | | <system.webServer> |
| | | <httpProtocol> |
| | | <customHeaders> |
| | | <!--<add name="Access-Control-Allow-Origin" value="*" /> |
| | | <add name="Access-Control-Allow-Headers" value="*" /> |
| | | <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE" />--> |
| | | </customHeaders> |
| | | </httpProtocol> |
| | | <modules runAllManagedModulesForAllRequests="false"/> |
| | | <staticContent> |
| | | <mimeMap fileExtension=".apk" mimeType="application/vnd.android.package-archive"/> |
| | | <mimeMap fileExtension=".svc" mimeType="application/octet-stream"/> |
| | | </staticContent> |
| | | <directoryBrowse enabled="false"/> |
| | | </system.webServer> |
| | | <system.diagnostics> |
| | | <trace autoflush="true" /> |
| | | <sources> |
| | | <source name="System.ServiceModel.MessageLogging"> |
| | | <listeners> |
| | | <add name="ServiceModelMessageLoggingListener"> |
| | | <filter type="" /> |
| | | </add> |
| | | </listeners> |
| | | </source> |
| | | </sources> |
| | | <sharedListeners> |
| | | <add initializeData="Logs\Messages.svclog" |
| | | type="System.Diagnostics.XmlWriterTraceListener" |
| | | name="ServiceModelMessageLoggingListener" |
| | | traceOutputOptions="Timestamp"> |
| | | <filter type="" /> |
| | | </add> |
| | | </sharedListeners> |
| | | </system.diagnostics> |
| | | <system.serviceModel> |
| | | <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" /> |
| | | <diagnostics> |
| | | <messageLogging logEntireMessage="true" |
| | | logMalformedMessages="true" |
| | | logMessagesAtServiceLevel="true" |
| | | logMessagesAtTransportLevel="true" |
| | | maxMessagesToLog="2147483647" |
| | | maxSizeOfMessageToLog="2147483647" /> |
| | | </diagnostics> |
| | | <services> |
| | | <service behaviorConfiguration="GTech.Solution.Api.AppServiceBehavior" |
| | | name="GTech.Solution.Api.SecurityServices"> |
| | | <endpoint address="" behaviorConfiguration="WebHttpBindingBehavior" |
| | | binding="webHttpBinding" bindingConfiguration="MyServiceBinding" |
| | | contract="GTech.Solution.Api.Contract.ISecurityServices" /> |
| | | </service> |
| | | <service behaviorConfiguration="GTech.Solution.Api.AppServiceBehavior" |
| | | name="GTech.Solution.Api.MasterDataServices"> |
| | | <endpoint address="" behaviorConfiguration="WebHttpBindingBehavior" |
| | | binding="webHttpBinding" bindingConfiguration="MyServiceBinding" |
| | | contract="GTech.Solution.Api.Contract.IMasterDataServices" /> |
| | | </service> |
| | | <service behaviorConfiguration="GTech.Solution.Api.AppServiceBehavior" |
| | | name="GTech.Solution.Api.JobTransactionMonitorServices"> |
| | | <endpoint address="" behaviorConfiguration="WebHttpBindingBehavior" |
| | | binding="webHttpBinding" bindingConfiguration="MyServiceBinding" |
| | | contract="GTech.Solution.Api.Contract.IJobTransactionMonitorServices" /> |
| | | </service> |
| | | <service behaviorConfiguration="GTech.Solution.Api.AppServiceBehavior" |
| | | name="GTech.Solution.Api.OrderManagementServices"> |
| | | <endpoint address="" behaviorConfiguration="WebHttpBindingBehavior" |
| | | binding="webHttpBinding" bindingConfiguration="MyServiceBinding" |
| | | contract="GTech.Solution.Api.Contract.IOrderManagementServices" /> |
| | | </service> |
| | | <service behaviorConfiguration="GTech.Solution.Api.AppServiceBehavior" |
| | | name="GTech.Solution.Api.TankInventoryServices"> |
| | | <endpoint address="" behaviorConfiguration="WebHttpBindingBehavior" |
| | | binding="webHttpBinding" bindingConfiguration="MyServiceBinding" |
| | | contract="GTech.Solution.Api.Contract.ITankInventoryServices" /> |
| | | </service> |
| | | <service behaviorConfiguration="GTech.Solution.Api.AppServiceBehavior" |
| | | name="GTech.Solution.Api.VesselNominationHandlingServices"> |
| | | <endpoint address="" behaviorConfiguration="WebHttpBindingBehavior" |
| | | binding="webHttpBinding" bindingConfiguration="MyServiceBinding" |
| | | contract="GTech.Solution.Api.Contract.IVesselNominationHandlingServices" /> |
| | | </service> |
| | | <service behaviorConfiguration="GTech.Solution.Api.AppServiceBehavior" |
| | | name="GTech.Solution.Api.VesselShipmentManagementServices"> |
| | | <endpoint address="" behaviorConfiguration="WebHttpBindingBehavior" |
| | | binding="webHttpBinding" bindingConfiguration="MyServiceBinding" |
| | | contract="GTech.Solution.Api.Contract.IVesselShipmentManagementServices" /> |
| | | </service> |
| | | </services> |
| | | <behaviors> |
| | | <endpointBehaviors> |
| | | <behavior name="WebHttpBindingBehavior"> |
| | | <webHttp/> |
| | | </behavior> |
| | | <behavior name="webHttp"> |
| | | <webHttp helpEnabled="true"/> |
| | | </behavior> |
| | | </endpointBehaviors> |
| | | <serviceBehaviors> |
| | | <behavior name="GTech.Solution.Api.AppServiceBehavior"> |
| | | <serviceMetadata httpGetEnabled="false" httpsGetEnabled="false"/> |
| | | <serviceDebug includeExceptionDetailInFaults="true"/> |
| | | </behavior> |
| | | </serviceBehaviors> |
| | | </behaviors> |
| | | <bindings> |
| | | <webHttpBinding> |
| | | <binding name="MyServiceBinding" sendTimeout="00:10:00" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" maxBufferPoolSize="2147483647"> |
| | | <readerQuotas maxDepth="32" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="4096" maxNameTableCharCount="16384"/> |
| | | <security mode="Transport" > |
| | | </security> |
| | | </binding> |
| | | <binding name="webHttpBindConfig" receiveTimeout="00:30:00" sendTimeout="00:30:00" maxReceivedMessageSize="104857600" transferMode="Streamed"> |
| | | <readerQuotas maxStringContentLength="2147483647" maxArrayLength="2147483647"/> |
| | | <security mode="Transport" > |
| | | </security> |
| | | </binding> |
| | | </webHttpBinding> |
| | | <basicHttpBinding> |
| | | </basicHttpBinding> |
| | | </bindings> |
| | | <client> |
| | | </client> |
| | | </system.serviceModel> |
| | | </configuration> |
| New file |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <ApplicationInsights xmlns="http://schemas.microsoft.com/ApplicationInsights/2013/Settings"> |
| | | <TelemetryModules> |
| | | <Add Type="Microsoft.ApplicationInsights.DependencyCollector.DependencyTrackingTelemetryModule, Microsoft.AI.DependencyCollector"/> |
| | | <Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.PerformanceCollectorModule, Microsoft.AI.PerfCounterCollector"> |
| | | <!-- |
| | | Use the following syntax here to collect additional performance counters: |
| | | |
| | | <Counters> |
| | | <Add PerformanceCounter="\Process(??APP_WIN32_PROC??)\Handle Count" ReportAs="Process handle count" /> |
| | | ... |
| | | </Counters> |
| | | |
| | | PerformanceCounter must be either \CategoryName(InstanceName)\CounterName or \CategoryName\CounterName |
| | | |
| | | Counter names may only contain letters, round brackets, forward slashes, hyphens, underscores, spaces and dots. |
| | | You may provide an optional ReportAs attribute which will be used as the metric name when reporting counter data. |
| | | For the purposes of reporting, metric names will be sanitized by removing all invalid characters from the resulting metric name. |
| | | |
| | | NOTE: performance counters configuration will be lost upon NuGet upgrade. |
| | | |
| | | The following placeholders are supported as InstanceName: |
| | | ??APP_WIN32_PROC?? - instance name of the application process for Win32 counters. |
| | | ??APP_W3SVC_PROC?? - instance name of the application IIS worker process for IIS/ASP.NET counters. |
| | | ??APP_CLR_PROC?? - instance name of the application CLR process for .NET counters. |
| | | --> |
| | | </Add> |
| | | <Add Type="Microsoft.ApplicationInsights.WindowsServer.DeveloperModeWithDebuggerAttachedTelemetryModule, Microsoft.AI.WindowsServer"/> |
| | | <Add Type="Microsoft.ApplicationInsights.WindowsServer.UnhandledExceptionTelemetryModule, Microsoft.AI.WindowsServer"/> |
| | | <Add Type="Microsoft.ApplicationInsights.WindowsServer.UnobservedExceptionTelemetryModule, Microsoft.AI.WindowsServer"/> |
| | | <Add Type="Microsoft.ApplicationInsights.Web.RequestTrackingTelemetryModule, Microsoft.AI.Web"> |
| | | <Handlers> |
| | | <!-- |
| | | Add entries here to filter out additional handlers: |
| | | |
| | | NOTE: handler configuration will be lost upon NuGet upgrade. |
| | | --> |
| | | <Add>System.Web.Handlers.TransferRequestHandler</Add> |
| | | <Add>Microsoft.VisualStudio.Web.PageInspector.Runtime.Tracing.RequestDataHttpHandler</Add> |
| | | <Add>System.Web.StaticFileHandler</Add> |
| | | <Add>System.Web.Handlers.AssemblyResourceLoader</Add> |
| | | <Add>System.Web.Optimization.BundleHandler</Add> |
| | | <Add>System.Web.Script.Services.ScriptHandlerFactory</Add> |
| | | <Add>System.Web.Handlers.TraceHandler</Add> |
| | | <Add>System.Web.Services.Discovery.DiscoveryRequestHandler</Add> |
| | | <Add>System.Web.HttpDebugHandler</Add> |
| | | </Handlers> |
| | | </Add> |
| | | <Add Type="Microsoft.ApplicationInsights.Web.ExceptionTrackingTelemetryModule, Microsoft.AI.Web"/> |
| | | </TelemetryModules> |
| | | <TelemetryChannel Type="Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel, Microsoft.AI.ServerTelemetryChannel"/> |
| | | <TelemetryProcessors> |
| | | <Add Type="Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor, Microsoft.AI.ServerTelemetryChannel"> |
| | | <MaxTelemetryItemsPerSecond>5</MaxTelemetryItemsPerSecond> |
| | | </Add> |
| | | </TelemetryProcessors> |
| | | <!-- |
| | | Learn more about Application Insights configuration with ApplicationInsights.config here: |
| | | http://go.microsoft.com/fwlink/?LinkID=513840 |
| | | |
| | | Note: If not present, please add <InstrumentationKey>Your Key</InstrumentationKey> to the top of this file. |
| | | --> |
| | | <TelemetryInitializers> |
| | | <Add Type="Microsoft.ApplicationInsights.WindowsServer.AzureRoleEnvironmentTelemetryInitializer, Microsoft.AI.WindowsServer"/> |
| | | <Add Type="Microsoft.ApplicationInsights.WindowsServer.DomainNameRoleInstanceTelemetryInitializer, Microsoft.AI.WindowsServer"/> |
| | | <Add Type="Microsoft.ApplicationInsights.WindowsServer.BuildInfoConfigComponentVersionTelemetryInitializer, Microsoft.AI.WindowsServer"/> |
| | | <Add Type="Microsoft.ApplicationInsights.Web.WebTestTelemetryInitializer, Microsoft.AI.Web"/> |
| | | <Add Type="Microsoft.ApplicationInsights.Web.SyntheticUserAgentTelemetryInitializer, Microsoft.AI.Web"> |
| | | <Filters> |
| | | <Add Pattern="(YottaaMonitor|BrowserMob|HttpMonitor|YandexBot|BingPreview|PagePeeker|ThumbShotsBot|WebThumb|URL2PNG|ZooShot|GomezA|Catchpoint bot|Willow Internet Crawler|Google SketchUp|Read%20Later|KTXN|Pingdom|AlwaysOn)"/> |
| | | <Add Pattern="Slurp" SourceName="Yahoo Bot"/> |
| | | <Add Pattern="(bot|zao|borg|Bot|oegp|silk|Xenu|zeal|^NING|crawl|Crawl|htdig|lycos|slurp|teoma|voila|yahoo|Sogou|CiBra|Nutch|^Java/|^JNLP/|Daumoa|Genieo|ichiro|larbin|pompos|Scrapy|snappy|speedy|spider|Spider|vortex|favicon|indexer|Riddler|scooter|scraper|scrubby|WhatWeb|WinHTTP|^voyager|archiver|Icarus6j|mogimogi|Netvibes|altavista|charlotte|findlinks|Retreiver|TLSProber|WordPress|wsr\-agent|Squrl Java|A6\-Indexer|netresearch|searchsight|http%20client|Python-urllib|dataparksearch|Screaming Frog|AppEngine-Google|YahooCacheSystem|semanticdiscovery|facebookexternalhit|Google.*/\+/web/snippet|Google-HTTP-Java-Client)" |
| | | SourceName="Spider"/> |
| | | </Filters> |
| | | </Add> |
| | | <Add Type="Microsoft.ApplicationInsights.Web.ClientIpHeaderTelemetryInitializer, Microsoft.AI.Web"/> |
| | | <Add Type="Microsoft.ApplicationInsights.Web.OperationNameTelemetryInitializer, Microsoft.AI.Web"/> |
| | | <Add Type="Microsoft.ApplicationInsights.Web.OperationCorrelationTelemetryInitializer, Microsoft.AI.Web"/> |
| | | <Add Type="Microsoft.ApplicationInsights.Web.UserTelemetryInitializer, Microsoft.AI.Web"/> |
| | | <Add Type="Microsoft.ApplicationInsights.Web.AuthenticatedUserIdTelemetryInitializer, Microsoft.AI.Web"/> |
| | | <Add Type="Microsoft.ApplicationInsights.Web.AccountIdTelemetryInitializer, Microsoft.AI.Web"/> |
| | | <Add Type="Microsoft.ApplicationInsights.Web.SessionTelemetryInitializer, Microsoft.AI.Web"/> |
| | | </TelemetryInitializers> |
| | | </ApplicationInsights> |
| New file |
| | |
| | | <?xml version="1.0"?> |
| | | <configuration> |
| | | <configSections> |
| | | <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> |
| | | </configSections> |
| | | <appSettings> |
| | | <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true"/> |
| | | <add key="IgnoringAntPathRequestMatcher" |
| | | value="TruckAlarm.svc" /> |
| | | </appSettings> |
| | | <connectionStrings> |
| | | <add name="Default" connectionString="Data Source=39.98.182.30;port=3306;Initial Catalog=calculte;user id=root;password=abcd,.1234;" providerName="MySql.Data.MySqlClient" /> |
| | | </connectionStrings> |
| | | <system.web> |
| | | <customErrors mode="Off" /> |
| | | <compilation debug="true" targetFramework="4.6.1" /> |
| | | <authentication mode="None" /> |
| | | <httpRuntime maxRequestLength="2097151" /> |
| | | <pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID" /> |
| | | </system.web> |
| | | <system.webServer> |
| | | <httpProtocol> |
| | | <customHeaders> |
| | | </customHeaders> |
| | | </httpProtocol> |
| | | <modules runAllManagedModulesForAllRequests="false" /> |
| | | <staticContent> |
| | | <mimeMap fileExtension=".apk" mimeType="application/vnd.android.package-archive" /> |
| | | <mimeMap fileExtension=".svc" mimeType="application/octet-stream" /> |
| | | </staticContent> |
| | | <directoryBrowse enabled="false" /> |
| | | </system.webServer> |
| | | <!--<system.diagnostics> |
| | | <trace autoflush="true" /> |
| | | <sources> |
| | | <source name="System.ServiceModel.MessageLogging"> |
| | | <listeners> |
| | | <add name="ServiceModelMessageLoggingListener"> |
| | | <filter type="" /> |
| | | </add> |
| | | </listeners> |
| | | </source> |
| | | </sources> |
| | | <sharedListeners> |
| | | <add initializeData="Logs\Messages.svclog" |
| | | type="System.Diagnostics.XmlWriterTraceListener" |
| | | name="ServiceModelMessageLoggingListener" |
| | | traceOutputOptions="Timestamp"> |
| | | <filter type="" /> |
| | | </add> |
| | | </sharedListeners> |
| | | </system.diagnostics>--> |
| | | <system.serviceModel> |
| | | <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" /> |
| | | <diagnostics> |
| | | <messageLogging logEntireMessage="true" |
| | | logMalformedMessages="true" |
| | | logMessagesAtServiceLevel="true" |
| | | logMessagesAtTransportLevel="true" |
| | | maxMessagesToLog="2147483647" |
| | | maxSizeOfMessageToLog="2147483647" /> |
| | | </diagnostics> |
| | | <services> |
| | | <service behaviorConfiguration="GTech.Solution.Api.AppServiceBehavior" |
| | | name="GTech.Solution.Api.WebSite.TruckAlarm"> |
| | | <endpoint address="" behaviorConfiguration="WebHttpBindingBehavior" |
| | | binding="webHttpBinding" bindingConfiguration="MyServiceBinding" |
| | | contract="GTech.Solution.Api.Contract.ITruckAlarm" /> |
| | | </service> |
| | | </services> |
| | | <behaviors> |
| | | <endpointBehaviors> |
| | | <behavior name="WebHttpBindingBehavior"> |
| | | <webHttp /> |
| | | </behavior> |
| | | <behavior name="webHttp"> |
| | | <webHttp helpEnabled="true" /> |
| | | </behavior> |
| | | </endpointBehaviors> |
| | | <serviceBehaviors> |
| | | <behavior name="GTech.Solution.Api.AppServiceBehavior"> |
| | | <serviceMetadata httpGetEnabled="true" /> |
| | | <serviceDebug includeExceptionDetailInFaults="true" /> |
| | | </behavior> |
| | | <behavior name=""> |
| | | <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" /> |
| | | <serviceDebug includeExceptionDetailInFaults="false" /> |
| | | </behavior> |
| | | </serviceBehaviors> |
| | | </behaviors> |
| | | <bindings> |
| | | <webHttpBinding> |
| | | <binding name="MyServiceBinding" sendTimeout="00:10:00" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" maxBufferPoolSize="2147483647"> |
| | | <readerQuotas maxDepth="32" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="4096" maxNameTableCharCount="16384" /> |
| | | <security mode="None" /> |
| | | </binding> |
| | | <binding name="webHttpBindConfig" receiveTimeout="00:30:00" sendTimeout="00:30:00" maxReceivedMessageSize="104857600" transferMode="Streamed"> |
| | | <readerQuotas maxStringContentLength="2147483647" maxArrayLength="2147483647" /> |
| | | <security mode="None" /> |
| | | </binding> |
| | | </webHttpBinding> |
| | | <basicHttpBinding /> |
| | | </bindings> |
| | | <client /> |
| | | </system.serviceModel> |
| | | <entityFramework> |
| | | <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework"> |
| | | <parameters> |
| | | <parameter value="mssqllocaldb" /> |
| | | </parameters> |
| | | </defaultConnectionFactory> |
| | | <providers> |
| | | <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> |
| | | <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.10.8.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" /> |
| | | <provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" /> |
| | | </providers> |
| | | </entityFramework> |
| | | <system.data> |
| | | <DbProviderFactories> |
| | | <remove invariant="MySql.Data.MySqlClient" /> |
| | | <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.10.8.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" /> |
| | | <remove invariant="System.Data.SQLite.EF6" /> |
| | | <add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" /> |
| | | <remove invariant="System.Data.SQLite" /> |
| | | <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" /> |
| | | </DbProviderFactories> |
| | | </system.data> |
| | | </configuration> |
| New file |
| | |
| | | <?xml version="1.0"?> |
| | | <doc> |
| | | <assembly> |
| | | <name>JWT</name> |
| | | </assembly> |
| | | <members> |
| | | <member name="T:JWT.Algorithms.DelegateAlgorithmFactory"> |
| | | <summary> |
| | | Implements <see href="IAlgorithmFactory" /> by returning the supplied <see href="IJwtAlgorithm" /> while ignoring parameters. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.DelegateAlgorithmFactory.#ctor(System.Func{JWT.Algorithms.IJwtAlgorithm})"> |
| | | <summary> |
| | | Creates an instance of <see cref="T:JWT.Algorithms.DelegateAlgorithmFactory" /> with supplied delegate to an algorithm. |
| | | </summary> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.DelegateAlgorithmFactory.#ctor(JWT.Algorithms.IJwtAlgorithm)"> |
| | | <summary> |
| | | Creates an instance of <see cref="T:JWT.Algorithms.DelegateAlgorithmFactory" /> with supplied algorithm. |
| | | </summary> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.DelegateAlgorithmFactory.Create(JWT.JwtDecoderContext)"> |
| | | <inheritdoc /> |
| | | </member> |
| | | <member name="T:JWT.Algorithms.HMACSHA256Algorithm"> |
| | | <summary> |
| | | HMAC using SHA-256 |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.HMACSHA256Algorithm.Sign(System.Byte[],System.Byte[])"> |
| | | <inheritdoc /> |
| | | </member> |
| | | <member name="P:JWT.Algorithms.HMACSHA256Algorithm.Name"> |
| | | <inheritdoc /> |
| | | </member> |
| | | <member name="T:JWT.Algorithms.HMACSHA384Algorithm"> |
| | | <summary> |
| | | HMAC using SHA-384 |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.HMACSHA384Algorithm.Sign(System.Byte[],System.Byte[])"> |
| | | <inheritdoc /> |
| | | </member> |
| | | <member name="P:JWT.Algorithms.HMACSHA384Algorithm.Name"> |
| | | <inheritdoc /> |
| | | </member> |
| | | <member name="T:JWT.Algorithms.HMACSHA512Algorithm"> |
| | | <summary> |
| | | HMAC using SHA-512 |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.HMACSHA512Algorithm.Sign(System.Byte[],System.Byte[])"> |
| | | <inheritdoc /> |
| | | </member> |
| | | <member name="P:JWT.Algorithms.HMACSHA512Algorithm.Name"> |
| | | <inheritdoc /> |
| | | </member> |
| | | <member name="T:JWT.Algorithms.HMACSHAAlgorithmFactory"> |
| | | <inheritdoc /> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.HMACSHAAlgorithmFactory.Create(JWT.JwtDecoderContext)"> |
| | | <inheritdoc /> |
| | | </member> |
| | | <member name="T:JWT.Algorithms.IAlgorithmFactory"> |
| | | <summary> |
| | | Provides IJwtAlgorithms. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.IAlgorithmFactory.Create(JWT.JwtDecoderContext)"> |
| | | <summary> |
| | | Creates an AlgorithmFactory using the provided algorithm enum. |
| | | </summary> |
| | | <param name="context">The captured context during validation of JWT inside <see cref="T:JWT.JwtDecoder"/></param> |
| | | </member> |
| | | <member name="T:JWT.Algorithms.IAsymmetricAlgorithm"> |
| | | <summary> |
| | | Represents an asymmetric algorithm to generate or validate JWT signature. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.IAsymmetricAlgorithm.Verify(System.Byte[],System.Byte[])"> |
| | | <summary> |
| | | Verifies provided byte array with provided signature. |
| | | </summary> |
| | | <param name="bytesToSign">The data to verify</param> |
| | | <param name="signature">The signature to verify with</param> |
| | | </member> |
| | | <member name="T:JWT.Algorithms.IJwtAlgorithm"> |
| | | <summary> |
| | | Represents an algorithm to generate JWT signature. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.IJwtAlgorithm.Sign(System.Byte[],System.Byte[])"> |
| | | <summary> |
| | | Signs provided byte array with provided key. |
| | | </summary> |
| | | <param name="key">The key used to sign the data</param> |
| | | <param name="bytesToSign">The data to sign</param> |
| | | </member> |
| | | <member name="P:JWT.Algorithms.IJwtAlgorithm.Name"> |
| | | <summary> |
| | | Gets algorithm name. |
| | | </summary> |
| | | </member> |
| | | <member name="T:JWT.Algorithms.JwtAlgorithmExtensions"> |
| | | <summary> |
| | | Extension methods for <seealso cref="T:JWT.Algorithms.IJwtAlgorithm" /> |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.JwtAlgorithmExtensions.IsAsymmetric(JWT.Algorithms.IJwtAlgorithm)"> |
| | | <summary> |
| | | Returns whether or not the algorithm is asymmetric. |
| | | </summary> |
| | | <param name="alg">The algorithm instance.</param> |
| | | </member> |
| | | <member name="T:JWT.Algorithms.JwtAlgorithmName"> |
| | | <summary> |
| | | Enum representing the various Jwt Hash Algorithms. |
| | | </summary> |
| | | </member> |
| | | <member name="F:JWT.Algorithms.JwtAlgorithmName.HS256"> |
| | | <summary> |
| | | HMAC using SHA-256 |
| | | </summary> |
| | | </member> |
| | | <member name="F:JWT.Algorithms.JwtAlgorithmName.HS384"> |
| | | <summary> |
| | | HMAC using SHA-384 |
| | | </summary> |
| | | </member> |
| | | <member name="F:JWT.Algorithms.JwtAlgorithmName.HS512"> |
| | | <summary> |
| | | HMAC using SHA-512 |
| | | </summary> |
| | | </member> |
| | | <member name="F:JWT.Algorithms.JwtAlgorithmName.RS256"> |
| | | <summary> |
| | | RSASSA-PKCS1-v1_5 using SHA-256 |
| | | </summary> |
| | | </member> |
| | | <member name="T:JWT.Algorithms.RS256Algorithm"> |
| | | <summary> |
| | | RSASSA-PKCS1-v1_5 using SHA-256 |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.RS256Algorithm.#ctor(System.Security.Cryptography.RSA,System.Security.Cryptography.RSA)"> |
| | | <summary> |
| | | Creates an instance of <see cref="T:JWT.Algorithms.RS256Algorithm" /> using the provided pair of public and private keys. |
| | | </summary> |
| | | <param name="publicKey">The public key for verifying the data.</param> |
| | | <param name="privateKey">The private key for signing the data.</param> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.RS256Algorithm.#ctor(System.Security.Cryptography.RSA)"> |
| | | <summary> |
| | | Creates an instance of <see cref="T:JWT.Algorithms.RS256Algorithm" /> using the provided public key only. |
| | | </summary> |
| | | <remarks> |
| | | An instance created using this constructor can only be used for verifying the data, not for signing it. |
| | | </remarks> |
| | | <param name="publicKey">The public key for verifying the data.</param> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.RS256Algorithm.#ctor(System.Security.Cryptography.X509Certificates.X509Certificate2)"> |
| | | <summary> |
| | | Creates an instance using the provided certificate. |
| | | </summary> |
| | | <param name="cert">The certificate having a public key and an optional private key.</param> |
| | | </member> |
| | | <member name="P:JWT.Algorithms.RS256Algorithm.Name"> |
| | | <inheritdoc /> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.RS256Algorithm.Sign(System.Byte[],System.Byte[])"> |
| | | <inheritdoc /> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.RS256Algorithm.Sign(System.Byte[])"> |
| | | <summary> |
| | | Signs the provided bytes. |
| | | </summary> |
| | | <param name="bytesToSign">The bytes to sign.</param> |
| | | <returns>The signed bytes.</returns> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.RS256Algorithm.Verify(System.Byte[],System.Byte[])"> |
| | | <inheritdoc /> |
| | | </member> |
| | | <member name="T:JWT.Algorithms.RSAlgorithmFactory"> |
| | | <inheritdoc /> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.RSAlgorithmFactory.#ctor(System.Func{System.Security.Cryptography.X509Certificates.X509Certificate2})"> |
| | | <summary> |
| | | Creates an instance of the <see cref="T:JWT.Algorithms.RSAlgorithmFactory" /> class using the provided <see cref="T:System.Security.Cryptography.X509Certificates.X509Certificate2" />. |
| | | </summary> |
| | | <param name="certFactory">Func that returns <see cref="T:System.Security.Cryptography.X509Certificates.X509Certificate2" /> which will be used to instantiate <see cref="T:JWT.Algorithms.RS256Algorithm" /></param> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.RSAlgorithmFactory.#ctor(System.Security.Cryptography.RSA)"> |
| | | <summary> |
| | | Creates an instance of <see cref="T:JWT.Algorithms.RSAlgorithmFactory"/> using the provided public key only. |
| | | </summary> |
| | | <param name="publicKey">The public key for verifying the data.</param> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.RSAlgorithmFactory.#ctor(System.Security.Cryptography.RSA,System.Security.Cryptography.RSA)"> |
| | | <summary> |
| | | Creates an instance of <see cref="T:JWT.Algorithms.RSAlgorithmFactory"/> using the provided pair of public and private keys. |
| | | </summary> |
| | | <param name="publicKey">The public key for verifying the data.</param> |
| | | <param name="privateKey">The private key for signing the data.</param> |
| | | </member> |
| | | <member name="T:JWT.Builder.ClaimName"> |
| | | <summary> |
| | | All public claims of a JWT specified by IANA, see https://www.iana.org/assignments/jwt/jwt.xhtml |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Builder.EnumExtensions.GetHeaderName(JWT.Builder.HeaderName)"> |
| | | <summary> |
| | | Gets the string representation of a well-known header name enum |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Builder.EnumExtensions.GetPublicClaimName(JWT.Builder.ClaimName)"> |
| | | <summary> |
| | | Gets the string representation of a well-known claim name enum |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Builder.EnumExtensions.GetDescription``1(``0)"> |
| | | <summary> |
| | | Gets the value of the <see cref="T:System.ComponentModel.DescriptionAttribute" /> from the object. |
| | | </summary> |
| | | </member> |
| | | <member name="T:JWT.Builder.HeaderName"> |
| | | <summary> |
| | | All predefined parameter names specified by RFC 7515, see https://tools.ietf.org/html/rfc7515 |
| | | </summary> |
| | | </member> |
| | | <member name="T:JWT.Builder.JwtBuilder"> |
| | | <summary> |
| | | Encode and decode JWT with Fluent API. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.AddHeader(JWT.Builder.HeaderName,System.Object)"> |
| | | <summary> |
| | | Add header to the JWT. |
| | | </summary> |
| | | <param name="name">Well-known header name</param> |
| | | <param name="value">The value you want give to the header</param> |
| | | <returns>Current builder instance</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.AddClaim(System.String,System.Object)"> |
| | | <summary> |
| | | Adds claim to the JWT. |
| | | </summary> |
| | | <param name="name">Claim name</param> |
| | | <param name="value">Claim value</param> |
| | | <returns>Current builder instance</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.WithSerializer(JWT.IJsonSerializer)"> |
| | | <summary> |
| | | Sets JWT serializer. |
| | | </summary> |
| | | <remarks> |
| | | If not set then default <see cref="T:JWT.Serializers.JsonNetSerializer" /> will be used. |
| | | </remarks> |
| | | <returns>Current builder instance</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.WithDateTimeProvider(JWT.IDateTimeProvider)"> |
| | | <summary> |
| | | Sets custom datetime provider. |
| | | </summary> |
| | | <remarks> |
| | | If not set then default <see cref="T:JWT.UtcDateTimeProvider" /> will be used. |
| | | </remarks> |
| | | <returns>Current builder instance</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.WithEncoder(JWT.IJwtEncoder)"> |
| | | <summary> |
| | | Sets JWT encoder. |
| | | </summary> |
| | | <returns>Current builder instance</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.WithDecoder(JWT.IJwtDecoder)"> |
| | | <summary> |
| | | Sets JWT decoder. |
| | | </summary> |
| | | <returns>Current builder instance</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.WithValidator(JWT.IJwtValidator)"> |
| | | <summary> |
| | | Sets JWT validator. |
| | | </summary> |
| | | <remarks> |
| | | Required to decode with verification. |
| | | </remarks> |
| | | <returns>Current builder instance</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.WithUrlEncoder(JWT.IBase64UrlEncoder)"> |
| | | <summary> |
| | | Sets custom URL encoder. |
| | | </summary> |
| | | <remarks> |
| | | If not set then default <see cref="T:JWT.JwtBase64UrlEncoder" /> will be used. |
| | | </remarks> |
| | | <returns>Current builder instance</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.WithAlgorithmFactory(JWT.Algorithms.IAlgorithmFactory)"> |
| | | <summary> |
| | | Sets JWT algorithm factory. |
| | | </summary> |
| | | <returns>Current builder instance.</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.WithAlgorithm(JWT.Algorithms.IJwtAlgorithm)"> |
| | | <summary> |
| | | Sets JWT algorithm. |
| | | </summary> |
| | | <returns>Current builder instance.</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.WithSecret(System.String[])"> |
| | | <summary> |
| | | Sets certificate secret. |
| | | </summary> |
| | | <remarks> |
| | | Required to create new token that uses an symmetric algorithm such as <seealso cref="T:JWT.Algorithms.RS256Algorithm" /> |
| | | </remarks> |
| | | <returns>Current builder instance</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.WithSecret(System.Byte[][])"> |
| | | <summary> |
| | | Sets certificate secret. |
| | | </summary> |
| | | <remarks> |
| | | Required to create new token that uses an symmetric algorithm such as <seealso cref="T:JWT.Algorithms.RS256Algorithm" /> |
| | | </remarks> |
| | | <returns>Current builder instance</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.MustVerifySignature"> |
| | | <summary> |
| | | Instructs to do verify the JWT signature. |
| | | </summary> |
| | | <returns>Current builder instance</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.DoNotVerifySignature"> |
| | | <summary> |
| | | Instructs to do not verify the JWT signature. |
| | | </summary> |
| | | <returns>Current builder instance</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.WithVerifySignature(System.Boolean)"> |
| | | <summary> |
| | | Instructs whether to verify the JWT signature. |
| | | </summary> |
| | | <returns>Current builder instance</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.Encode"> |
| | | <summary> |
| | | Encodes a token using the supplied dependencies. |
| | | </summary> |
| | | <returns>The generated JWT</returns> |
| | | <exception cref="T:System.InvalidOperationException">Thrown if either algorithm, serializer, encoder or secret is null</exception> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.Decode(System.String)"> |
| | | <summary> |
| | | Decodes a token using the supplied dependencies. |
| | | </summary> |
| | | <param name="token">The JWT</param> |
| | | <returns>The JSON payload</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.DecodeHeader(System.String)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the header. |
| | | </summary> |
| | | <param name="token">The JWT</param> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.DecodeHeader``1(System.String)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the header. |
| | | </summary> |
| | | <param name="token">The JWT</param> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.Decode``1(System.String)"> |
| | | <summary> |
| | | Decodes a token using the supplied dependencies. |
| | | </summary> |
| | | <param name="token">The JWT</param> |
| | | <returns>The payload converted to <see cref="!:T" /></returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.CanEncode"> |
| | | <summary> |
| | | Checks whether enough dependencies were supplied to encode a new token. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.CanDecode"> |
| | | <summary> |
| | | Checks whether enough dependencies were supplied to decode a token. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilderExtensions.AddClaim(JWT.Builder.JwtBuilder,JWT.Builder.ClaimName,System.Object)"> |
| | | <summary> |
| | | Adds well-known claim to the JWT. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilderExtensions.AddClaim``1(JWT.Builder.JwtBuilder,JWT.Builder.ClaimName,``0)"> |
| | | <summary> |
| | | Adds well-known claim to the JWT. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilderExtensions.AddClaim``1(JWT.Builder.JwtBuilder,System.String,``0)"> |
| | | <summary> |
| | | Adds well-known claim to the JWT. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilderExtensions.AddClaims(JWT.Builder.JwtBuilder,System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.Object}})"> |
| | | <summary> |
| | | Adds several claims to the JWT |
| | | </summary> |
| | | </member> |
| | | <member name="T:JWT.Builder.JwtData"> |
| | | <summary> |
| | | Represents the Data that will store in a JWT. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtData.#ctor"> |
| | | <summary> |
| | | Creates a new instance of <see cref="T:JWT.Builder.JwtData" /> with empty Header and Payload. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtData.#ctor(System.Collections.Generic.IDictionary{System.String,System.Object})"> |
| | | <summary> |
| | | Creates a new instance of <see cref="T:JWT.Builder.JwtData" /> |
| | | </summary> |
| | | <param name="payload">Dictionary that contans the payload</param> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtData.#ctor(System.Collections.Generic.IDictionary{System.String,System.Object},System.Collections.Generic.IDictionary{System.String,System.Object})"> |
| | | <summary> |
| | | Creates a new instance of <see cref="T:JWT.Builder.JwtData" /> |
| | | </summary> |
| | | <param name="header">Dictionary that contains the headers</param> |
| | | <param name="payload">Dictionary that contans the payload</param> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtData.#ctor(System.String)"> |
| | | <summary> |
| | | Creates a new instance of <see cref="T:JWT.Builder.JwtData" /> |
| | | </summary> |
| | | <param name="token">The JWT token</param> |
| | | </member> |
| | | <member name="P:JWT.Builder.JwtData.Header"> |
| | | <summary> |
| | | The header information as a key-value store of the JWT |
| | | </summary> |
| | | </member> |
| | | <member name="P:JWT.Builder.JwtData.Payload"> |
| | | <summary> |
| | | The payload of the JWT as a key-value store |
| | | </summary> |
| | | </member> |
| | | <member name="T:JWT.Builder.JwtHeader"> |
| | | <summary> |
| | | JSON header model with predefined parameter names specified by RFC 7515, see https://tools.ietf.org/html/rfc7515 |
| | | </summary> |
| | | </member> |
| | | <member name="T:JWT.Exceptions.InvalidTokenPartsException"> |
| | | <summary> |
| | | Represents an exception thrown when when a token doesn't consist of 3 delimited by dot parts. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Exceptions.InvalidTokenPartsException.#ctor(System.String)"> |
| | | <summary> |
| | | Creates an instance of <see cref="T:JWT.Exceptions.InvalidTokenPartsException" /> |
| | | </summary> |
| | | <param name="paramName">The name of the parameter that caused the exception</param> |
| | | </member> |
| | | <member name="T:JWT.Exceptions.SignatureVerificationException"> |
| | | <summary> |
| | | Represents an exception thrown when a signature validation fails. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Exceptions.SignatureVerificationException.#ctor(System.String)"> |
| | | <summary> |
| | | Creates an instance of <see cref="T:JWT.Exceptions.SignatureVerificationException" /> |
| | | </summary> |
| | | <param name="message">The error message</param> |
| | | </member> |
| | | <member name="P:JWT.Exceptions.SignatureVerificationException.Expected"> |
| | | <summary> |
| | | Expected key. |
| | | </summary> |
| | | </member> |
| | | <member name="P:JWT.Exceptions.SignatureVerificationException.Received"> |
| | | <summary> |
| | | Received key. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Exceptions.SignatureVerificationException.GetOrDefault``1(System.String)"> |
| | | <summary> |
| | | Retrieves the value for the provided key, or default. |
| | | </summary> |
| | | <typeparam name="T"></typeparam> |
| | | <param name="key">The key</param> |
| | | <returns></returns> |
| | | </member> |
| | | <member name="T:JWT.Exceptions.TokenExpiredException"> |
| | | <summary> |
| | | Represents an exception thrown when when a token is expired. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Exceptions.TokenExpiredException.#ctor(System.String)"> |
| | | <summary> |
| | | Creates an instance of <see cref="T:JWT.Exceptions.TokenExpiredException" /> |
| | | </summary> |
| | | <param name="message">The error message</param> |
| | | </member> |
| | | <member name="P:JWT.Exceptions.TokenExpiredException.PayloadData"> |
| | | <summary> |
| | | The payload. |
| | | </summary> |
| | | </member> |
| | | <member name="P:JWT.Exceptions.TokenExpiredException.Expiration"> |
| | | <summary> |
| | | The expiration DateTime of the token. |
| | | </summary> |
| | | </member> |
| | | <member name="T:JWT.IBase64UrlEncoder"> |
| | | <summary> |
| | | Represents a base64 encoder/decoder. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.IBase64UrlEncoder.Encode(System.Byte[])"> |
| | | <summary> |
| | | Encodes the byte array to a Base64 string. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.IBase64UrlEncoder.Decode(System.String)"> |
| | | <summary> |
| | | Decodes the Base64 string to a byte array. |
| | | </summary> |
| | | </member> |
| | | <member name="T:JWT.IDateTimeProvider"> |
| | | <summary> |
| | | Represents a DateTime provider. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.IDateTimeProvider.GetNow"> |
| | | <summary> |
| | | Gets the current DateTime. |
| | | </summary> |
| | | </member> |
| | | <member name="T:JWT.IJsonSerializer"> |
| | | <summary> |
| | | Provides JSON Serialize and Deserialize. Allows custom serializers used. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.IJsonSerializer.Serialize(System.Object)"> |
| | | <summary> |
| | | Serialize an object to JSON string |
| | | </summary> |
| | | <param name="obj">object</param> |
| | | <returns>JSON string</returns> |
| | | </member> |
| | | <member name="M:JWT.IJsonSerializer.Deserialize``1(System.String)"> |
| | | <summary> |
| | | Deserialize a JSON string to typed object. |
| | | </summary> |
| | | <typeparam name="T">type of object</typeparam> |
| | | <param name="json">JSON string</param> |
| | | <returns>Strongly-typed object</returns> |
| | | </member> |
| | | <member name="T:JWT.IJwtDecoder"> |
| | | <summary> |
| | | Represents a JWT decoder. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.IJwtDecoder.DecodeHeader(System.String)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the header. |
| | | </summary> |
| | | <param name="token">The JWT</param> |
| | | </member> |
| | | <member name="M:JWT.IJwtDecoder.DecodeHeader``1(JWT.JwtParts)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the header as an object. |
| | | </summary> |
| | | <param name="jwt">The JWT</param> |
| | | </member> |
| | | <member name="M:JWT.IJwtDecoder.Decode(JWT.JwtParts)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload. |
| | | </summary> |
| | | <param name="jwt">The JWT</param> |
| | | <returns>A string containing the JSON payload</returns> |
| | | </member> |
| | | <member name="M:JWT.IJwtDecoder.Decode(JWT.JwtParts,System.Byte[],System.Boolean)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload. |
| | | </summary> |
| | | <param name="jwt">The JWT</param> |
| | | <param name="key">The key that were used to sign the JWT</param> |
| | | <param name="verify">Whether to verify the signature (default is true)</param> |
| | | <returns>A string containing the JSON payload</returns> |
| | | </member> |
| | | <member name="M:JWT.IJwtDecoder.Decode(JWT.JwtParts,System.Byte[][],System.Boolean)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload. |
| | | </summary> |
| | | <param name="jwt">The JWT</param> |
| | | <param name="keys">The keys provided which one of them was used to sign the JWT</param> |
| | | <param name="verify">Whether to verify the signature (default is true)</param> |
| | | <returns>A string containing the JSON payload</returns> |
| | | </member> |
| | | <member name="M:JWT.IJwtDecoder.DecodeToObject``1(JWT.JwtParts)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload as an object. |
| | | </summary> |
| | | <typeparam name="T">The type to return</typeparam> |
| | | <param name="jwt">The JWT</param> |
| | | <returns>An object representing the payload</returns> |
| | | </member> |
| | | <member name="M:JWT.IJwtDecoder.DecodeToObject``1(JWT.JwtParts,System.Byte[],System.Boolean)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload as an object. |
| | | </summary> |
| | | <typeparam name="T">The type to return</typeparam> |
| | | <param name="jwt">The JWT</param> |
| | | <param name="key">The key that was used to sign the JWT</param> |
| | | <param name="verify">Whether to verify the signature (default is true)</param> |
| | | <returns>An object representing the payload</returns> |
| | | </member> |
| | | <member name="M:JWT.IJwtDecoder.DecodeToObject``1(JWT.JwtParts,System.Byte[][],System.Boolean)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload as an object. |
| | | </summary> |
| | | <typeparam name="T">The type to return</typeparam> |
| | | <param name="jwt">The JWT</param> |
| | | <param name="keys">The keys which one of them was used to sign the JWT</param> |
| | | <param name="verify">Whether to verify the signature (default is true)</param> |
| | | <returns>An object representing the payload</returns> |
| | | </member> |
| | | <member name="T:JWT.JwtDecoderExtensions"> |
| | | <summary> |
| | | Extension methods for <seealso cref="T:JWT.IJwtDecoder" /> |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoderExtensions.Decode(JWT.IJwtDecoder,System.String)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload. |
| | | </summary> |
| | | <param name="decoder">The decoder instance</param> |
| | | <param name="token">The JWT</param> |
| | | <returns>A string containing the JSON payload</returns> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | <exception cref="T:JWT.Exceptions.InvalidTokenPartsException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoderExtensions.Decode(JWT.IJwtDecoder,JWT.JwtParts)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload. |
| | | </summary> |
| | | <param name="decoder">The decoder instance</param> |
| | | <param name="jwt">The JWT</param> |
| | | <returns>A string containing the JSON payload</returns> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoderExtensions.Decode(JWT.IJwtDecoder,System.String,System.Byte[],System.Boolean)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload. |
| | | </summary> |
| | | <param name="decoder">The decoder instance</param> |
| | | <param name="token">The JWT</param> |
| | | <param name="key">The key that was used to sign the JWT</param> |
| | | <param name="verify">Whether to verify the signature (default is true)</param> |
| | | <returns>A string containing the JSON payload</returns> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | <exception cref="T:JWT.Exceptions.InvalidTokenPartsException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoderExtensions.Decode(JWT.IJwtDecoder,System.String,System.Byte[][],System.Boolean)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload. |
| | | </summary> |
| | | <param name="decoder">The decoder instance</param> |
| | | <param name="token">The JWT</param> |
| | | <param name="keys">The keys that were used to sign the JWT</param> |
| | | <param name="verify">Whether to verify the signature (default is true)</param> |
| | | <returns>A string containing the JSON payload</returns> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | <exception cref="T:JWT.Exceptions.InvalidTokenPartsException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoderExtensions.Decode(JWT.IJwtDecoder,System.String,System.String,System.Boolean)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload as an dictionary. |
| | | </summary> |
| | | <param name="decoder">The decoder instance</param> |
| | | <param name="token">The JWT</param> |
| | | <param name="key">The key that was used to sign the JWT</param> |
| | | <param name="verify">Whether to verify the signature (default is true)</param> |
| | | <returns>An object representing the payload</returns> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoderExtensions.Decode(JWT.IJwtDecoder,System.String,System.String[],System.Boolean)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload as an dictionary. |
| | | </summary> |
| | | <param name="decoder">The decoder instance</param> |
| | | <param name="token">The JWT</param> |
| | | <param name="keys">The key which one of them was used to sign the JWT</param> |
| | | <param name="verify">Whether to verify the signature (default is true)</param> |
| | | <returns>An object representing the payload</returns> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoderExtensions.DecodeToObject``1(JWT.IJwtDecoder,System.String)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload as an object. |
| | | </summary> |
| | | <typeparam name="T">The type to return</typeparam> |
| | | <param name="decoder">The decoder instance</param> |
| | | <param name="token">The JWT</param> |
| | | <returns>An object representing the payload</returns> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoderExtensions.DecodeToObject(JWT.IJwtDecoder,System.String)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload as a dictionary. |
| | | </summary> |
| | | <param name="decoder">The decoder instance</param> |
| | | <param name="token">The JWT</param> |
| | | <returns>An object representing the payload</returns> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoderExtensions.DecodeToObject(JWT.IJwtDecoder,System.String,System.Byte[],System.Boolean)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload as a dictionary. |
| | | </summary> |
| | | <param name="decoder">The decoder instance</param> |
| | | <param name="token">The JWT</param> |
| | | <param name="key">The key that was used to sign the JWT</param> |
| | | <param name="verify">Whether to verify the signature (default is true)</param> |
| | | <returns>An object representing the payload</returns> |
| | | <exception cref = "T:System.ArgumentException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | <exception cref="T:JWT.Exceptions.InvalidTokenPartsException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoderExtensions.DecodeToObject(JWT.IJwtDecoder,System.String,System.Byte[][],System.Boolean)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload as a dictionary. |
| | | </summary> |
| | | <param name="decoder">The decoder instance</param> |
| | | <param name="token">The JWT</param> |
| | | <param name="keys">The keys that were used to sign the JWT</param> |
| | | <param name="verify">Whether to verify the signature (default is true)</param> |
| | | <returns>A string containing the JSON payload</returns> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | <exception cref="T:JWT.Exceptions.InvalidTokenPartsException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoderExtensions.DecodeToObject``1(JWT.IJwtDecoder,System.String,System.String,System.Boolean)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload as an object. |
| | | </summary> |
| | | <typeparam name="T">The type to return</typeparam> |
| | | <param name="decoder">The decoder instance</param> |
| | | <param name="token">The JWT</param> |
| | | <param name="key">The key that was used to sign the JWT</param> |
| | | <param name="verify">Whether to verify the signature (default is true)</param> |
| | | <returns>An object representing the payload</returns> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoderExtensions.DecodeToObject``1(JWT.IJwtDecoder,System.String,System.Byte[],System.Boolean)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload as an object. |
| | | </summary> |
| | | <typeparam name="T">The type to return</typeparam> |
| | | <param name="decoder">The decoder instance</param> |
| | | <param name="token">The JWT</param> |
| | | <param name="key">The key that was used to sign the JWT</param> |
| | | <param name="verify">Whether to verify the signature (default is true)</param> |
| | | <returns>An object representing the payload</returns> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoderExtensions.DecodeToObject``1(JWT.IJwtDecoder,System.String,System.Byte[][],System.Boolean)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload as an object. |
| | | </summary> |
| | | <typeparam name="T">The type to return</typeparam> |
| | | <param name="decoder">The decoder instance</param> |
| | | <param name="token">The JWT</param> |
| | | <param name="keys">The keys provided which one of them was used to sign the JWT</param> |
| | | <param name="verify">Whether to verify the signature (default is true)</param> |
| | | <returns>An object representing the payload</returns> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoderExtensions.DecodeToObject``1(JWT.IJwtDecoder,System.String,System.String[],System.Boolean)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload as an object. |
| | | </summary> |
| | | <typeparam name="T">The type to return</typeparam> |
| | | <param name="decoder">The decoder instance</param> |
| | | <param name="token">The JWT</param> |
| | | <param name="keys">The keys provided which one of them was used to sign the JWT</param> |
| | | <param name="verify">Whether to verify the signature (default is true)</param> |
| | | <returns>An object representing the payload</returns> |
| | | </member> |
| | | <member name="T:JWT.IJwtEncoder"> |
| | | <summary> |
| | | Represents a JWT encoder. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.IJwtEncoder.Encode(System.Collections.Generic.IDictionary{System.String,System.Object},System.Object,System.Byte[])"> |
| | | <summary> |
| | | Creates a JWT given a header, a payload, the signing key, and the algorithm to use. |
| | | </summary> |
| | | <param name="extraHeaders">An arbitrary set of extra headers. Will be augmented with the standard "typ" and "alg" headers</param> |
| | | <param name="payload">An arbitrary payload (must be serializable to JSON)</param> |
| | | <param name="key">The key bytes used to sign the token</param> |
| | | <returns>The generated JWT</returns> |
| | | </member> |
| | | <member name="T:JWT.JwtEncoderExtensions"> |
| | | <summary> |
| | | Extension methods for <seealso cref="T:JWT.IJwtEncoder" /> |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.JwtEncoderExtensions.Encode(JWT.IJwtEncoder,System.Object,System.String)"> |
| | | <summary> |
| | | Creates a JWT given a payload, the signing key, and the algorithm to use. |
| | | </summary> |
| | | <param name="encoder">The encoder instance</param> |
| | | <param name="payload">An arbitrary payload (must be serializable to JSON)</param> |
| | | <param name="key">The key used to sign the token</param> |
| | | <returns>The generated JWT</returns> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtEncoderExtensions.Encode(JWT.IJwtEncoder,System.Object,System.Byte[])"> |
| | | <summary> |
| | | Creates a JWT given a payload, the signing key, and the algorithm to use. |
| | | </summary> |
| | | <param name="encoder">The encoder instance</param> |
| | | <param name="payload">An arbitrary payload (must be serializable to JSON)</param> |
| | | <param name="key">The key used to sign the token</param> |
| | | <returns>The generated JWT</returns> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtEncoderExtensions.Encode(JWT.IJwtEncoder,System.Collections.Generic.IDictionary{System.String,System.Object},System.Object,System.String)"> |
| | | <summary> |
| | | Creates a JWT given a set of arbitrary extra headers, a payload, the signing key, and the algorithm to use. |
| | | </summary> |
| | | <param name="encoder">The encoder instance</param> |
| | | <param name="extraHeaders">An arbitrary set of extra headers. Will be augmented with the standard "typ" and "alg" headers</param> |
| | | <param name="payload">An arbitrary payload (must be serializable to JSON)</param> |
| | | <param name="key">The key bytes used to sign the token</param> |
| | | <returns>The generated JWT</returns> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | </member> |
| | | <member name="T:JWT.IJwtValidator"> |
| | | <summary> |
| | | Represents a JWT validator. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.IJwtValidator.Validate(System.String,System.String,System.String[])"> |
| | | <summary> |
| | | Given the JWT, verifies its signature correctness. |
| | | </summary> |
| | | <param name="decodedPayload">>An arbitrary payload (already serialized to JSON)</param> |
| | | <param name="signature">Decoded body</param> |
| | | <param name="decodedSignatures">The signatures to validate with</param> |
| | | </member> |
| | | <member name="M:JWT.IJwtValidator.Validate(System.String,JWT.Algorithms.IAsymmetricAlgorithm,System.Byte[],System.Byte[])"> |
| | | <summary> |
| | | Given the JWT, verifies its signature correctness. |
| | | </summary> |
| | | <remarks> |
| | | Used by the asymmetric algorithms only. |
| | | </remarks> |
| | | <param name="decodedPayload">>An arbitrary payload (already serialized to JSON)</param> |
| | | <param name="alg">The asymmetric algorithm to validate with</param> |
| | | <param name="bytesToSign">The header and payload bytes to validate</param> |
| | | <param name="decodedSignature">The signature to validate with</param> |
| | | </member> |
| | | <member name="M:JWT.IJwtValidator.TryValidate(System.String,System.String,System.String,System.Exception@)"> |
| | | <summary> |
| | | Given the JWT, verifies its signature correctness without throwing an exception but returning it instead. |
| | | </summary> |
| | | <param name="payloadJson">>An arbitrary payload (already serialized to JSON)</param> |
| | | <param name="signature">Decoded body</param> |
| | | <param name="decodedSignature">The signature to validate with</param> |
| | | <param name="ex">The resulting validation exception, if any</param> |
| | | <returns>Returns <c>true</c> if exception is JWT is valid and exception is null, otherwise false</returns> |
| | | </member> |
| | | <member name="M:JWT.IJwtValidator.TryValidate(System.String,System.String,System.String[],System.Exception@)"> |
| | | <summary> |
| | | Given the JWT, verifies its signature correctness without throwing an exception but returning it instead. |
| | | </summary> |
| | | <param name="payloadJson">>An arbitrary payload (already serialized to JSON)</param> |
| | | <param name="signature">Decoded body</param> |
| | | <param name="decodedSignature">The signatures to validate with</param> |
| | | <param name="ex">The resulting validation exception, if any</param> |
| | | <returns>Returns <c>true</c> if exception is JWT is valid and exception is null, otherwise false</returns> |
| | | </member> |
| | | <member name="M:JWT.IJwtValidator.TryValidate(System.String,JWT.Algorithms.IAsymmetricAlgorithm,System.Byte[],System.Byte[],System.Exception@)"> |
| | | <summary> |
| | | Given the JWT, verifies its signatures correctness without throwing an exception but returning it instead. |
| | | </summary> |
| | | <param name="payloadJson">>An arbitrary payload (already serialized to JSON)</param> |
| | | <param name="alg">The asymmetric algorithm to validate with</param> |
| | | <param name="bytesToSign">The header and payload bytes to validate</param> |
| | | <param name="decodedSignature">The decodedSignatures to validate with</param> |
| | | <param name="ex">Validation exception, if any</param> |
| | | <returns>True if exception is JWT is valid and exception is null, otherwise false</returns> |
| | | </member> |
| | | <member name="T:JWT.JwtBase64UrlEncoder"> |
| | | <summary> |
| | | Base64 encoding/decoding implementation according to the JWT spec |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.JwtBase64UrlEncoder.Encode(System.Byte[])"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtBase64UrlEncoder.Decode(System.String)"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:System.FormatException" /> |
| | | </member> |
| | | <member name="T:JWT.JwtDecoder"> |
| | | <summary> |
| | | Decodes JWT. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoder.#ctor(JWT.IJsonSerializer,JWT.IBase64UrlEncoder)"> |
| | | <summary> |
| | | Creates an instance of <see cref="T:JWT.JwtDecoder" /> |
| | | </summary> |
| | | <remarks> |
| | | This overload supplies no <see cref="T:JWT.IJwtValidator" /> and no <see cref="T:JWT.Algorithms.IAlgorithmFactory" /> so the resulting decoder cannot be used for signature validation. |
| | | </remarks> |
| | | <param name="jsonSerializer">The Json Serializer</param> |
| | | <param name="urlEncoder">The Base64 URL Encoder</param> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoder.#ctor(JWT.IJsonSerializer,JWT.IJwtValidator,JWT.IBase64UrlEncoder,JWT.Algorithms.IAlgorithmFactory)"> |
| | | <summary> |
| | | Creates an instance of <see cref="T:JWT.JwtDecoder" /> |
| | | </summary> |
| | | <param name="jsonSerializer">The Json Serializer</param> |
| | | <param name="jwtValidator">The Jwt validator</param> |
| | | <param name="urlEncoder">The Base64 URL Encoder</param> |
| | | <param name="algFactory">The Algorithm Factory</param> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoder.#ctor(JWT.IJsonSerializer,JWT.IJwtValidator,JWT.IBase64UrlEncoder,JWT.Algorithms.IJwtAlgorithm)"> |
| | | <summary> |
| | | Creates an instance of <see cref="T:JWT.JwtDecoder" /> |
| | | </summary> |
| | | <param name="jsonSerializer">The Json Serializer</param> |
| | | <param name="jwtValidator">The Jwt validator</param> |
| | | <param name="urlEncoder">The Base64 URL Encoder</param> |
| | | <param name="algorithm">The Algorithm</param> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoder.DecodeHeader(System.String)"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:JWT.Exceptions.InvalidTokenPartsException" /> |
| | | <exception cref="T:System.FormatException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoder.DecodeHeader``1(JWT.JwtParts)"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | <exception cref="T:System.FormatException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoder.Decode(JWT.JwtParts)"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoder.Decode(JWT.JwtParts,System.Byte[],System.Boolean)"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | <exception cref="T:JWT.Exceptions.InvalidTokenPartsException" /> |
| | | <exception cref="T:System.FormatException" /> |
| | | <exception cref="T:JWT.Exceptions.SignatureVerificationException" /> |
| | | <exception cref="T:JWT.Exceptions.TokenExpiredException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoder.Decode(JWT.JwtParts,System.Byte[][],System.Boolean)"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | <exception cref="T:System.FormatException" /> |
| | | <exception cref="T:JWT.Exceptions.SignatureVerificationException" /> |
| | | <exception cref="T:JWT.Exceptions.TokenExpiredException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoder.DecodeToObject``1(JWT.JwtParts)"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | <exception cref="T:System.FormatException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoder.DecodeToObject``1(JWT.JwtParts,System.Byte[],System.Boolean)"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | <exception cref="T:System.FormatException" /> |
| | | <exception cref="T:JWT.Exceptions.SignatureVerificationException" /> |
| | | <exception cref="T:JWT.Exceptions.TokenExpiredException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoder.DecodeToObject``1(JWT.JwtParts,System.Byte[][],System.Boolean)"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | <exception cref="T:System.FormatException" /> |
| | | <exception cref="T:JWT.Exceptions.SignatureVerificationException" /> |
| | | <exception cref="T:JWT.Exceptions.TokenExpiredException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoder.Validate(System.String[],System.Byte[])"> |
| | | <summary> |
| | | Prepares data before calling <see cref="T:JWT.IJwtValidator" /> |
| | | </summary> |
| | | <param name="parts">The array representation of a JWT</param> |
| | | <param name="key">The key that was used to sign the JWT</param> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | <exception cref="T:System.FormatException" /> |
| | | <exception cref="T:JWT.Exceptions.SignatureVerificationException" /> |
| | | <exception cref="T:JWT.Exceptions.TokenExpiredException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoder.Validate(System.String[],System.Byte[][])"> |
| | | <summary> |
| | | Prepares data before calling <see cref="T:JWT.IJwtValidator" /> |
| | | </summary> |
| | | <param name="parts">The array representation of a JWT</param> |
| | | <param name="keys">The keys provided which one of them was used to sign the JWT</param> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | <exception cref="T:System.FormatException" /> |
| | | <exception cref="T:JWT.Exceptions.SignatureVerificationException" /> |
| | | <exception cref="T:JWT.Exceptions.TokenExpiredException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoder.Validate(JWT.JwtParts,System.Byte[][])"> |
| | | <summary> |
| | | Prepares data before calling <see cref="T:JWT.IJwtValidator" /> |
| | | </summary> |
| | | <param name="jwt">The JWT parts</param> |
| | | <param name="keys">The keys provided which one of them was used to sign the JWT</param> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | <exception cref="T:System.FormatException" /> |
| | | <exception cref="T:JWT.Exceptions.SignatureVerificationException" /> |
| | | <exception cref="T:JWT.Exceptions.TokenExpiredException" /> |
| | | </member> |
| | | <member name="P:JWT.JwtDecoderContext.Token"> |
| | | <summary> |
| | | Unmodified JWT. |
| | | </summary> |
| | | </member> |
| | | <member name="P:JWT.JwtDecoderContext.Header"> |
| | | <summary> |
| | | Deserialized JWT header. |
| | | </summary> |
| | | </member> |
| | | <member name="P:JWT.JwtDecoderContext.Payload"> |
| | | <summary> |
| | | Decoded JWT payload. |
| | | </summary> |
| | | </member> |
| | | <member name="T:JWT.JwtEncoder"> |
| | | <summary> |
| | | Encodes Jwt. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.JwtEncoder.#ctor(JWT.Algorithms.IJwtAlgorithm,JWT.IJsonSerializer,JWT.IBase64UrlEncoder)"> |
| | | <summary> |
| | | Creates an instance of <see cref="T:JWT.JwtEncoder" /> |
| | | </summary> |
| | | <param name="jsonSerializer">The Json Serializer</param> |
| | | <param name="algorithm">The Jwt Algorithm</param> |
| | | <param name="urlEncoder">The Base64 URL Encoder</param> |
| | | </member> |
| | | <member name="M:JWT.JwtEncoder.Encode(System.Collections.Generic.IDictionary{System.String,System.Object},System.Object,System.Byte[])"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | </member> |
| | | <member name="T:JWT.JwtParts"> |
| | | <summary> |
| | | Represent the parts of a JWT |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.JwtParts.#ctor(System.String)"> |
| | | <summary> |
| | | Creates a new instance of <see cref="T:JWT.JwtParts" /> from the string representation of a JWT |
| | | </summary> |
| | | <param name="token">The string representation of a JWT</param> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtParts.#ctor(System.String[])"> |
| | | <summary> |
| | | Creates a new instance of <see cref="T:JWT.JwtParts" /> from the array representation of a JWT |
| | | </summary> |
| | | <param name="parts">The array representation of a JWT</param> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | </member> |
| | | <member name="P:JWT.JwtParts.Header"> |
| | | <summary> |
| | | Gets the Header part of a JWT |
| | | </summary> |
| | | </member> |
| | | <member name="P:JWT.JwtParts.Payload"> |
| | | <summary> |
| | | Gets the Payload part of a JWT |
| | | </summary> |
| | | </member> |
| | | <member name="P:JWT.JwtParts.Signature"> |
| | | <summary> |
| | | Gets the Signature part of a JWT |
| | | </summary> |
| | | </member> |
| | | <member name="P:JWT.JwtParts.Parts"> |
| | | <summary> |
| | | Gets the parts of a JWT |
| | | </summary> |
| | | </member> |
| | | <member name="T:JWT.JwtParts.JwtPartsIndex"> |
| | | <summary> |
| | | Helper enum to get the correct part from the array representation of a JWT parts |
| | | </summary> |
| | | </member> |
| | | <member name="T:JWT.JwtValidator"> |
| | | <summary> |
| | | Jwt validator. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.JwtValidator.#ctor(JWT.IJsonSerializer,JWT.IDateTimeProvider)"> |
| | | <summary> |
| | | Creates an instance of <see cref="T:JWT.JwtValidator" /> |
| | | </summary> |
| | | <param name="jsonSerializer">The Json Serializer</param> |
| | | <param name="dateTimeProvider">The DateTime Provider</param> |
| | | </member> |
| | | <member name="M:JWT.JwtValidator.Validate(System.String,System.String,System.String[])"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:JWT.Exceptions.SignatureVerificationException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtValidator.Validate(System.String,JWT.Algorithms.IAsymmetricAlgorithm,System.Byte[],System.Byte[])"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:JWT.Exceptions.SignatureVerificationException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtValidator.TryValidate(System.String,System.String,System.String,System.Exception@)"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtValidator.TryValidate(System.String,System.String,System.String[],System.Exception@)"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtValidator.TryValidate(System.String,JWT.Algorithms.IAsymmetricAlgorithm,System.Byte[],System.Byte[],System.Exception@)"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtValidator.CompareCryptoWithSignature(System.String,System.String)"> |
| | | <remarks>In the future this method can be opened for extension hence made protected virtual</remarks> |
| | | </member> |
| | | <member name="M:JWT.JwtValidator.ValidateExpClaim(System.Collections.Generic.IReadOnlyDictionary{System.String,System.Object},System.Double)"> |
| | | <summary> |
| | | Verifies the 'exp' claim. |
| | | </summary> |
| | | <remarks>See https://tools.ietf.org/html/rfc7515#section-4.1.4</remarks> |
| | | <exception cref="T:JWT.Exceptions.SignatureVerificationException" /> |
| | | <exception cref="T:JWT.Exceptions.TokenExpiredException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtValidator.ValidateNbfClaim(System.Collections.Generic.IReadOnlyDictionary{System.String,System.Object},System.Double)"> |
| | | <summary> |
| | | Verifies the 'nbf' claim. |
| | | </summary> |
| | | <remarks>See https://tools.ietf.org/html/rfc7515#section-4.1.5</remarks> |
| | | <exception cref="T:JWT.Exceptions.SignatureVerificationException" /> |
| | | </member> |
| | | <member name="T:JWT.Serializers.JsonNetSerializer"> |
| | | <summary> |
| | | JSON serializer using Newtonsoft.Json implementation. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Serializers.JsonNetSerializer.#ctor"> |
| | | <summary> |
| | | Creates a new instance of <see cref="T:JWT.Serializers.JsonNetSerializer" /> |
| | | </summary> |
| | | <remarks>Uses <see cref="M:Newtonsoft.Json.JsonSerializer.CreateDefault" /> as internal serializer</remarks> |
| | | </member> |
| | | <member name="M:JWT.Serializers.JsonNetSerializer.#ctor(Newtonsoft.Json.JsonSerializer)"> |
| | | <summary> |
| | | Creates a new instance of <see cref="T:JWT.Serializers.JsonNetSerializer" /> |
| | | </summary> |
| | | <param name="serializer">Internal <see cref="T:Newtonsoft.Json.JsonSerializer" /> to use for serialization</param> |
| | | </member> |
| | | <member name="M:JWT.Serializers.JsonNetSerializer.Serialize(System.Object)"> |
| | | <inheritdoc /> |
| | | </member> |
| | | <member name="M:JWT.Serializers.JsonNetSerializer.Deserialize``1(System.String)"> |
| | | <inheritdoc /> |
| | | </member> |
| | | <member name="P:JWT.UnixEpoch.Value"> |
| | | <summary> |
| | | Describes a point in time, defined as the number of seconds that have elapsed since 00:00:00 UTC, Thursday, 1 January 1970, not counting leap seconds. |
| | | See https://en.wikipedia.org/wiki/Unix_time /> |
| | | </summary> |
| | | </member> |
| | | <member name="T:JWT.UtcDateTimeProvider"> |
| | | <summary> |
| | | Provider for UTC DateTime. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.UtcDateTimeProvider.GetNow"> |
| | | <summary> |
| | | Retuns the current time (UTC). |
| | | </summary> |
| | | <returns></returns> |
| | | </member> |
| | | </members> |
| | | </doc> |
| New file |
| | |
| | | <?xml version="1.0"?> |
| | | <doc> |
| | | <assembly> |
| | | <name>Microsoft.AI.DependencyCollector</name> |
| | | </assembly> |
| | | <members> |
| | | <member name="P:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ClientServerDependencyTracker.PretendProfilerIsAttached"> |
| | | <summary> |
| | | Gets or sets a value indicating whether pretending the profiler is attached or not. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ClientServerDependencyTracker.BeginTracking(Microsoft.ApplicationInsights.TelemetryClient)"> |
| | | <summary> |
| | | The function that needs to be called before sending a request to the server. Creates and initializes dependency telemetry item. |
| | | </summary> |
| | | <param name="telemetryClient">Telemetry client object to initialize the context of the telemetry item.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ClientServerDependencyTracker.EndTracking(Microsoft.ApplicationInsights.TelemetryClient,Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry)"> |
| | | <summary> |
| | | Function that needs to be invoked after the request call to the sever. Computes the duration of the request and tracks the dependency telemetry |
| | | item. |
| | | </summary> |
| | | <param name="telemetryClient">Telemetry client object to track the telemetry item.</param> |
| | | <param name="telemetry">Telemetry item to compute the duration and track.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ClientServerDependencyTracker.GetTupleForWebDependencies(System.Net.WebRequest)"> |
| | | <summary> |
| | | Gets the tuple from either conditional weak table or cache (based on the framework for the input web request). |
| | | </summary> |
| | | <param name="webRequest">Target web request.</param> |
| | | <returns>Tuple of dependency telemetry and a boolean that tells if the tuple is custom created or not.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ClientServerDependencyTracker.AddTupleForWebDependencies(System.Net.WebRequest,Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry,System.Boolean)"> |
| | | <summary> |
| | | Adds the tuple to either conditional weak table or cache (based on the framework for the input web request). |
| | | </summary> |
| | | <param name="webRequest">Target web request.</param> |
| | | <param name="telemetry">Dependency telemetry item to add to the table for the corresponding web request.</param> |
| | | <param name="isCustomCreated">Boolean value that tells if the current telemetry item is being added by the customer or not.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ClientServerDependencyTracker.GetTupleForSqlDependencies(System.Data.SqlClient.SqlCommand)"> |
| | | <summary> |
| | | Gets the tuple from either conditional weak table or cache (based on the framework for the input SQL request). |
| | | </summary> |
| | | <param name="sqlRequest">Target SQL request.</param> |
| | | <returns>Tuple of dependency telemetry and a boolean that tells if the tuple is custom created or not.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ClientServerDependencyTracker.AddTupleForSqlDependencies(System.Data.SqlClient.SqlCommand,Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry,System.Boolean)"> |
| | | <summary> |
| | | Adds the tuple to either conditional weak table or cache (based on the framework for the input SQL request). |
| | | </summary> |
| | | <param name="sqlRequest">Target SQL request.</param> |
| | | <param name="telemetry">Dependency telemetry item to add to the table for the corresponding SQL request.</param> |
| | | <param name="isCustomCreated">Boolean value that tells if the current telemetry item is being added by the customer or not.</param> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.DependencyCollector.Implementation.WebRequestDependencyTrackingHelpers"> |
| | | <summary> |
| | | Client-Server dependency tracking. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.WebRequestDependencyTrackingHelpers.SetUserAndSessionContextForWebRequest(Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry,System.Net.WebRequest)"> |
| | | <summary> |
| | | Populates WebRequest using the user, session initialized in telemetry item. |
| | | </summary> |
| | | <param name="dependencyTelemetry">Dependency telemetry item.</param> |
| | | <param name="webRequest">Http web request.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.WebRequestDependencyTrackingHelpers.SetCorrelationContextForWebRequest(Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry,System.Net.WebRequest)"> |
| | | <summary> |
| | | Populates WebRequest using the operation context in telemetry item. |
| | | </summary> |
| | | <param name="dependencyTelemetry">Dependency telemetry item.</param> |
| | | <param name="webRequest">Http web request.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.WebRequestDependencyTrackingHelpers.CreateAndAddCookie(System.Net.WebRequest,System.String,System.String)"> |
| | | <summary> |
| | | Creates and adds cookie to the web request. |
| | | </summary> |
| | | <param name="webRequest">Web request object.</param> |
| | | <param name="key">Cookie key.</param> |
| | | <param name="value">Cookie value.</param> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.DependencyCollector.Implementation.DependencyCollectorEventSource"> |
| | | <summary> |
| | | ETW EventSource tracing class. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.DependencyCollectorEventSource.DependencyTelemetryItemIsNullWarning(System.String)"> |
| | | <summary> |
| | | Logs the information when the DependencyTelemetry item is null as warning. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.DependencyCollectorEventSource.WebRequestIsNullWarning(System.String)"> |
| | | <summary> |
| | | Logs the information when the HttpWebRequest is null as warning. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.DependencyCollectorEventSource.TrackingAnExistingTelemetryItemVerbose(System.String)"> |
| | | <summary> |
| | | Logs the information when a telemetry item that is already existing in the tables (that is currently being tracked) is tracked again. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.DependencyCollectorEventSource.TelemetryToTrackIsNullWarning(System.String)"> |
| | | <summary> |
| | | Logs the information when the telemetry item to track is null. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.DependencyCollector.Implementation.DependencyCollectorEventSource.Keywords"> |
| | | <summary> |
| | | Keywords for the <see cref="T:Microsoft.ApplicationInsights.DependencyCollector.Implementation.DependencyCollectorEventSource"/>. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.DependencyCollector.Implementation.DependencyCollectorEventSource.Keywords.UserActionable"> |
| | | <summary> |
| | | Key word for user actionable events. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.DependencyCollector.Implementation.DependencyCollectorEventSource.Keywords.RddEventKeywords"> |
| | | <summary> |
| | | Key word for resource discovery module failures. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkHttpEventListener"> |
| | | <summary> |
| | | Provides methods for listening to events from FrameworkEventSource for HTTP. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkHttpEventListener.HttpProcessingFramework"> |
| | | <summary> |
| | | The Http processor. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkHttpEventListener.FrameworkEventSourceName"> |
| | | <summary> |
| | | The Framework EventSource name. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkHttpEventListener.BeginGetResponseEventId"> |
| | | <summary> |
| | | BeginGetResponse Event ID. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkHttpEventListener.EndGetResponseEventId"> |
| | | <summary> |
| | | EndGetResponse Event ID. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkHttpEventListener.BeginGetRequestStreamEventId"> |
| | | <summary> |
| | | BeginGetRequestStream Event ID. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkHttpEventListener.EndGetRequestStreamEventId"> |
| | | <summary> |
| | | EndGetRequestStream Event ID. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkHttpEventListener.Dispose"> |
| | | <summary> |
| | | Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkHttpEventListener.OnEventSourceCreated(System.Diagnostics.Tracing.EventSource)"> |
| | | <summary> |
| | | Enables HTTP event source when EventSource is created. Called for all existing |
| | | event sources when the event listener is created and when a new event source is attached to the listener. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkHttpEventListener.OnEventWritten(System.Diagnostics.Tracing.EventWrittenEventArgs)"> |
| | | <summary> |
| | | Called whenever an event has been written by an event source for which the event listener has enabled events. |
| | | </summary> |
| | | <param name="eventData">The event arguments that describe the event.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkHttpEventListener.OnBeginGetResponse(System.Diagnostics.Tracing.EventWrittenEventArgs)"> |
| | | <summary> |
| | | Called when a postfix of a (HttpWebRequest|FileWebRequest|FtpWebRequest).BeginGetResponse method has been invoked. |
| | | </summary> |
| | | <param name="eventData">The event arguments that describe the event.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkHttpEventListener.OnEndGetResponse(System.Diagnostics.Tracing.EventWrittenEventArgs)"> |
| | | <summary> |
| | | Called when a postfix of a (HttpWebRequest|FileWebRequest|FtpWebRequest).EndGetResponse method has been invoked. |
| | | </summary> |
| | | <param name="eventData">The event arguments that describe the event.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkHttpEventListener.OnBeginGetRequestStream(System.Diagnostics.Tracing.EventWrittenEventArgs)"> |
| | | <summary> |
| | | Called when a postfix of a (HttpWebRequest|FileWebRequest|FtpWebRequest).BeginGetRequestStream method has been invoked. |
| | | </summary> |
| | | <param name="eventData">The event arguments that describe the event.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkHttpProcessing.OnBeginHttpCallback(System.Int64,System.String)"> |
| | | <summary> |
| | | On begin callback from Framework event source. |
| | | </summary> |
| | | <param name="id">This object.</param> |
| | | <param name="resourceName">URI of the web request.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkHttpProcessing.OnEndHttpCallback(System.Int64,System.Nullable{System.Boolean},System.Boolean,System.Nullable{System.Int32})"> |
| | | <summary> |
| | | On end callback from Framework event source. |
| | | </summary> |
| | | <param name="id">The id.</param> |
| | | <param name="success">The success to indicate if the dependency call completed successfully or not.</param> |
| | | <param name="synchronous">The synchronous flag to indicate if the dependency call was synchronous or not.</param> |
| | | <param name="statusCode">The HTTP status code of the response.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkHttpProcessing.Dispose"> |
| | | <summary> |
| | | Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerHttpProcessing"> |
| | | <summary> |
| | | Concrete class with all processing logic to generate RDD data from the calls backs |
| | | received from Profiler instrumentation for HTTP . |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerHttpProcessing.#ctor(Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration,System.String,Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.ObjectInstanceBasedOperationHolder)"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerHttpProcessing"/> class. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerHttpProcessing.OnBeginForGetResponse(System.Object)"> |
| | | <summary> |
| | | On begin callback for GetResponse. |
| | | </summary> |
| | | <param name="thisObj">This object.</param> |
| | | <returns>The context for end callback.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerHttpProcessing.OnEndForGetResponse(System.Object,System.Object,System.Object)"> |
| | | <summary> |
| | | On end callback for GetResponse. |
| | | </summary> |
| | | <param name="context">The context.</param> |
| | | <param name="returnValue">The return value.</param> |
| | | <param name="thisObj">This object.</param> |
| | | <returns>The resulting return value.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerHttpProcessing.OnExceptionForGetResponse(System.Object,System.Object,System.Object)"> |
| | | <summary> |
| | | On exception callback for GetResponse callback. |
| | | </summary> |
| | | <param name="context">The context.</param> |
| | | <param name="exception">The exception object.</param> |
| | | <param name="thisObj">This object.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerHttpProcessing.OnBeginForGetRequestStream(System.Object,System.Object)"> |
| | | <summary> |
| | | On begin callback for GetRequestStream callback. |
| | | </summary> |
| | | <param name="thisObj">This object.</param> |
| | | <param name="transportContext">The transport context parameter.</param> |
| | | <returns>The context for end callback.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerHttpProcessing.OnExceptionForGetRequestStream(System.Object,System.Object,System.Object,System.Object)"> |
| | | <summary> |
| | | On exception for GetRequestStream callback. |
| | | Note: There is no call back required for GetRequestStream except on exception cases. |
| | | </summary> |
| | | <param name="context">The context.</param> |
| | | <param name="exception">The exception.</param> |
| | | <param name="thisObj">This object.</param> |
| | | <param name="transportContext">The transport context parameter.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerHttpProcessing.OnBeginForBeginGetResponse(System.Object,System.Object,System.Object)"> |
| | | <summary> |
| | | On begin for BeginGetResponse callback. |
| | | </summary> |
| | | <param name="thisObj">This object.</param> |
| | | <param name="callback">The callback parameter.</param> |
| | | <param name="state">The state parameter.</param> |
| | | <returns>The context for end callback.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerHttpProcessing.OnEndForEndGetResponse(System.Object,System.Object,System.Object,System.Object)"> |
| | | <summary> |
| | | On end for EndGetResponse callbacks. |
| | | </summary> |
| | | <param name="context">The context.</param> |
| | | <param name="returnValue">The return value.</param> |
| | | <param name="thisObj">This object.</param> |
| | | <param name="asyncResult">The asyncResult parameter.</param> |
| | | <returns>The return value passed.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerHttpProcessing.OnExceptionForEndGetResponse(System.Object,System.Object,System.Object,System.Object)"> |
| | | <summary> |
| | | On exception for EndGetResponse callbacks. |
| | | </summary> |
| | | <param name="context">The context.</param> |
| | | <param name="exception">The exception.</param> |
| | | <param name="thisObj">This object.</param> |
| | | <param name="asyncResult">The asyncResult parameter.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerHttpProcessing.OnBeginForBeginGetRequestStream(System.Object,System.Object,System.Object)"> |
| | | <summary> |
| | | On begin for BeginGetRequestStream callback. |
| | | </summary> |
| | | <param name="thisObj">This object.</param> |
| | | <param name="callback">The callback parameter.</param> |
| | | <param name="state">The state parameter.</param> |
| | | <returns>The context for end callback.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerHttpProcessing.OnExceptionForEndGetRequestStream(System.Object,System.Object,System.Object,System.Object,System.Object)"> |
| | | <summary> |
| | | On exception for EndGetRequestStream callback. |
| | | Note: There is no call back required for EndGetRequestStream except on exception cases. |
| | | </summary> |
| | | <param name="context">The context.</param> |
| | | <param name="exception">The exception.</param> |
| | | <param name="thisObj">This object.</param> |
| | | <param name="asyncResult">The asyncResult parameter.</param> |
| | | <param name="transportContext">The transportContext parameter.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerHttpProcessing.GetResourceName(System.Object)"> |
| | | <summary> |
| | | Gets HTTP request resource name. |
| | | </summary> |
| | | <param name="thisObj">Represents web request.</param> |
| | | <returns>The resource name if possible otherwise empty string.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerHttpProcessing.OnBegin(System.Object,System.Boolean)"> |
| | | <summary> |
| | | Common helper for all Begin Callbacks. |
| | | </summary> |
| | | <param name="thisObj">This object.</param> |
| | | <param name="isAsyncCall">Indicates if the method used is async or not.</param> |
| | | <returns>Null object as all context is maintained in this class via weak tables.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerHttpProcessing.OnEnd(System.Object,System.Object,System.Object)"> |
| | | <summary> |
| | | Common helper for all End Callbacks. |
| | | </summary> |
| | | <param name="exception">The exception object if any.</param> |
| | | <param name="thisObj">This object.</param> |
| | | <param name="returnValue">Return value of the function if any.</param> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1"> |
| | | <summary> |
| | | The implementation of cache provider for Windows Phone and Windows Store as MemoryCache is not available there. |
| | | </summary> |
| | | <typeparam name="TValue">Type of items to store in the cache.</typeparam> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1.readerWriterLock"> |
| | | <summary> |
| | | Reader-Writer Lock for thread safety. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1.dictionary"> |
| | | <summary> |
| | | Dictionary of cache items for fast Get and Contains operations. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1.sortedList"> |
| | | <summary> |
| | | Cache items sorted by the time of adding to cache. Required for to clear fast cache items when items are expired. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1.maxSize"> |
| | | <summary> |
| | | The maximum number of elements in the cache to avoid out of memory crashes. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1.timer"> |
| | | <summary> |
| | | Timer for clearing expired cache items on recurring bases. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1.expirationMilliseconds"> |
| | | <summary> |
| | | The duration in milliseconds after which item in the cache is expired. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1.#ctor(System.Int32,System.Int32,System.Boolean)"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1" /> class. |
| | | </summary> |
| | | <param name="expirationMilliseconds">Expiration timeout in milliseconds for an object to live in the cache.</param> |
| | | <param name="maxSize">Maximum number of entries to cache (adjustable at runtime with MaxSize property).</param> |
| | | <param name="synchronized">True to use a reader-writer lock to protect the data in the MemoryCacheList; false if the caller will handle synchronization.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1.Contains(System.Int64)"> |
| | | <summary> |
| | | Checks whether the cache entry already exists in the cache. |
| | | </summary> |
| | | <param name="key">A unique identifier for the cache entry.</param> |
| | | <returns>true if the cache contains a cache entry with the same key value as key; otherwise, false.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1.Get(System.Int64)"> |
| | | <summary> |
| | | Gets the specified cache entry from the cache. |
| | | </summary> |
| | | <param name="key">A unique identifier for the cache entry.</param> |
| | | <returns>A reference to the cache entry identified by key if the entry exists; otherwise, null.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1.Set(System.Int64,`0)"> |
| | | <summary> |
| | | Inserts a cache entry into the cache. |
| | | </summary> |
| | | <param name="key">A unique identifier for the cache entry.</param> |
| | | <param name="value">The object to insert.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1.Remove(System.Int64)"> |
| | | <summary> |
| | | Removes a specific key from the cache. |
| | | </summary> |
| | | <param name="key">Key to remove.</param> |
| | | <returns>An object that represents the value of the removed cache entry that was specified by the key, or null if the specified entry was not found.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1.Dispose"> |
| | | <summary> |
| | | Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1.ClearExpiredCacheItems(System.Object)"> |
| | | <summary> |
| | | The timer callback that clears expired items in the cache. |
| | | </summary> |
| | | <param name="state">An object containing information to be used by the callback method, or null.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1.Add(System.Int64,`0,System.Boolean)"> |
| | | <summary> |
| | | Adds the specified key and value to the dictionary. |
| | | </summary> |
| | | <param name="key">Key to add.</param> |
| | | <param name="value">Value to associate with key.</param> |
| | | <param name="overwrite">If true, will overwrite an existing key.</param> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1.MemoryCacheEntry"> |
| | | <summary> |
| | | An entry in the MemoryCacheList. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1.MemoryCacheEntry.#ctor(System.Int64,`0)"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1.MemoryCacheEntry" /> class. |
| | | </summary> |
| | | <param name="key">The key of the element.</param> |
| | | <param name="value">The value of the element.</param> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1.MemoryCacheEntry.Key"> |
| | | <summary> |
| | | Gets the key of the element. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1.MemoryCacheEntry.Value"> |
| | | <summary> |
| | | Gets or sets the value of the element. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1.MemoryCacheEntry.CreatedTicks"> |
| | | <summary> |
| | | Gets number of ticks elapsed on the clock since the element was created. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1.MemmoryCacheEntryTimeComparer"> |
| | | <summary> |
| | | Exposes a method that compares two MemoryCacheEntry objects. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1.MemmoryCacheEntryTimeComparer.Compare(Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider{`0}.MemoryCacheEntry,Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider{`0}.MemoryCacheEntry)"> |
| | | <summary> |
| | | Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. |
| | | </summary> |
| | | <param name="x">The first object to compare.</param> |
| | | <param name="y">The second object to compare.</param> |
| | | <returns>A signed integer that indicates the relative values of x and y, as shown in the following table.</returns> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.ICacheProvider`1"> |
| | | <summary> |
| | | Represents an object cache and provides the base methods and properties for accessing the object cache. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.ICacheProvider`1.Contains(System.Int64)"> |
| | | <summary> |
| | | Checks whether the cache entry already exists in the cache. |
| | | </summary> |
| | | <param name="key">A unique identifier for the cache entry.</param> |
| | | <returns>true if the cache contains a cache entry with the same key value as key; otherwise, false.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.ICacheProvider`1.Get(System.Int64)"> |
| | | <summary> |
| | | Gets the specified cache entry from the cache. |
| | | </summary> |
| | | <param name="key">A unique identifier for the cache entry.</param> |
| | | <returns>A reference to the cache entry identified by key if the entry exists; otherwise, null.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.ICacheProvider`1.Set(System.Int64,`0)"> |
| | | <summary> |
| | | Inserts a cache entry into the cache. |
| | | </summary> |
| | | <param name="key">A unique identifier for the cache entry.</param> |
| | | <param name="value">The object to insert.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.ICacheProvider`1.Remove(System.Int64)"> |
| | | <summary> |
| | | Removes the cache entry from the cache. |
| | | </summary> |
| | | <param name="key">A unique identifier for the cache entry.</param> |
| | | <returns>True if the element is successfully found and removed; otherwise, false. This method returns false if key is not found.</returns> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.OperationWatch"> |
| | | <summary> |
| | | Single high precision clock used by operations. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.OperationWatch.Watch"> |
| | | <summary> |
| | | High precision stopwatch. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.OperationWatch.HundredNanosecondsPerTick"> |
| | | <summary> |
| | | Number of 100 nanoseconds per high-precision clock tick. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.OperationWatch.StartTime"> |
| | | <summary> |
| | | The time clock started. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.OperationWatch.ElapsedTicks"> |
| | | <summary> |
| | | Gets number of ticks elapsed on the clock since the start. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.OperationWatch.Duration(System.Int64,System.Int64)"> |
| | | <summary> |
| | | Calculates time between two clock readings. |
| | | </summary> |
| | | <param name="fromTicks">Start time in ticks.</param> |
| | | <param name="toTicks">End time in ticks.</param> |
| | | <returns>Time between two clock readings.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.OperationWatch.Timestamp(System.Int64)"> |
| | | <summary> |
| | | Converts time on the operation clock (in ticks) to date and time structure. |
| | | </summary> |
| | | <param name="elapsedTicks">Ticks elapsed according to operation watch.</param> |
| | | <returns>Date time structure representing the date and time that corresponds to the operation clock reading.</returns> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.SortedList`1"> |
| | | <summary> |
| | | Represents a collection of sorted elements that are accessible by index. |
| | | </summary> |
| | | <typeparam name="T">The type of element.</typeparam> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.SortedList`1.list"> |
| | | <summary> |
| | | Represents a collection of objects that can be individually accessed by index. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.SortedList`1.comparer"> |
| | | <summary> |
| | | Exposes a method that compares two objects. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.SortedList`1.#ctor(System.Collections.Generic.IComparer{`0})"> |
| | | <summary> |
| | | Initializes a new instance of the SortedList class that is empty. |
| | | </summary> |
| | | <param name="comparer">The IComparer implementation to use when comparing elements.</param> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.SortedList`1.Count"> |
| | | <summary> |
| | | Gets the number of elements contained in a SortedList object. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.SortedList`1.Item(System.Int32)"> |
| | | <summary> |
| | | Gets the element at a specified index in a sequence. |
| | | </summary> |
| | | <param name="index">The zero-based index of the element to get.</param> |
| | | <returns>The element at the specified position in the source sequence.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.SortedList`1.GetEnumerator"> |
| | | <summary> |
| | | Returns an enumerator that iterates through a collection. |
| | | </summary> |
| | | <returns>An IEnumerator object that can be used to iterate through the collection.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.SortedList`1.System#Collections#IEnumerable#GetEnumerator"> |
| | | <summary> |
| | | Returns an enumerator that iterates through a collection. |
| | | </summary> |
| | | <returns>An IEnumerator object that can be used to iterate through the collection.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.SortedList`1.Add(`0)"> |
| | | <summary> |
| | | Adds an element with the specified value to a SortedList object. |
| | | </summary> |
| | | <param name="item">Item to add.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.SortedList`1.RemoveAt(System.Int32)"> |
| | | <summary> |
| | | Removes the element at the specified index of a SortedList object. |
| | | </summary> |
| | | <param name="index">The zero-based index of the element to remove.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.SortedList`1.Remove(`0)"> |
| | | <summary> |
| | | Removes the element with the specified value from a SortedList object. |
| | | </summary> |
| | | <param name="item">Item to remove.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.SortedList`1.TryIndexOf(`0,System.Boolean@)"> |
| | | <summary> |
| | | Determines the index of a specific item in the IList. |
| | | </summary> |
| | | <param name="item">The object to locate in the IList.</param> |
| | | <param name="found">True if value is found in the list, otherwise false.</param> |
| | | <returns>The index of value if found in the list; otherwise, the index of value where it needs to be inserted.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ApplicationInsightsUrlFilter.IsApplicationInsightsUrl(System.String)"> |
| | | <summary> |
| | | Determines whether an URL is application insights URL. |
| | | </summary> |
| | | <param name="url">HTTP URL.</param> |
| | | <returns>True if URL is application insights url, otherwise false.</returns> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkSqlEventListener"> |
| | | <summary> |
| | | Provides methods for listening to events from FrameworkEventSource for SQL. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkSqlEventListener.SqlProcessingFramework"> |
| | | <summary> |
| | | The SQL processor. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkSqlEventListener.AdoNetEventSourceName"> |
| | | <summary> |
| | | The Framework EventSource name for SQL. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkSqlEventListener.BeginExecuteEventId"> |
| | | <summary> |
| | | BeginExecute Event ID. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkSqlEventListener.EndExecuteEventId"> |
| | | <summary> |
| | | EndExecute Event ID. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkSqlEventListener.Dispose"> |
| | | <summary> |
| | | Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkSqlEventListener.OnEventSourceCreated(System.Diagnostics.Tracing.EventSource)"> |
| | | <summary> |
| | | Enables SQL event source when EventSource is created. Called for all existing |
| | | event sources when the event listener is created and when a new event source is attached to the listener. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkSqlEventListener.OnEventWritten(System.Diagnostics.Tracing.EventWrittenEventArgs)"> |
| | | <summary> |
| | | Called whenever an event has been written by an event source for which the event listener has enabled events. |
| | | </summary> |
| | | <param name="eventData">The event arguments that describe the event.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkSqlEventListener.OnBeginExecute(System.Diagnostics.Tracing.EventWrittenEventArgs)"> |
| | | <summary> |
| | | Called when a postfix of a SQLCommand begin methods have been invoked. |
| | | </summary> |
| | | <param name="eventData">The event arguments that describe the event.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkSqlEventListener.OnEndExecute(System.Diagnostics.Tracing.EventWrittenEventArgs)"> |
| | | <summary> |
| | | Called when a postfix of a postfix of a SQLCommand end methods have been invoked. |
| | | </summary> |
| | | <param name="eventData">The event arguments that describe the event.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkSqlProcessing.#ctor(Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration,Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheBasedOperationHolder)"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkSqlProcessing"/> class. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkSqlProcessing.OnBeginExecuteCallback(System.Int64,System.String,System.String,System.String)"> |
| | | <summary> |
| | | On begin callback from Framework event source. |
| | | </summary> |
| | | <param name="id">Identifier of SQL connection object.</param> |
| | | <param name="dataSource">Data source name.</param> |
| | | <param name="database">Database name.</param> |
| | | <param name="commandText">Command text.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkSqlProcessing.OnEndExecuteCallback(System.Int64,System.Boolean,System.Boolean,System.Int32)"> |
| | | <summary> |
| | | On end callback from Framework event source. |
| | | </summary> |
| | | <param name="id">Identifier of SQL connection object.</param> |
| | | <param name="success">Indicate whether operation completed successfully.</param> |
| | | <param name="synchronous">Indicates whether operation was called synchronously or asynchronously.</param> |
| | | <param name="sqlExceptionNumber">SQL exception number.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkSqlProcessing.GetResourceName(System.String,System.String,System.String)"> |
| | | <summary> |
| | | Gets SQL command resource name. |
| | | </summary> |
| | | <param name="dataSource">DataSource name.</param> |
| | | <param name="database">Database name.</param> |
| | | <param name="commandText">CommandText name.</param> |
| | | <returns>The resource name if possible otherwise empty string.</returns> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerSqlProcessing"> |
| | | <summary> |
| | | Concrete class with all processing logic to generate RDD data from the calls backs |
| | | received from Profiler instrumentation for SQL. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerSqlProcessing.#ctor(Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration,System.String,Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.ObjectInstanceBasedOperationHolder)"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerSqlProcessing"/> class. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerSqlProcessing.OnBeginForExecuteReader(System.Object,System.Object,System.Object)"> |
| | | <summary> |
| | | On begin callback for ExecuteReader. |
| | | </summary> |
| | | <param name="thisObj">This object.</param> |
| | | <param name="behavior">The callback parameter.</param> |
| | | <param name="method">The state parameter.</param> |
| | | <returns>The context for end callback.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerSqlProcessing.OnBeginForSync(System.Object)"> |
| | | <summary> |
| | | On begin callback for sync methods except ExecuteReader. |
| | | </summary> |
| | | <param name="thisObj">This object.</param> |
| | | <returns>The context for end callback.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerSqlProcessing.OnEndForExecuteReader(System.Object,System.Object,System.Object,System.Object,System.Object)"> |
| | | <summary> |
| | | On end callback for ExecuteReader. |
| | | </summary> |
| | | <param name="context">The context.</param> |
| | | <param name="returnValue">The return value.</param> |
| | | <param name="thisObj">This object.</param> |
| | | <param name="behavior">The callback parameter.</param> |
| | | <param name="method">The state parameter.</param> |
| | | <returns>The resulting return value.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerSqlProcessing.OnEndForSync(System.Object,System.Object,System.Object)"> |
| | | <summary> |
| | | On end for sync methods except ExecuteReader callback. |
| | | </summary> |
| | | <param name="context">The context.</param> |
| | | <param name="returnValue">The return value.</param> |
| | | <param name="thisObj">This object.</param> |
| | | <returns>The resulting return value.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerSqlProcessing.OnExceptionForExecuteReader(System.Object,System.Object,System.Object,System.Object,System.Object)"> |
| | | <summary> |
| | | On exception callback for ExecuteReader. |
| | | </summary> |
| | | <param name="context">The context.</param> |
| | | <param name="exception">The exception.</param> |
| | | <param name="thisObj">This object.</param> |
| | | <param name="behavior">The callback parameter.</param> |
| | | <param name="method">The state parameter.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerSqlProcessing.OnExceptionForSync(System.Object,System.Object,System.Object)"> |
| | | <summary> |
| | | On end callback for sync methods except ExecuteReader. |
| | | </summary> |
| | | <param name="context">The context.</param> |
| | | <param name="exception">The exception.</param> |
| | | <param name="thisObj">This object.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerSqlProcessing.OnBeginForBeginExecuteNonQueryInternal(System.Object,System.Object,System.Object,System.Object,System.Object)"> |
| | | <summary> |
| | | On begin for BeginExecuteNonQueryInternal callback. |
| | | </summary> |
| | | <param name="thisObj">This object.</param> |
| | | <param name="callback">The callback parameter.</param> |
| | | <param name="stateObject">The stateObject parameter.</param> |
| | | <param name="timeout">The timeout parameter.</param> |
| | | <param name="asyncWrite">The asyncWrite parameter.</param> |
| | | <returns>The context for end callback.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerSqlProcessing.OnBeginForBeginExecuteReaderInternal(System.Object,System.Object,System.Object,System.Object,System.Object,System.Object)"> |
| | | <summary> |
| | | On begin for BeginExecuteReaderInternal callback. |
| | | </summary> |
| | | <param name="thisObj">This object.</param> |
| | | <param name="behavior">The behavior parameter.</param> |
| | | <param name="callback">The callback parameter.</param> |
| | | <param name="stateObject">The stateObject parameter.</param> |
| | | <param name="timeout">The timeout parameter.</param> |
| | | <param name="asyncWrite">The asyncWrite parameter.</param> |
| | | <returns>The context for end callback.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerSqlProcessing.OnBeginForBeginExecuteXmlReaderInternal(System.Object,System.Object,System.Object,System.Object,System.Object)"> |
| | | <summary> |
| | | On begin for BeginExecuteXmlReaderInternal callback. |
| | | </summary> |
| | | <param name="thisObj">This object.</param> |
| | | <param name="callback">The callback parameter.</param> |
| | | <param name="stateObject">The stateObject parameter.</param> |
| | | <param name="timeout">The timeout parameter.</param> |
| | | <param name="asyncWrite">The asyncWrite parameter.</param> |
| | | <returns>The context for end callback.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerSqlProcessing.OnEndForSqlAsync(System.Object,System.Object,System.Object,System.Object)"> |
| | | <summary> |
| | | On end for all SQL async callbacks. |
| | | </summary> |
| | | <param name="context">The context.</param> |
| | | <param name="returnValue">The return value.</param> |
| | | <param name="thisObj">This object.</param> |
| | | <param name="asyncResult">The asyncResult parameter.</param> |
| | | <returns>The context for end callback.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerSqlProcessing.OnExceptionForSqlAsync(System.Object,System.Object,System.Object,System.Object)"> |
| | | <summary> |
| | | On exception for all SQL async callback. |
| | | </summary> |
| | | <param name="context">The context.</param> |
| | | <param name="exception">The exception.</param> |
| | | <param name="thisObj">This object.</param> |
| | | <param name="asyncResult">The asyncResult parameter.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerSqlProcessing.GetResourceName(System.Object)"> |
| | | <summary> |
| | | Gets SQL command resource name. |
| | | </summary> |
| | | <param name="thisObj">The SQL command.</param> |
| | | <remarks>Before we have clarity with SQL team around EventSource instrumentation, providing name as a concatenation of parameters.</remarks> |
| | | <returns>The resource name if possible otherwise empty string.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerSqlProcessing.GetCommandName(System.Object)"> |
| | | <summary> |
| | | Return CommandTest for SQL resource. |
| | | </summary> |
| | | <param name="thisObj">The SQL command.</param> |
| | | <returns>Returns the command text or empty.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerSqlProcessing.OnBegin(System.Object,System.Boolean)"> |
| | | <summary> |
| | | Common helper for all Begin Callbacks. |
| | | </summary> |
| | | <param name="thisObj">This object.</param> |
| | | <param name="isAsyncCall">Is Async Invocation.</param> |
| | | <returns>The context for end callback.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerSqlProcessing.OnEnd(System.Object,System.Object,System.Object,System.Boolean)"> |
| | | <summary> |
| | | Common helper for all End Callbacks. |
| | | </summary> |
| | | <param name="context">The context.</param> |
| | | <param name="exception">The exception object if any.</param> |
| | | <param name="thisObj">This object.</param> |
| | | <param name="isAsync">Whether the End is for an async invocation.</param> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.DependencyCollector.DependencyTrackingTelemetryModule"> |
| | | <summary> |
| | | Remote dependency monitoring. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DependencyCollector.DependencyTrackingTelemetryModule.DisableRuntimeInstrumentation"> |
| | | <summary> |
| | | Gets or sets a value indicating whether to disable runtime instrumentation. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.DependencyTrackingTelemetryModule.Dispose"> |
| | | <summary> |
| | | IDisposable implementation. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.DependencyTrackingTelemetryModule.Initialize(Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration)"> |
| | | <summary> |
| | | Initialize method is called after all configuration properties have been loaded from the configuration. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.DependencyTrackingTelemetryModule.Dispose(System.Boolean)"> |
| | | <summary> |
| | | IDisposable implementation. |
| | | </summary> |
| | | <param name="disposing">The method has been called directly or indirectly by a user's code.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.DependencyTrackingTelemetryModule.InitializeForFrameworkEventSource"> |
| | | <summary> |
| | | Initialize for framework event source (not supported for Net40). |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.DependencyTrackingTelemetryModule.InitializeForRuntimeInstrumentationOrFramework"> |
| | | <summary> |
| | | Initialize for runtime instrumentation or framework event source. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.DependencyCollector.TelemetryExtensionsForDependencyCollector"> |
| | | <summary> |
| | | Dependency Telemetry extension methods to associate with request objects and to store in conditional/cache tables to avoid duplicate tracking. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.TelemetryExtensionsForDependencyCollector.AssociateTelemetryWithWebRequest(Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry,System.Net.WebRequest,System.Boolean,System.Boolean)"> |
| | | <summary> |
| | | Associates telemetry item to a web request to avoid duplicate tracking, and populates cookies with data from initialized telemetry item if setCookies is set to true. |
| | | When there is an existing telemetry item in the corresponding to the given WEB REQUEST, we return the existing telemetry and associate the same with the WEB REQUEST. |
| | | </summary> |
| | | <param name="telemetry">Telemetry object that needs to be associated with the web request.</param> |
| | | <param name="webRequest">Web request object which we use to populate from the information obtained from the initialized telemetry.</param> |
| | | <param name="setCookies">Set cookies enables the process of setting the cookies to the web request. By default it is set to false.</param> |
| | | <param name="setCorrelationContext">Set request headers to correlate dependency telemetry item with the request telemetry item that will process this http request.</param> |
| | | <returns>Dependency telemetry item with an associated dependency telemetry item.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DependencyCollector.TelemetryExtensionsForDependencyCollector.AssociateTelemetryWithSqlRequest(Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry,System.Data.SqlClient.SqlCommand)"> |
| | | <summary> |
| | | Associates telemetry item to a SQL command object to to avoid duplicate tracking. |
| | | When there is an existing telemetry item in the corresponding to the given SQL REQUEST, we return the existing telemetry and associate the same with the SQL REQUEST. |
| | | </summary> |
| | | <param name="telemetry">Telemetry object that needs to be associated with the web request.</param> |
| | | <param name="sqlRequest">SQL request object which is used as a key to store in the tables.</param> |
| | | <returns>Dependency telemetry item with an associated dependency telemetry item.</returns> |
| | | </member> |
| | | </members> |
| | | </doc> |
| New file |
| | |
| | | <?xml version="1.0"?> |
| | | <doc> |
| | | <assembly> |
| | | <name>Microsoft.AI.ServerTelemetryChannel</name> |
| | | </assembly> |
| | | <members> |
| | | <member name="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor"> |
| | | <summary> |
| | | Telemetry processor for sampling telemetry at a dynamic rate before sending to Application Insights. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.samplingProcessor"> |
| | | <summary> |
| | | Fixed-rate sampling telemetry processor. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.estimatorProcessor"> |
| | | <summary> |
| | | Sampling percentage estimator telemetry processor. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.estimatorSettings"> |
| | | <summary> |
| | | Sampling percentage estimator settings. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.evaluationCallback"> |
| | | <summary> |
| | | Callback invoked every time sampling percentage is evaluated. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.#ctor(Microsoft.ApplicationInsights.Extensibility.ITelemetryProcessor)"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor"/> class. |
| | | <param name="next">Next TelemetryProcessor in call chain.</param> |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.#ctor(Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings,Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.AdaptiveSamplingPercentageEvaluatedCallback,Microsoft.ApplicationInsights.Extensibility.ITelemetryProcessor)"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor"/> class. |
| | | <param name="settings">Sampling percentage estimator settings.</param> |
| | | <param name="callback">Callback invoked every time sampling percentage is evaluated.</param> |
| | | <param name="next">Next TelemetryProcessor in call chain.</param> |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.InitialSamplingPercentage"> |
| | | <summary> |
| | | Gets or sets initial sampling percentage applied at the start |
| | | of the process to dynamically vary the percentage. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.MaxTelemetryItemsPerSecond"> |
| | | <summary> |
| | | Gets or sets maximum rate of telemetry items per second |
| | | dynamic sampling will try to adhere to. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.MinSamplingPercentage"> |
| | | <summary> |
| | | Gets or sets minimum sampling percentage that can be set |
| | | by the dynamic sampling percentage algorithm. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.MaxSamplingPercentage"> |
| | | <summary> |
| | | Gets or sets maximum sampling percentage that can be set |
| | | by the dynamic sampling percentage algorithm. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.EvaluationInterval"> |
| | | <summary> |
| | | Gets or sets duration of the sampling percentage evaluation interval. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.SamplingPercentageDecreaseTimeout"> |
| | | <summary> |
| | | Gets or sets a value indicating how long to not to decrease |
| | | sampling percentage after last change to prevent excessive fluctuation. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.SamplingPercentageIncreaseTimeout"> |
| | | <summary> |
| | | Gets or sets a value indicating how long to not to increase |
| | | sampling percentage after last change to prevent excessive fluctuation. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.MovingAverageRatio"> |
| | | <summary> |
| | | Gets or sets exponential moving average ratio (factor) applied |
| | | during calculation of rate of telemetry items produced by the application. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.Process(Microsoft.ApplicationInsights.Channel.ITelemetry)"> |
| | | <summary> |
| | | Processes telemetry item. |
| | | </summary> |
| | | <param name="item">Telemetry item to process.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.Dispose"> |
| | | <summary> |
| | | Disposes the object. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.Dispose(System.Boolean)"> |
| | | <summary> |
| | | Disposes the object. |
| | | </summary> |
| | | <param name="disposing">True if disposing.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.ApplicationFolderProvider.CheckAccessPermissions(System.IO.DirectoryInfo)"> |
| | | <summary> |
| | | Throws <see cref="T:System.UnauthorizedAccessException" /> if the process lacks the required permissions to access the <paramref name="telemetryDirectory"/>. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.ApplicationStoppingEventArgs"> |
| | | <summary> |
| | | Encapsulates arguments of the <see cref="E:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.IApplicationLifecycle.Stopping"/> event. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.ApplicationStoppingEventArgs.#ctor(System.Func{System.Func{System.Threading.Tasks.Task},System.Threading.Tasks.Task})"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.ApplicationStoppingEventArgs"/> class with the specified runner of asynchronous methods. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.ApplicationStoppingEventArgs.Run(System.Func{System.Threading.Tasks.Task})"> |
| | | <summary> |
| | | Runs the specified asynchronous method while preventing the application from exiting. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.CurrentThreadTaskScheduler"> |
| | | <summary> |
| | | Runs tasks synchronously, on the current thread. |
| | | From <a href="http://code.msdn.microsoft.com/Samples-for-Parallel-b4b76364/view/SourceCode"/>. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.ExceptionHandler.Start(System.Func{System.Threading.Tasks.Task})"> |
| | | <summary> |
| | | Starts the <paramref name="asyncMethod"/>, catches and logs any exceptions it may throw. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.IApplicationFolderProvider.GetApplicationFolder"> |
| | | <summary> |
| | | Returns a per-user/per-application folder. |
| | | </summary> |
| | | <returns> |
| | | An <see cref="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.IPlatformFolder"/> instance, or <c>null</c> if current application does not have access to file system. |
| | | </returns> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.IApplicationLifecycle"> |
| | | <summary> |
| | | Encapsulates application lifecycle events. |
| | | </summary> |
| | | </member> |
| | | <member name="E:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.IApplicationLifecycle.Started"> |
| | | <summary> |
| | | Occurs when a new instance of the application is started or an existing instance is activated. |
| | | </summary> |
| | | </member> |
| | | <member name="E:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.IApplicationLifecycle.Stopping"> |
| | | <summary> |
| | | Occurs when the application is suspending or closing. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.INetwork"> |
| | | <summary> |
| | | Encapsulates platform-specific behavior of network information APIs. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.INetwork.AddAddressChangedEventHandler(System.Net.NetworkInformation.NetworkAddressChangedEventHandler)"> |
| | | <summary> |
| | | Adds <see cref="E:System.Net.NetworkInformation.NetworkChange.NetworkAddressChanged"/> event handler. |
| | | </summary> |
| | | <remarks> |
| | | Defined as a method instead of an event in this interface because C# compiler |
| | | changes signature of event in a Windows Runtime component, making it very hard |
| | | to implement properly. |
| | | </remarks> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.INetwork.RemoveAddressChangeEventHandler(System.Net.NetworkInformation.NetworkAddressChangedEventHandler)"> |
| | | <summary> |
| | | Removes <see cref="E:System.Net.NetworkInformation.NetworkChange.NetworkAddressChanged"/> event handler. |
| | | </summary> |
| | | <param name="handler">Address changed event handler.</param> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.Network"> |
| | | <summary> |
| | | Encapsulates platform-specific behavior of network information APIs. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.NetworkAvailabilityTransmissionPolicy.Dispose"> |
| | | <summary> |
| | | Releases resources used by this <see cref="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.NetworkAvailabilityTransmissionPolicy"/> instance. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.TelemetryBuffer"> |
| | | <summary> |
| | | Accumulates <see cref="T:Microsoft.ApplicationInsights.Channel.ITelemetry"/> items for efficient transmission. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.TelemetryBuffer.Capacity"> |
| | | <summary> |
| | | Gets or sets the maximum number of telemetry items that can be buffered before transmission. |
| | | </summary> |
| | | <exception cref="T:System.ArgumentOutOfRangeException">The value is zero or less.</exception> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.TelemetryBuffer.Dispose"> |
| | | <summary> |
| | | Releases resources used by this <see cref="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.TelemetryBuffer"/> instance. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.TelemetryBuffer.Process(Microsoft.ApplicationInsights.Channel.ITelemetry)"> |
| | | <summary> |
| | | Processes the specified <paramref name="item"/> item. |
| | | </summary> |
| | | <exception cref="T:System.ArgumentNullException">The <paramref name="item"/> is null.</exception> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.TelemetryBuffer.FlushAsync"> |
| | | <summary> |
| | | Passes all <see cref="T:Microsoft.ApplicationInsights.Channel.ITelemetry"/> items to the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.TelemetrySerializer"/> and empties the queue. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.TelemetrySerializer.EndpointAddress"> |
| | | <summary> |
| | | Gets or sets the endpoint address. |
| | | </summary> |
| | | <remarks> |
| | | If endpoint address is set to null, the default endpoint address will be used. |
| | | </remarks> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.ThrottlingTransmissionPolicy.PauseDuration"> |
| | | <summary> |
| | | Gets a value that determines amount of time transmission sending will |
| | | be paused before attempting to resume transmission after a network error is detected. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.TransmissionBuffer.Capacity"> |
| | | <summary> |
| | | Gets or sets the maximum amount of memory in bytes for buffering <see cref="T:Microsoft.ApplicationInsights.Channel.Transmission"/> objects. |
| | | </summary> |
| | | <remarks> |
| | | Use this property to limit the amount of memory used to store telemetry in memory of the |
| | | application before transmission. Once the maximum amount of memory is |
| | | reached, <see cref="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.TransmissionBuffer.Enqueue(System.Func{Microsoft.ApplicationInsights.Channel.Transmission})"/> will reject new transmissions. |
| | | </remarks> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.TransmissionBuffer.Size"> |
| | | <summary> |
| | | Gets the combined length of <see cref="P:Microsoft.ApplicationInsights.Channel.Transmission.Content"/> stored in the buffer. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.TransmissionExtensions.Load(System.IO.Stream)"> |
| | | <summary> |
| | | Loads a new transmission from the specified <paramref name="stream"/>. |
| | | </summary> |
| | | <returns>Return transmission loaded from file; throws FormatException is file is corrupted.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.TransmissionExtensions.Save(Microsoft.ApplicationInsights.Channel.Transmission,System.IO.Stream)"> |
| | | <summary> |
| | | Saves the transmission to the specified <paramref name="stream"/>. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.TransmissionSender.Capacity"> |
| | | <summary> |
| | | Gets or sets the the maximum number of <see cref="T:Microsoft.ApplicationInsights.Channel.Transmission"/> objects that can be sent simultaneously. |
| | | </summary> |
| | | <remarks> |
| | | Use this property to limit the number of concurrent HTTP connections. Once the maximum number of |
| | | transmissions in progress is reached, <see cref="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.TransmissionSender.Enqueue(System.Func{Microsoft.ApplicationInsights.Channel.Transmission})"/> will stop accepting new transmissions |
| | | until previous transmissions are sent. |
| | | </remarks> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.TransmissionStorage.Capacity"> |
| | | <summary> |
| | | Gets or sets the total amount of disk space, in bytes, allowed for storing transmission files. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.Transmitter"> |
| | | <summary> |
| | | Implements throttled and persisted transmission of telemetry to Application Insights. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.Transmitter.#ctor(Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.TransmissionSender,Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.TransmissionBuffer,Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.TransmissionStorage,System.Collections.Generic.IEnumerable{Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.TransmissionPolicy})"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.Transmitter" /> class. Used only for UTs. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.Transmitter.Dispose"> |
| | | <summary> |
| | | Releases resources used by this <see cref="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.Transmitter"/> instance. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.WebApplicationLifecycle"> |
| | | <summary> |
| | | Implements the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.IApplicationLifecycle"/> events for web applications. |
| | | </summary> |
| | | </member> |
| | | <member name="E:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.WebApplicationLifecycle.Started"> |
| | | <summary> |
| | | The <see cref="E:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.WebApplicationLifecycle.Started"/> event is raised when the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.WebApplicationLifecycle"/> instance is first created. |
| | | This event is not raised for web applications. |
| | | </summary> |
| | | </member> |
| | | <member name="E:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.WebApplicationLifecycle.Stopping"> |
| | | <summary> |
| | | The <see cref="E:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.WebApplicationLifecycle.Stopping"/> event is raised when <see cref="T:System.Web.Hosting.HostingEnvironment"/> calls the <see cref="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.WebApplicationLifecycle.Stop(System.Boolean)"/> method. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.WebApplicationLifecycle.Dispose"> |
| | | <summary> |
| | | Unregisters the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.WebApplicationLifecycle"/> from <see cref="T:System.Web.Hosting.HostingEnvironment"/>. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.WebApplicationLifecycle.Stop(System.Boolean)"> |
| | | <summary> |
| | | Gets called by <see cref="T:System.Web.Hosting.HostingEnvironment"/> when the web application is stopping. |
| | | </summary> |
| | | <param name="immediate"> |
| | | False when the method is invoked first time, allowing async shutdown operations. |
| | | True when the method is invoked second time, demanding to unregister immediately. |
| | | </param> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor"> |
| | | <summary> |
| | | Represents a telemetry processor for sampling telemetry at a fixed-rate before sending to Application Insights. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor.#ctor(Microsoft.ApplicationInsights.Extensibility.ITelemetryProcessor)"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor"/> class. |
| | | <param name="next">Next TelemetryProcessor in call chain.</param> |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor.SamplingPercentage"> |
| | | <summary> |
| | | Gets or sets data sampling percentage (between 0 and 100) for all <see cref="T:Microsoft.ApplicationInsights.Channel.ITelemetry"/> |
| | | objects logged in this <see cref="T:Microsoft.ApplicationInsights.TelemetryClient"/>. |
| | | </summary> |
| | | <remarks> |
| | | All sampling percentage must be in a ratio of 100/N where N is a whole number (2, 3, 4, …). E.g. 50 for 1/2 or 33.33 for 1/3. |
| | | Failure to follow this pattern can result in unexpected / incorrect computation of values in the portal. |
| | | </remarks> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor.Next"> |
| | | <summary> |
| | | Gets or sets the next TelemetryProcessor in call chain. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor.Process(Microsoft.ApplicationInsights.Channel.ITelemetry)"> |
| | | <summary> |
| | | Process a collected telemetry item. |
| | | </summary> |
| | | <param name="item">A collected Telemetry item.</param> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel"> |
| | | <summary> |
| | | Represents a communication channel for sending telemetry to Application Insights via HTTP/S. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.#ctor"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel"/> class. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.DeveloperMode"> |
| | | <summary> |
| | | Gets or sets a value indicating whether developer mode of telemetry transmission is enabled. |
| | | When developer mode is True, <see cref="N:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel"/> sends telemetry to Application Insights immediately |
| | | during the entire lifetime of the application. When developer mode is False, <see cref="N:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel"/> |
| | | respects production sending policies defined by other properties. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.EndpointAddress"> |
| | | <summary> |
| | | Gets or sets the HTTP address where the telemetry is sent. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.MaxTelemetryBufferDelay"> |
| | | <summary> |
| | | Gets or sets the maximum telemetry batching interval. Once the interval expires, <see cref="N:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel"/> |
| | | serializes the accumulated telemetry items for transmission. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.MaxTelemetryBufferCapacity"> |
| | | <summary> |
| | | Gets or sets the maximum number of telemetry items will accumulate in a memory before |
| | | the <see cref="N:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel"/> serializing them for transmission to Application Insights. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.MaxTransmissionBufferCapacity"> |
| | | <summary> |
| | | Gets or sets the maximum amount of memory, in bytes, that <see cref="N:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel"/> will use |
| | | to buffer transmissions before sending them to Application Insights. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.MaxTransmissionSenderCapacity"> |
| | | <summary> |
| | | Gets or sets the maximum number of telemetry transmissions that <see cref="N:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel"/> will |
| | | send to Application Insights at the same time. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.MaxTransmissionStorageCapacity"> |
| | | <summary> |
| | | Gets or sets the maximum amount of disk space, in bytes, that <see cref="N:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel"/> will |
| | | use to store unsent telemetry transmissions. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.StorageFolder"> |
| | | <summary> |
| | | Gets or sets the folder to be used as a temporary storage for events that were not sent because of temporary connectivity issues. |
| | | If folder was not provided or inaccessible. %LocalAppData% or %Temp% folder will be used. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.TelemetryProcessor"> |
| | | <summary> |
| | | Gets or sets first TelemetryProcessor in processor call chain. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.Dispose"> |
| | | <summary> |
| | | Releases unmanaged and - optionally - managed resources. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.Send(Microsoft.ApplicationInsights.Channel.ITelemetry)"> |
| | | <summary> |
| | | Sends an instance of ITelemetry through the channel. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.Flush"> |
| | | <summary> |
| | | Synchronously flushes the telemetry buffer. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.Initialize(Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration)"> |
| | | <summary> |
| | | Initialize method is called after all configuration properties have been loaded from the configuration. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.ExponentialMovingAverageCounter"> |
| | | <summary> |
| | | Exponential moving average counter. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.ExponentialMovingAverageCounter.average"> |
| | | <summary> |
| | | Average value of the counter. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.ExponentialMovingAverageCounter.current"> |
| | | <summary> |
| | | Value of the counter during current interval of time. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.ExponentialMovingAverageCounter.#ctor(System.Double)"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.ExponentialMovingAverageCounter"/> class. |
| | | </summary> |
| | | <param name="coefficient">Exponential coefficient.</param> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.ExponentialMovingAverageCounter.Coefficient"> |
| | | <summary> |
| | | Gets exponential coefficient (must be between 0 and 1). |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.ExponentialMovingAverageCounter.Average"> |
| | | <summary> |
| | | Gets exponential moving average value of the counter. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.ExponentialMovingAverageCounter.Increment"> |
| | | <summary> |
| | | Increments counter value. |
| | | </summary> |
| | | <returns>Incremented value.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.ExponentialMovingAverageCounter.StartNewInterval"> |
| | | <summary> |
| | | Zeros out current value and starts new 'counter interval'. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.IRandomNumberBatchGenerator"> |
| | | <summary> |
| | | Interface for random number generator capable of producing |
| | | a batch of unsigned 64 bit random numbers. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings"> |
| | | <summary> |
| | | Container for all the settings applicable to the process of dynamically estimating |
| | | application telemetry sampling percentage. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.default"> |
| | | <summary> |
| | | Set of default settings. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.#ctor"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings"/> class. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.MaxTelemetryItemsPerSecond"> |
| | | <summary> |
| | | Gets or sets maximum rate of telemetry items per second |
| | | dynamic sampling will try to adhere to. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.InitialSamplingPercentage"> |
| | | <summary> |
| | | Gets or sets initial sampling percentage applied at the start |
| | | of the process to dynamically vary the percentage. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.MinSamplingPercentage"> |
| | | <summary> |
| | | Gets or sets minimum sampling percentage that can be set |
| | | by the dynamic sampling percentage algorithm. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.MaxSamplingPercentage"> |
| | | <summary> |
| | | Gets or sets maximum sampling percentage that can be set |
| | | by the dynamic sampling percentage algorithm. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.EvaluationInterval"> |
| | | <summary> |
| | | Gets or sets duration of the sampling percentage evaluation |
| | | interval in seconds. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageDecreaseTimeout"> |
| | | <summary> |
| | | Gets or sets a value indicating how long to not to decrease |
| | | sampling percentage after last change to prevent excessive fluctuation. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageIncreaseTimeout"> |
| | | <summary> |
| | | Gets or sets a value indicating how long to not to increase |
| | | sampling percentage after last change to prevent excessive fluctuation. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.MovingAverageRatio"> |
| | | <summary> |
| | | Gets or sets exponential moving average ratio (factor) applied |
| | | during calculation of rate of telemetry items produced by the application. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.EffectiveMaxTelemetryItemsPerSecond"> |
| | | <summary> |
| | | Gets effective maximum telemetry items rate per second |
| | | adjusted in case user makes an error while setting a value. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.EffectiveInitialSamplingRate"> |
| | | <summary> |
| | | Gets effective initial sampling rate |
| | | adjusted in case user makes an error while setting a value. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.EffectiveMinSamplingRate"> |
| | | <summary> |
| | | Gets effective minimum sampling rate |
| | | adjusted in case user makes an error while setting a value. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.EffectiveMaxSamplingRate"> |
| | | <summary> |
| | | Gets effective maximum sampling rate |
| | | adjusted in case user makes an error while setting a value. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.EffectiveEvaluationInterval"> |
| | | <summary> |
| | | Gets effective sampling percentage evaluation interval |
| | | adjusted in case user makes an error while setting a value. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.EffectiveSamplingPercentageDecreaseTimeout"> |
| | | <summary> |
| | | Gets effective sampling percentage decrease timeout |
| | | adjusted in case user makes an error while setting a value. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.EffectiveSamplingPercentageIncreaseTimeout"> |
| | | <summary> |
| | | Gets effective sampling percentage increase timeout |
| | | adjusted in case user makes an error while setting a value. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.EffectiveMovingAverageRatio"> |
| | | <summary> |
| | | Gets effective exponential moving average ratio |
| | | adjusted in case user makes an error while setting a value. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.AdjustSamplingPercentage(System.Double)"> |
| | | <summary> |
| | | Adjusts sampling percentage set by user to account for errors |
| | | such as setting it below zero or above 100%. |
| | | </summary> |
| | | <param name="samplingPercentage">Input sampling percentage.</param> |
| | | <returns>Adjusted sampling percentage in range > 0 and <= 100.</returns> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.AdaptiveSamplingPercentageEvaluatedCallback"> |
| | | <summary> |
| | | Represents a method that is invoked every time sampling percentage is evaluated |
| | | by the dynamic sampling algorithm. |
| | | </summary> |
| | | <param name="afterSamplingTelemetryItemRatePerSecond">Rate of telemetry items generated by this instance of the application after current sampling percentage was applied.</param> |
| | | <param name="currentSamplingPercentage">Current sampling percentage that was used by the algorithm.</param> |
| | | <param name="newSamplingPercentage">Suggested new sampling percentage that will allow to keep desired telemetry item generation rate given the volume of items states the same.</param> |
| | | <param name="isSamplingPercentageChanged">A value indicating whether new sampling percentage will be applied by dynamic sampling algorithm. New sampling percentage may not be immediately applied in case it was recently changed.</param> |
| | | <param name="settings">Dynamic sampling algorithm settings.</param> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorTelemetryProcessor"> |
| | | <summary> |
| | | Telemetry processor to estimate ideal sampling percentage. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorTelemetryProcessor.next"> |
| | | <summary> |
| | | Next-in-chain processor. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorTelemetryProcessor.settings"> |
| | | <summary> |
| | | Dynamic sampling estimator settings. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorTelemetryProcessor.itemCount"> |
| | | <summary> |
| | | Average telemetry item counter. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorTelemetryProcessor.evaluationTimer"> |
| | | <summary> |
| | | Evaluation timer. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorTelemetryProcessor.evaluationInterval"> |
| | | <summary> |
| | | Current evaluation interval. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorTelemetryProcessor.currenSamplingRate"> |
| | | <summary> |
| | | Current sampling rate. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorTelemetryProcessor.samplingPercentageLastChangeDateTime"> |
| | | <summary> |
| | | Last date and time sampling percentage was changed. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorTelemetryProcessor.evaluationCallback"> |
| | | <summary> |
| | | Callback to invoke every time sampling percentage is evaluated. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorTelemetryProcessor.#ctor(Microsoft.ApplicationInsights.Extensibility.ITelemetryProcessor)"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorTelemetryProcessor"/> class. |
| | | <param name="next">Next TelemetryProcessor in call chain.</param> |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorTelemetryProcessor.#ctor(Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings,Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.AdaptiveSamplingPercentageEvaluatedCallback,Microsoft.ApplicationInsights.Extensibility.ITelemetryProcessor)"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorTelemetryProcessor"/> class. |
| | | <param name="settings">Dynamic sampling estimator settings.</param> |
| | | <param name="callback">Callback to invoke every time sampling percentage is evaluated.</param> |
| | | <param name="next">Next TelemetryProcessor in call chain.</param> |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorTelemetryProcessor.Process(Microsoft.ApplicationInsights.Channel.ITelemetry)"> |
| | | <summary> |
| | | Processes telemetry item. |
| | | </summary> |
| | | <param name="item">Telemetry item to process.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorTelemetryProcessor.Dispose"> |
| | | <summary> |
| | | Disposes the object. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorTelemetryProcessor.MovingAverageCoefficientChanged(System.Double,System.Double)"> |
| | | <summary> |
| | | Checks to see if exponential moving average has changed. |
| | | </summary> |
| | | <param name="running">Currently running value of moving average.</param> |
| | | <param name="current">Value set in the algorithm parameters.</param> |
| | | <returns>True if moving average value changed.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorTelemetryProcessor.EstimateSamplingPercentage(System.Object)"> |
| | | <summary> |
| | | Callback for sampling percentage evaluation timer. |
| | | </summary> |
| | | <param name="state">Timer state.</param> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingScoreGenerator"> |
| | | <summary> |
| | | Utility class for sampling score generation. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingScoreGenerator.GetSamplingScore(Microsoft.ApplicationInsights.Channel.ITelemetry)"> |
| | | <summary> |
| | | Generates telemetry sampling score between 0 and 100. |
| | | </summary> |
| | | <param name="telemetry">Telemetry item to score.</param> |
| | | <returns>Item sampling score.</returns> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.WeakConcurrentRandom.random"> |
| | | <summary> |
| | | Generator singleton. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.WeakConcurrentRandom.index"> |
| | | <summary> |
| | | Index of the last used random number within pre-generated array. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.WeakConcurrentRandom.segmentCount"> |
| | | <summary> |
| | | Count of segments of random numbers. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.WeakConcurrentRandom.segmentSize"> |
| | | <summary> |
| | | Number of random numbers per segment. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.WeakConcurrentRandom.bitsToStoreRandomIndexWithinSegment"> |
| | | <summary> |
| | | Number of bits used to store index of the random number within segment. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.WeakConcurrentRandom.segmentIndexMask"> |
| | | <summary> |
| | | Bit mask to get segment index bits. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.WeakConcurrentRandom.randomIndexWithinSegmentMask"> |
| | | <summary> |
| | | Bit mask to get index of the random number within segment. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.WeakConcurrentRandom.randomArrayIndexMask"> |
| | | <summary> |
| | | Bit mask to get index of the random number in the pre-generated array. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.WeakConcurrentRandom.randomGemerators"> |
| | | <summary> |
| | | Array of random number batch generators (one per each segment). |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.WeakConcurrentRandom.randomNumbers"> |
| | | <summary> |
| | | Array of pre-generated random numbers. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.WeakConcurrentRandom.#ctor"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.WeakConcurrentRandom"/> class. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.WeakConcurrentRandom.Initialize"> |
| | | <summary> |
| | | Initializes generator with a set of random numbers. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.WeakConcurrentRandom.Initialize(System.Func{System.UInt64,Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.IRandomNumberBatchGenerator},System.Int32,System.Int32)"> |
| | | <summary> |
| | | Initializes generator with a set of random numbers. |
| | | </summary> |
| | | <param name="randomGeneratorFactory">Factory used to create random number batch generators.</param> |
| | | <param name="segmentIndexBits">Number of significant bits in segment index, i.e. value of 3 means 8 segments of random numbers - 0..7.</param> |
| | | <param name="segmentBits">Number of significant bits in random number index within segment, i.e. value of 10 means 1024 random numbers per segment.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.WeakConcurrentRandom.Next"> |
| | | <summary> |
| | | Weakly thread safe next (random) operation id generator |
| | | where 'weakly' indicates that it is unlikely we'll get into |
| | | collision state. |
| | | </summary> |
| | | <returns>Next operation id.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.WeakConcurrentRandom.RegenerateSegment(System.Int32)"> |
| | | <summary> |
| | | Generates random number batch for segment which just exhausted |
| | | according to value of the new index. |
| | | </summary> |
| | | <param name="newIndex">Index in random number array of the random number we're about to return.</param> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.XorshiftRandomBatchGenerator"> |
| | | <summary> |
| | | Generates batches of random number using Xorshift algorithm |
| | | Note: the base code is from http://www.codeproject.com/Articles/9187/A-fast-equivalent-for-System-Random. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.XorshiftRandomBatchGenerator.#ctor(System.UInt64)"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.XorshiftRandomBatchGenerator"/> class. |
| | | </summary> |
| | | <param name="seed">Random generator seed value.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.XorshiftRandomBatchGenerator.NextBatch(System.UInt64[],System.Int32,System.Int32)"> |
| | | <summary> |
| | | Generates a batch of random numbers. |
| | | </summary> |
| | | <param name="buffer">Buffer to put numbers in.</param> |
| | | <param name="index">Start index in the buffer.</param> |
| | | <param name="count">Count of random numbers to generate.</param> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions"> |
| | | <summary> |
| | | Extension methods for <see cref="T:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder"/>. |
| | | Adds shorthand for adding well-known processors. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions.UseSampling(Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder,System.Double)"> |
| | | <summary> |
| | | Adds <see cref="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor"/> to the given<see cref="T:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder" /> |
| | | </summary> |
| | | <param name="builder">Instance of <see cref="T:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder"/></param> |
| | | <param name="samplingPercentage">Sampling Percentage to configure.</param> |
| | | <return>Instance of <see cref="T:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder"/>.</return> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions.UseAdaptiveSampling(Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder)"> |
| | | <summary> |
| | | Adds <see cref="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor"/> to the <see cref="T:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder" /> |
| | | </summary> |
| | | <param name="builder">Instance of <see cref="T:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder"/></param> |
| | | <return>Instance of <see cref="T:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder"/>.</return> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions.UseAdaptiveSampling(Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder,System.Double)"> |
| | | <summary> |
| | | Adds <see cref="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor"/> to the <see cref="T:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder" /> |
| | | </summary> |
| | | <param name="builder">Instance of <see cref="T:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder"/></param> |
| | | <param name="maxTelemetryItemsPerSecond">Maximum number of telemetry items to be generated on this application instance.</param> |
| | | <return>Instance of <see cref="T:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder"/>.</return> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions.UseAdaptiveSampling(Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder,Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings,Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.AdaptiveSamplingPercentageEvaluatedCallback)"> |
| | | <summary> |
| | | Adds <see cref="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor"/> to the <see cref="T:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder" /> |
| | | </summary> |
| | | <param name="builder">Instance of <see cref="T:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder"/></param> |
| | | <param name="settings">Set of settings applicable to dynamic sampling percentage algorithm.</param> |
| | | <param name="callback">Callback invoked every time sampling percentage evaluation occurs.</param> |
| | | <return>Instance of <see cref="T:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder"/>.</return> |
| | | </member> |
| | | </members> |
| | | </doc> |
| New file |
| | |
| | | <?xml version="1.0"?> |
| | | <doc> |
| | | <assembly> |
| | | <name>Microsoft.AI.Web</name> |
| | | </assembly> |
| | | <members> |
| | | <member name="T:Microsoft.ApplicationInsights.Web.Implementation.RequestTrackingConstants"> |
| | | <summary> |
| | | Request tracking constants and keys. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Web.Implementation.RequestTrackingConstants.RequestTelemetryItemName"> |
| | | <summary> |
| | | Name of the HttpContext item containing RequestTelemetry object. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Web.Implementation.RequestTrackingConstants.TransferHandlerType"> |
| | | <summary> |
| | | Type name for the transfer handler. This handler is used to enable extension(less) URI |
| | | and it produces extra request, which should not be counted. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Web.Implementation.RequestTrackingConstants.WebAuthenticatedUserCookieName"> |
| | | <summary> |
| | | The name of the cookie which holds authenticated user context information. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Web.Implementation.RequestTrackingExtensions.CreateRequestNamePrivate(System.Web.HttpContext)"> |
| | | <summary> |
| | | Creates request name on the base of HttpContext. |
| | | </summary> |
| | | <returns>Controller/Action for MVC or path for other cases.</returns> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Web.Implementation.SyntheticUserAgentFilter"> |
| | | <summary> |
| | | Allows configuration of patterns for synthetic traffic filters. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Web.Implementation.SyntheticUserAgentFilter.Pattern"> |
| | | <summary> |
| | | Gets or sets the regular expression pattern applied to the user agent string to determine whether traffic is synthetic. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Web.Implementation.SyntheticUserAgentFilter.SourceName"> |
| | | <summary> |
| | | Gets or sets the readable name for the synthetic traffic source. If not provided, defaults to the pattern match. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Web.Implementation.WebEventSource"> |
| | | <summary> |
| | | ETW EventSource tracing class. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Web.Implementation.WebEventSource.Log"> |
| | | <summary> |
| | | Instance of the PlatformEventSource class. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Web.Implementation.WebEventSource.Keywords"> |
| | | <summary> |
| | | Keywords for the PlatformEventSource. Those keywords should match keywords in Core. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Web.Implementation.WebEventSource.Keywords.UserActionable"> |
| | | <summary> |
| | | Key word for user actionable events. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Web.Implementation.WebEventSource.Keywords.Diagnostics"> |
| | | <summary> |
| | | Diagnostics tracing keyword. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Web.Implementation.WebEventSource.Keywords.VerboseFailure"> |
| | | <summary> |
| | | Keyword for errors that trace at Verbose level. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Web.Implementation.WebEventsPublisher"> |
| | | <summary> |
| | | Class provides methods to post event about Web event like begin or end of the request. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Web.Implementation.WebEventsPublisher.Instance"> |
| | | <summary> |
| | | WebEventsPublisher static instance. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Web.Implementation.WebEventsPublisher.Log"> |
| | | <summary> |
| | | Gets the instance of WebEventsPublisher type. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Web.Implementation.WebEventsPublisher.OnBegin"> |
| | | <summary> |
| | | Method generates event about begin of the request. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Web.Implementation.WebEventsPublisher.OnEnd"> |
| | | <summary> |
| | | Method generates event about end of the request. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Web.Implementation.WebEventsPublisher.OnError"> |
| | | <summary> |
| | | Method generates event in case if request failed. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Web.Implementation.WebTelemetryInitializerBase"> |
| | | <summary> |
| | | Base class for WebOperationTelemetryInitializers. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Web.Implementation.WebTelemetryInitializerBase.Initialize(Microsoft.ApplicationInsights.Channel.ITelemetry)"> |
| | | <summary> |
| | | Base implementation of the initialization method. |
| | | </summary> |
| | | <param name="telemetry">Telemetry item to initialize.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Web.Implementation.WebTelemetryInitializerBase.OnInitializeTelemetry(System.Web.HttpContext,Microsoft.ApplicationInsights.DataContracts.RequestTelemetry,Microsoft.ApplicationInsights.Channel.ITelemetry)"> |
| | | <summary> |
| | | Implements initialization logic. |
| | | </summary> |
| | | <param name="platformContext">Http context.</param> |
| | | <param name="requestTelemetry">Request telemetry object associated with the current request.</param> |
| | | <param name="telemetry">Telemetry item to initialize.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Web.Implementation.WebTelemetryInitializerBase.ResolvePlatformContext"> |
| | | <summary> |
| | | Resolved web platform specific context. |
| | | </summary> |
| | | <returns>An instance of the context.</returns> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Web.Implementation.WebTelemetryModuleBase"> |
| | | <summary> |
| | | Base web telemetry module. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Web.Implementation.WebTelemetryModuleBase.#ctor"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.Web.Implementation.WebTelemetryModuleBase"/> class. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Web.Implementation.WebTelemetryModuleBase.ModuleName"> |
| | | <summary> |
| | | Gets the module name which is added to be used for internal tracing instead of GetType on each request to improve performance. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Web.Implementation.WebTelemetryModuleBase.OnBeginRequest(Microsoft.ApplicationInsights.DataContracts.RequestTelemetry,System.Web.HttpContext)"> |
| | | <summary> |
| | | Post initialization Web Telemetry Module callback. |
| | | </summary> |
| | | <param name="requestTelemetry">An instance of request telemetry context.</param> |
| | | <param name="platformContext">Platform specific context.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Web.Implementation.WebTelemetryModuleBase.OnEndRequest(Microsoft.ApplicationInsights.DataContracts.RequestTelemetry,System.Web.HttpContext)"> |
| | | <summary> |
| | | Request telemetry finalization - sending callback Web Telemetry Module callback. |
| | | </summary> |
| | | <param name="requestTelemetry">An instance of request telemetry context.</param> |
| | | <param name="platformContext">Platform specific context.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Web.Implementation.WebTelemetryModuleBase.OnError(Microsoft.ApplicationInsights.DataContracts.RequestTelemetry,System.Web.HttpContext)"> |
| | | <summary> |
| | | Http Error reporting Web Telemetry Module callback. |
| | | </summary> |
| | | <param name="requestTelemetry">An instance of request telemetry context.</param> |
| | | <param name="platformContext">Platform specific context.</param> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Web.AccountIdTelemetryInitializer"> |
| | | <summary> |
| | | A telemetry initializer that will set the User properties of Context corresponding to a RequestTelemetry object. |
| | | User.AccountId is updated with properties derived from the RequestTelemetry.RequestTelemetry.Context.User. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Web.AccountIdTelemetryInitializer.OnInitializeTelemetry(System.Web.HttpContext,Microsoft.ApplicationInsights.DataContracts.RequestTelemetry,Microsoft.ApplicationInsights.Channel.ITelemetry)"> |
| | | <summary> |
| | | Implements initialization logic. |
| | | </summary> |
| | | <param name="platformContext">Http context.</param> |
| | | <param name="requestTelemetry">Request telemetry object associated with the current request.</param> |
| | | <param name="telemetry">Telemetry item to initialize.</param> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule"> |
| | | <summary> |
| | | Platform agnostic module for web application instrumentation. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule.isEnabled"> |
| | | <summary> |
| | | Indicates if module initialized successfully. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule.#ctor"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule"/> class. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule.Init(System.Web.HttpApplication)"> |
| | | <summary> |
| | | Initializes module for a given application. |
| | | </summary> |
| | | <param name="context">HttpApplication instance.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule.Dispose"> |
| | | <summary> |
| | | Required IDisposable implementation. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Web.AuthenticatedUserIdTelemetryInitializer"> |
| | | <summary> |
| | | A telemetry initializer that will set the User properties of Context corresponding to a RequestTelemetry object. |
| | | User.AuthenticatedUserId is updated with properties derived from the RequestTelemetry.RequestTelemetry.Context.User. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Web.AuthenticatedUserIdTelemetryInitializer.OnInitializeTelemetry(System.Web.HttpContext,Microsoft.ApplicationInsights.DataContracts.RequestTelemetry,Microsoft.ApplicationInsights.Channel.ITelemetry)"> |
| | | <summary> |
| | | Implements initialization logic. |
| | | </summary> |
| | | <param name="platformContext">Http context.</param> |
| | | <param name="requestTelemetry">Request telemetry object associated with the current request.</param> |
| | | <param name="telemetry">Telemetry item to initialize.</param> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Web.OperationCorrelationTelemetryInitializer"> |
| | | <summary> |
| | | A telemetry initializer that will set the correlation context for all telemetry items in web application. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Web.OperationCorrelationTelemetryInitializer.#ctor"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.Web.OperationCorrelationTelemetryInitializer"/> class. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Web.OperationCorrelationTelemetryInitializer.ParentOperationIdHeaderName"> |
| | | <summary> |
| | | Gets or sets the name of the header to get parent operation Id from. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Web.OperationCorrelationTelemetryInitializer.RootOperationIdHeaderName"> |
| | | <summary> |
| | | Gets or sets the name of the header to get root operation Id from. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Web.OperationCorrelationTelemetryInitializer.OnInitializeTelemetry(System.Web.HttpContext,Microsoft.ApplicationInsights.DataContracts.RequestTelemetry,Microsoft.ApplicationInsights.Channel.ITelemetry)"> |
| | | <summary> |
| | | Implements initialization logic. |
| | | </summary> |
| | | <param name="platformContext">Http context.</param> |
| | | <param name="requestTelemetry">Request telemetry object associated with the current request.</param> |
| | | <param name="telemetry">Telemetry item to initialize.</param> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Web.ClientIpHeaderTelemetryInitializer"> |
| | | <summary> |
| | | Telemetry initializer populates client IP address for the current request. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Web.ClientIpHeaderTelemetryInitializer.#ctor"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.Web.ClientIpHeaderTelemetryInitializer"/> class. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Web.ClientIpHeaderTelemetryInitializer.HeaderNames"> |
| | | <summary> |
| | | Gets a list of request header names that is used to check client id. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Web.ClientIpHeaderTelemetryInitializer.HeaderValueSeparators"> |
| | | <summary> |
| | | Gets or sets a header values separator. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Web.ClientIpHeaderTelemetryInitializer.UseFirstIp"> |
| | | <summary> |
| | | Gets or sets a value indicating whether the first or the last IP should be used from the lists of IPs in the header. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Web.ClientIpHeaderTelemetryInitializer.OnInitializeTelemetry(System.Web.HttpContext,Microsoft.ApplicationInsights.DataContracts.RequestTelemetry,Microsoft.ApplicationInsights.Channel.ITelemetry)"> |
| | | <summary> |
| | | Implements initialization logic. |
| | | </summary> |
| | | <param name="platformContext">Http context.</param> |
| | | <param name="requestTelemetry">Request telemetry object associated with the current request.</param> |
| | | <param name="telemetry">Telemetry item to initialize.</param> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Web.ExceptionTrackingTelemetryModule"> |
| | | <summary> |
| | | Telemetry module to collect unhandled exceptions caught by http module. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Web.ExceptionTrackingTelemetryModule.#ctor"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.Web.ExceptionTrackingTelemetryModule" /> class. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Web.ExceptionTrackingTelemetryModule.OnError(System.Diagnostics.Tracing.EventWrittenEventArgs)"> |
| | | <summary> |
| | | Implements on error callback of http module. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Web.ExceptionTrackingTelemetryModule.Initialize(Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration)"> |
| | | <summary> |
| | | Initializes the telemetry module. |
| | | </summary> |
| | | <param name="configuration">Telemetry configuration to use for initialization.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Web.ExceptionTrackingTelemetryModule.Dispose"> |
| | | <summary> |
| | | Dispose method. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Web.ExceptionTrackingTelemetryModule.ResolvePlatformContext"> |
| | | <summary> |
| | | Returns current HttpContext. |
| | | </summary> |
| | | <returns>Current HttpContext.</returns> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Web.OperationNameTelemetryInitializer"> |
| | | <summary> |
| | | A telemetry initializer that will set the NAME property of OperationContext corresponding to a TraceTelemetry object. |
| | | If the telemetry object is of type RequestTelemetry, then the Name of the RequestTelemetry is updated. For all other cases, |
| | | Operation.Name is updated with the name derived from the HttpContext. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Web.OperationNameTelemetryInitializer.OnInitializeTelemetry(System.Web.HttpContext,Microsoft.ApplicationInsights.DataContracts.RequestTelemetry,Microsoft.ApplicationInsights.Channel.ITelemetry)"> |
| | | <summary> |
| | | Implements initialization logic. |
| | | </summary> |
| | | <param name="platformContext">Http context.</param> |
| | | <param name="rootRequestTelemetry">Request telemetry object associated with the current request.</param> |
| | | <param name="telemetry">Telemetry item to initialize.</param> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Web.RequestTrackingTelemetryModule"> |
| | | <summary> |
| | | Telemetry module tracking requests using http module. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Web.RequestTrackingTelemetryModule.#ctor"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.Web.RequestTrackingTelemetryModule" /> class. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Web.RequestTrackingTelemetryModule.Handlers"> |
| | | <summary> |
| | | Gets the list of handler types for which requests telemetry will not be collected |
| | | if request was successful. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Web.RequestTrackingTelemetryModule.OnBeginRequest(System.Diagnostics.Tracing.EventWrittenEventArgs)"> |
| | | <summary> |
| | | Implements on begin callback of http module. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Web.RequestTrackingTelemetryModule.OnEndRequest(System.Diagnostics.Tracing.EventWrittenEventArgs)"> |
| | | <summary> |
| | | Implements on end callback of http module. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Web.RequestTrackingTelemetryModule.Initialize(Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration)"> |
| | | <summary> |
| | | Initializes the telemetry module. |
| | | </summary> |
| | | <param name="configuration">Telemetry configuration to use for initialization.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Web.RequestTrackingTelemetryModule.Dispose"> |
| | | <summary> |
| | | Dispose method. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Web.RequestTrackingTelemetryModule.NeedProcessRequest(System.Web.HttpContext)"> |
| | | <summary> |
| | | Verifies context to detect whether or not request needs to be processed. |
| | | </summary> |
| | | <param name="httpContext">Current http context.</param> |
| | | <returns>True if request needs to be processed, otherwise - False.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Web.RequestTrackingTelemetryModule.ResolvePlatformContext"> |
| | | <summary> |
| | | Returns current HttpContext. |
| | | </summary> |
| | | <returns>Current HttpContext.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Web.RequestTrackingTelemetryModule.IsHandlerToFilter(System.Web.IHttpHandler)"> |
| | | <summary> |
| | | Checks whether or not handler is a transfer handler. |
| | | </summary> |
| | | <param name="handler">An instance of handler to validate.</param> |
| | | <returns>True if handler is a transfer handler, otherwise - False.</returns> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Web.SessionTelemetryInitializer"> |
| | | <summary> |
| | | A telemetry initializer that will set the Session properties of Context corresponding to a RequestTelemetry object. |
| | | Session is updated with properties derived from the RequestTelemetry.RequestTelemetry.Context.Session. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Web.SessionTelemetryInitializer.OnInitializeTelemetry(System.Web.HttpContext,Microsoft.ApplicationInsights.DataContracts.RequestTelemetry,Microsoft.ApplicationInsights.Channel.ITelemetry)"> |
| | | <summary> |
| | | Implements initialization logic. |
| | | </summary> |
| | | <param name="platformContext">Http context.</param> |
| | | <param name="requestTelemetry">Request telemetry object associated with the current request.</param> |
| | | <param name="telemetry">Telemetry item to initialize.</param> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Web.WebTestTelemetryInitializer"> |
| | | <summary> |
| | | A telemetry initializer that will update the User, Session and Operation contexts if request originates from a web test. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Web.WebTestTelemetryInitializer.OnInitializeTelemetry(System.Web.HttpContext,Microsoft.ApplicationInsights.DataContracts.RequestTelemetry,Microsoft.ApplicationInsights.Channel.ITelemetry)"> |
| | | <summary> |
| | | Implements initialization logic. |
| | | </summary> |
| | | <param name="platformContext">Http context.</param> |
| | | <param name="requestTelemetry">Request telemetry object associated with the current request.</param> |
| | | <param name="telemetry">Telemetry item to initialize.</param> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Web.SyntheticUserAgentTelemetryInitializer"> |
| | | <summary> |
| | | A telemetry initializer that determines if the request came from a synthetic source based on the user agent string. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Web.SyntheticUserAgentTelemetryInitializer.#ctor"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.Web.SyntheticUserAgentTelemetryInitializer" /> class. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Web.SyntheticUserAgentTelemetryInitializer.Filters"> |
| | | <summary> |
| | | Gets the configured patterns for matching synthetic traffic filters through user agent string. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Web.SyntheticUserAgentTelemetryInitializer.OnInitializeTelemetry(System.Web.HttpContext,Microsoft.ApplicationInsights.DataContracts.RequestTelemetry,Microsoft.ApplicationInsights.Channel.ITelemetry)"> |
| | | <summary> |
| | | Implements initialization logic. |
| | | </summary> |
| | | <param name="platformContext">Http context.</param> |
| | | <param name="requestTelemetry">Request telemetry object associated with the current request.</param> |
| | | <param name="telemetry">Telemetry item to initialize.</param> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Web.UserTelemetryInitializer"> |
| | | <summary> |
| | | A telemetry initializer that will set the User properties of Context corresponding to a RequestTelemetry object. |
| | | User.Id are updated with properties derived from the RequestTelemetry.RequestTelemetry.Context.User. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Web.UserTelemetryInitializer.OnInitializeTelemetry(System.Web.HttpContext,Microsoft.ApplicationInsights.DataContracts.RequestTelemetry,Microsoft.ApplicationInsights.Channel.ITelemetry)"> |
| | | <summary> |
| | | Implements initialization logic. |
| | | </summary> |
| | | <param name="platformContext">Http context.</param> |
| | | <param name="requestTelemetry">Request telemetry object associated with the current request.</param> |
| | | <param name="telemetry">Telemetry item to initialize.</param> |
| | | </member> |
| | | <member name="T:System.Web.HttpContextExtension"> |
| | | <summary> |
| | | HttpContextExtension class provides extensions methods for accessing Web Application Insights objects. |
| | | </summary> |
| | | </member> |
| | | <member name="M:System.Web.HttpContextExtension.GetRequestTelemetry(System.Web.HttpContext)"> |
| | | <summary> |
| | | Provide access to request generated by Web Application Insights SDK. |
| | | </summary> |
| | | <param name="context">HttpContext instance.</param> |
| | | <returns>Request telemetry instance or null.</returns> |
| | | </member> |
| | | </members> |
| | | </doc> |
| New file |
| | |
| | | <?xml version="1.0"?> |
| | | <doc> |
| | | <assembly> |
| | | <name>Microsoft.AI.WindowsServer</name> |
| | | </assembly> |
| | | <members> |
| | | <member name="T:Microsoft.ApplicationInsights.WindowsServer.AzureRoleEnvironmentTelemetryInitializer"> |
| | | <summary> |
| | | A telemetry initializer that will gather Azure Role Environment context information. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.AzureRoleEnvironmentTelemetryInitializer.#ctor"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.AzureRoleEnvironmentTelemetryInitializer" /> class. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.AzureRoleEnvironmentTelemetryInitializer.Initialize(Microsoft.ApplicationInsights.Channel.ITelemetry)"> |
| | | <summary> |
| | | Initializes <see cref="T:Microsoft.ApplicationInsights.Channel.ITelemetry" /> device context. |
| | | </summary> |
| | | <param name="telemetry">The telemetry to initialize.</param> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.WindowsServer.BuildInfoConfigComponentVersionTelemetryInitializer"> |
| | | <summary> |
| | | A telemetry context initializer that will set component context version on the base of BuildInfo.config information. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.WindowsServer.BuildInfoConfigComponentVersionTelemetryInitializer.version"> |
| | | <summary> |
| | | The version for this component. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.BuildInfoConfigComponentVersionTelemetryInitializer.Initialize(Microsoft.ApplicationInsights.Channel.ITelemetry)"> |
| | | <summary> |
| | | Initializes version of the telemetry item with the version obtained from build info if it is available. |
| | | </summary> |
| | | <param name="telemetry">The telemetry context to initialize.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.BuildInfoConfigComponentVersionTelemetryInitializer.LoadBuildInfoConfig"> |
| | | <summary> |
| | | Loads BuildInfo.config and returns XElement. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.BuildInfoConfigComponentVersionTelemetryInitializer.GetVersion"> |
| | | <summary> |
| | | Gets the version for the current application. If the version cannot be found, we will return the passed in default. |
| | | </summary> |
| | | <returns>The extracted data.</returns> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.WindowsServer.DeveloperModeWithDebuggerAttachedTelemetryModule"> |
| | | <summary> |
| | | Telemetry module that sets developer mode to true when is not already set AND managed debugger is attached. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.WindowsServer.DeveloperModeWithDebuggerAttachedTelemetryModule.IsDebuggerAttached"> |
| | | <summary> |
| | | Function that checks whether debugger is attached with implementation that can be replaced by unit test code. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.DeveloperModeWithDebuggerAttachedTelemetryModule.Initialize(Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration)"> |
| | | <summary> |
| | | Gives the opportunity for this telemetry module to initialize configuration object that is passed to it. |
| | | </summary> |
| | | <param name="configuration">Configuration object.</param> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.WindowsServer.DeviceTelemetryInitializer"> |
| | | <summary> |
| | | A telemetry context initializer that will gather device context information. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.DeviceTelemetryInitializer.Initialize(Microsoft.ApplicationInsights.Channel.ITelemetry)"> |
| | | <summary> |
| | | Populates device properties on a telemetry item. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.WindowsServer.DomainNameRoleInstanceTelemetryInitializer"> |
| | | <summary> |
| | | A telemetry context initializer that populates device context role instance name. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.DomainNameRoleInstanceTelemetryInitializer.#ctor"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.DomainNameRoleInstanceTelemetryInitializer" /> class. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.DomainNameRoleInstanceTelemetryInitializer.Initialize(Microsoft.ApplicationInsights.Channel.ITelemetry)"> |
| | | <summary> |
| | | Initializes <see cref="T:Microsoft.ApplicationInsights.Channel.ITelemetry" /> device context. |
| | | </summary> |
| | | <param name="telemetry">The telemetry to initialize.</param> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.WindowsServer.Implementation.AzureRoleEnvironmentContextReader.instance"> |
| | | <summary> |
| | | The singleton instance for our reader. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.WindowsServer.Implementation.AzureRoleEnvironmentContextReader.roleName"> |
| | | <summary> |
| | | The Azure role name (if any). |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.WindowsServer.Implementation.AzureRoleEnvironmentContextReader.roleInstanceName"> |
| | | <summary> |
| | | The Azure role instance name (if any). |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.AzureRoleEnvironmentContextReader.#ctor"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.Implementation.AzureRoleEnvironmentContextReader"/> class. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.Implementation.AzureRoleEnvironmentContextReader.Instance"> |
| | | <summary> |
| | | Gets or sets the singleton instance for our application context reader. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.Implementation.AzureRoleEnvironmentContextReader.BaseDirectory"> |
| | | <summary> |
| | | Gets or sets the base directly where hunting for application DLLs is to start. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.AzureRoleEnvironmentContextReader.Initialize"> |
| | | <summary> |
| | | Initializes the current reader with respect to its environment. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.AzureRoleEnvironmentContextReader.GetRoleName"> |
| | | <summary> |
| | | Gets the Azure role name. |
| | | </summary> |
| | | <returns>The extracted data.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.AzureRoleEnvironmentContextReader.GetRoleInstanceName"> |
| | | <summary> |
| | | Gets the Azure role instance name. |
| | | </summary> |
| | | <returns>The extracted data.</returns> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.WindowsServer.Implementation.DeviceContextReader"> |
| | | <summary> |
| | | The reader is platform specific and applies to .NET applications only. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.Implementation.DeviceContextReader.Instance"> |
| | | <summary> |
| | | Gets or sets the singleton instance for our application context reader. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.DeviceContextReader.GetHostSystemLocale"> |
| | | <summary> |
| | | Gets the host system locale. |
| | | </summary> |
| | | <returns>The discovered locale.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.DeviceContextReader.GetDeviceType"> |
| | | <summary> |
| | | Gets the type of the device. |
| | | </summary> |
| | | <returns>The type for this device as a hard-coded string.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.DeviceContextReader.GetDeviceUniqueId"> |
| | | <summary> |
| | | Gets the device unique ID, or uses the fallback if none is available due to application configuration. |
| | | </summary> |
| | | <returns> |
| | | The discovered device identifier. |
| | | </returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.DeviceContextReader.GetOemName"> |
| | | <summary> |
| | | Gets the device OEM. |
| | | </summary> |
| | | <returns>The discovered OEM.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.DeviceContextReader.GetDeviceModel"> |
| | | <summary> |
| | | Gets the device model. |
| | | </summary> |
| | | <returns>The discovered device model.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.DeviceContextReader.GetNetworkType"> |
| | | <summary> |
| | | Gets the network type. |
| | | </summary> |
| | | <returns>The discovered network type.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.DeviceContextReader.RunWmiQuery(System.String,System.String,System.String)"> |
| | | <summary> |
| | | Runs a single WMI query for a property. |
| | | </summary> |
| | | <param name="table">The table.</param> |
| | | <param name="property">The property.</param> |
| | | <param name="defaultValue">The default value of the property if WMI fails.</param> |
| | | <returns>The value if found, Unknown otherwise.</returns> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.WindowsServer.Implementation.IAzureRoleEnvironmentContextReader"> |
| | | <summary> |
| | | The user context reader interface used while reading user related information in a platform specific way. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.IAzureRoleEnvironmentContextReader.Initialize"> |
| | | <summary> |
| | | Initializes the current reader with respect to its environment. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.IAzureRoleEnvironmentContextReader.GetRoleName"> |
| | | <summary> |
| | | Gets the Azure role name. |
| | | </summary> |
| | | <returns>The extracted data.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.IAzureRoleEnvironmentContextReader.GetRoleInstanceName"> |
| | | <summary> |
| | | Gets the Azure role instance name. |
| | | </summary> |
| | | <returns>The extracted data.</returns> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.WindowsServer.Implementation.Role"> |
| | | <summary> |
| | | Represents a role that is defined as part of a hosted service. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.Role.#ctor(System.Object)"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.Implementation.Role"/> class. |
| | | </summary> |
| | | <param name="targetObject">The target object.</param> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.Implementation.Role.Name"> |
| | | <summary> |
| | | Gets the name of the role as it is declared in the service definition file. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.Role.GetTargetObjectInstance(System.Type,System.Object[])"> |
| | | <summary> |
| | | Gets the target object instance. |
| | | </summary> |
| | | <param name="targetType">Type of the target.</param> |
| | | <param name="activationArgs">The activation arguments.</param> |
| | | <returns> |
| | | The activated instance is one is required. |
| | | </returns> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.WindowsServer.Implementation.RoleEnvironment"> |
| | | <summary> |
| | | Provides information about the configuration, endpoints, and status of running role instances. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.RoleEnvironment.#ctor"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.Implementation.RoleEnvironment"/> class. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.Implementation.RoleEnvironment.IsAvailable"> |
| | | <summary> |
| | | Gets a value indicating whether the role instance is running in the Windows Azure environment. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.Implementation.RoleEnvironment.DeploymentId"> |
| | | <summary> |
| | | Gets the unique identifier of the deployment in which the role instance is running. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.Implementation.RoleEnvironment.CurrentRoleInstance"> |
| | | <summary> |
| | | Gets a RoleInstance object that represents the role instance in which the code is currently running. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.RoleEnvironment.GetTargetObjectInstance(System.Type,System.Object[])"> |
| | | <summary> |
| | | Gets the target object instance. |
| | | </summary> |
| | | <param name="targetType">Type of the target.</param> |
| | | <param name="activationArgs">The activation arguments.</param> |
| | | <returns> |
| | | The activated instance is one is required. |
| | | </returns> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.WindowsServer.Implementation.RoleInstance"> |
| | | <summary> |
| | | Represents an instance of a role. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.RoleInstance.#ctor(System.Object)"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.Implementation.RoleInstance"/> class. |
| | | </summary> |
| | | <param name="targetObject">The target object.</param> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.Implementation.RoleInstance.Id"> |
| | | <summary> |
| | | Gets the instance identifier (ID) of the role instance. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.Implementation.RoleInstance.Role"> |
| | | <summary> |
| | | Gets the Role object that is associated with the role instance. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.RoleInstance.GetTargetObjectInstance(System.Type,System.Object[])"> |
| | | <summary> |
| | | Gets the target object instance. |
| | | </summary> |
| | | <param name="targetType">Type of the target.</param> |
| | | <param name="activationArgs">The activation arguments.</param> |
| | | <returns> |
| | | The activated instance is one is required. |
| | | </returns> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.WindowsServer.Implementation.RuntimeBindingObject"> |
| | | <summary> |
| | | A runtime bound object for a given .NET type. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.WindowsServer.Implementation.RuntimeBindingObject.targetType"> |
| | | <summary> |
| | | The target type for our object. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.WindowsServer.Implementation.RuntimeBindingObject.targetObject"> |
| | | <summary> |
| | | The target object. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.RuntimeBindingObject.#ctor(System.Type,System.Object[])"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.Implementation.RuntimeBindingObject"/> class. |
| | | </summary> |
| | | <param name="targetType">Type of the target.</param> |
| | | <param name="activationArgs">The activation arguments.</param> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.Implementation.RuntimeBindingObject.TargetType"> |
| | | <summary> |
| | | Gets or sets the type of the target. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.WindowsServer.Implementation.RuntimeBindingObject.TargetObject"> |
| | | <summary> |
| | | Gets or sets the target object. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.RuntimeBindingObject.GetTargetObjectInstance(System.Type,System.Object[])"> |
| | | <summary> |
| | | Gets the target object instance. |
| | | </summary> |
| | | <param name="targetType">Type of the target.</param> |
| | | <param name="activationArgs">The activation arguments.</param> |
| | | <returns>The activated instance is one is required.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.RuntimeBindingObject.GetProperty(System.String,System.Object[])"> |
| | | <summary> |
| | | Gets the property. |
| | | </summary> |
| | | <param name="name">The name.</param> |
| | | <param name="args">The arguments.</param> |
| | | <returns>The value for our property.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.RuntimeBindingObject.GetProperty(System.String,System.Type[],System.Object[])"> |
| | | <summary> |
| | | Gets the property. |
| | | </summary> |
| | | <param name="name">The name.</param> |
| | | <param name="parameterTypes">The parameter types.</param> |
| | | <param name="args">The arguments.</param> |
| | | <returns>The value for our property.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.RuntimeBindingObject.GetProperty(System.String,System.Reflection.BindingFlags,System.Type[],System.Object[])"> |
| | | <summary> |
| | | Gets the property. |
| | | </summary> |
| | | <param name="name">The name.</param> |
| | | <param name="bindingFlags">The binding flags.</param> |
| | | <param name="parameterTypes">The parameter types.</param> |
| | | <param name="args">The arguments.</param> |
| | | <returns>The value for our property.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.RuntimeBindingObject.InvokeHelper(System.String,System.Reflection.BindingFlags,System.Object[],System.Globalization.CultureInfo)"> |
| | | <summary> |
| | | Invocation helper for calling any member on our target object. |
| | | </summary> |
| | | <param name="name">The name.</param> |
| | | <param name="bindingFlags">The binding flags.</param> |
| | | <param name="args">The arguments.</param> |
| | | <param name="culture">The culture.</param> |
| | | <returns>The return value for our invocation.</returns> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.WindowsServer.Implementation.ServiceRuntime"> |
| | | <summary> |
| | | The wrapper for the Azure Service Runtime. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.ServiceRuntime.GetRoleEnvironment(System.String)"> |
| | | <summary> |
| | | Gets the role environment. |
| | | </summary> |
| | | <param name="baseDirectory">The base directory.</param> |
| | | <returns> |
| | | The role environment object. |
| | | </returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.TypeHelpers.GetLoadedType(System.String,System.String)"> |
| | | <summary> |
| | | Gets the type by type name from the assembly. |
| | | </summary> |
| | | <param name="typeName">The type name.</param> |
| | | <param name="assemblyName">The assembly name.</param> |
| | | <returns>Return type from assembly loaded in the process by assembly and type name.</returns> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.WindowsServer.Implementation.WindowsServerEventSource"> |
| | | <summary> |
| | | ETW EventSource tracing class. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.WindowsServer.Implementation.WindowsServerEventSource.Log"> |
| | | <summary> |
| | | Instance of the WindowsServerEventSource class. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.WindowsServer.Implementation.WindowsServerEventSource.Keywords"> |
| | | <summary> |
| | | Keywords for the PlatformEventSource. Those keywords should match keywords in Core. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.WindowsServer.Implementation.WindowsServerEventSource.Keywords.UserActionable"> |
| | | <summary> |
| | | Key word for user actionable events. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.WindowsServer.UnhandledExceptionTelemetryModule"> |
| | | <summary> |
| | | The module subscribed to AppDomain.CurrentDomain.UnhandledException to send exceptions to ApplicationInsights. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.UnhandledExceptionTelemetryModule.#ctor"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.UnhandledExceptionTelemetryModule"/> class. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.UnhandledExceptionTelemetryModule.Initialize(Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration)"> |
| | | <summary> |
| | | Initializes the telemetry module. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.UnhandledExceptionTelemetryModule.Dispose"> |
| | | <summary> |
| | | Disposing UnhandledExceptionTelemetryModule instance. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.WindowsServer.UnobservedExceptionTelemetryModule"> |
| | | <summary> |
| | | The module subscribed to TaskScheduler.UnobservedTaskException to send exceptions to ApplicationInsights. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.UnobservedExceptionTelemetryModule.#ctor"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.UnobservedExceptionTelemetryModule" /> class. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.UnobservedExceptionTelemetryModule.Initialize(Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration)"> |
| | | <summary> |
| | | Initializes the telemetry module. |
| | | </summary> |
| | | <param name="configuration">Telemetry Configuration used for creating TelemetryClient for sending exceptions to ApplicationInsights.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.WindowsServer.UnobservedExceptionTelemetryModule.Dispose"> |
| | | <summary> |
| | | Disposing TaskSchedulerOnUnobservedTaskException instance. |
| | | </summary> |
| | | </member> |
| | | </members> |
| | | </doc> |
| New file |
| | |
| | | <?xml version="1.0"?> |
| | | <doc> |
| | | <assembly> |
| | | <name>Microsoft.ApplicationInsights</name> |
| | | </assembly> |
| | | <members> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.Platform.PlatformImplementation"> |
| | | <summary> |
| | | The .NET 4.0 and 4.5 implementation of the <see cref="T:Microsoft.ApplicationInsights.Extensibility.Implementation.IPlatform"/> interface. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.Platform.PlatformImplementation.ReadConfigurationXml"> |
| | | <summary> |
| | | Returns contents of the ApplicationInsights.config file in the application directory. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.Platform.PlatformImplementation.GetDebugOutput"> |
| | | <summary> |
| | | Returns the platform specific Debugger writer to the VS output console. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.Platform.PlatformSingleton"> |
| | | <summary> |
| | | Provides access to the <see cref="P:Microsoft.ApplicationInsights.Extensibility.Implementation.Platform.PlatformSingleton.Current"/> platform. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.Platform.PlatformSingleton.Current"> |
| | | <summary> |
| | | Gets or sets the current <see cref="T:Microsoft.ApplicationInsights.Extensibility.Implementation.IPlatform"/> implementation. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryConfigurationFactory.#ctor"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryConfigurationFactory"/> class. |
| | | </summary> |
| | | <remarks> |
| | | This constructor is protected because <see cref="T:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryConfigurationFactory"/> is only meant to be instantiated |
| | | by the <see cref="P:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryConfigurationFactory.Instance"/> property or by tests. |
| | | </remarks> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryConfigurationFactory.Instance"> |
| | | <summary> |
| | | Gets or sets the default <see cref="T:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryConfigurationFactory"/> instance used by <see cref="T:Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration"/>. |
| | | </summary> |
| | | <remarks> |
| | | This property is a test isolation "pinch point" that allows us to test <see cref="T:Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration"/> without using reflection. |
| | | </remarks> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.External.AjaxCallData"> |
| | | <summary> |
| | | Partial class to add the EventData attribute and any additional customizations to the generated type. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.External.DataPoint"> |
| | | <summary> |
| | | Partial class to add the EventData attribute and any additional customizations to the generated type. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.External.EventData"> |
| | | <summary> |
| | | Partial class to add the EventData attribute and any additional customizations to the generated type. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.External.ExceptionData"> |
| | | <summary> |
| | | Partial class to add the EventData attribute and any additional customizations to the generated type. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.External.MessageData"> |
| | | <summary> |
| | | Partial class to add the EventData attribute and any additional customizations to the generated type. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.External.MetricData"> |
| | | <summary> |
| | | Partial class to add the EventData attribute and any additional customizations to the generated type. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.External.PageViewData"> |
| | | <summary> |
| | | Partial class to add the EventData attribute and any additional customizations to the generated type. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.External.PageViewPerfData"> |
| | | <summary> |
| | | Partial class to add the EventData attribute and any additional customizations to the generated type. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.External.PerformanceCounterData"> |
| | | <summary> |
| | | Partial class to add the EventData attribute and any additional customizations to the generated type. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.External.RemoteDependencyData"> |
| | | <summary> |
| | | Partial class to add the EventData attribute and any additional customizations to the generated type. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.External.RequestData"> |
| | | <summary> |
| | | Partial class to add the EventData attribute and any additional customizations to the generated type. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.External.SessionStateData"> |
| | | <summary> |
| | | Partial class to add the EventData attribute and any additional customizations to the generated type. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.External.StackFrame"> |
| | | <summary> |
| | | Partial class to add the EventData attribute and any additional customizations to the generated type. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.External.ExceptionDetails"> |
| | | <summary> |
| | | Additional implementation for ExceptionDetails. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.External.ExceptionDetails.CreateWithoutStackInfo(System.Exception,Microsoft.ApplicationInsights.Extensibility.Implementation.External.ExceptionDetails)"> |
| | | <summary> |
| | | Creates a new instance of ExceptionDetails from a System.Exception and a parent ExceptionDetails. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.External.ComponentContextData"> |
| | | <summary> |
| | | Encapsulates information describing an Application Insights component. |
| | | </summary> |
| | | <remarks> |
| | | This class matches the "Application" schema concept. We are intentionally calling it "Component" for consistency |
| | | with terminology used by our portal and services and to encourage standardization of terminology within our |
| | | organization. Once a consensus is reached, we will change type and property names to match. |
| | | </remarks> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.External.ComponentContextData.Version"> |
| | | <summary> |
| | | Gets or sets the application version. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.External.ComponentContextData.Build"> |
| | | <summary> |
| | | Gets or sets the application version. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.External.ContextTagKeys"> |
| | | <summary> |
| | | Holds the static singleton instance of ContextTagKeys. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.External.DeviceContextData"> |
| | | <summary> |
| | | Encapsulates information about a device where an application is running. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.External.DeviceContextData.Type"> |
| | | <summary> |
| | | Gets or sets the type for the current device. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.External.DeviceContextData.Id"> |
| | | <summary> |
| | | Gets or sets a device unique ID. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.External.DeviceContextData.OperatingSystem"> |
| | | <summary> |
| | | Gets or sets the operating system name. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.External.DeviceContextData.OemName"> |
| | | <summary> |
| | | Gets or sets the device OEM for the current device. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.External.DeviceContextData.Model"> |
| | | <summary> |
| | | Gets or sets the device model for the current device. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.External.DeviceContextData.NetworkType"> |
| | | <summary> |
| | | Gets or sets the <a href="http://www.iana.org/assignments/ianaiftype-mib/ianaiftype-mib">IANA interface type</a> |
| | | for the internet connected network adapter. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.External.DeviceContextData.ScreenResolution"> |
| | | <summary> |
| | | Gets or sets the current application screen resolution. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.External.DeviceContextData.Language"> |
| | | <summary> |
| | | Gets or sets the current display language of the operating system. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.External.DeviceContextData.RoleName"> |
| | | <summary> |
| | | Gets or sets the role name. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.External.DeviceContextData.RoleInstance"> |
| | | <summary> |
| | | Gets or sets the role instance. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.External.DeviceContextData.Ip"> |
| | | <summary> |
| | | Gets or sets the device IP address. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.External.DeviceContextData.MachineName"> |
| | | <summary> |
| | | Gets or sets the device VM name. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.External.InternalContextData"> |
| | | <summary> |
| | | Internal context type shared between SDK and DP. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.External.LocationContextData"> |
| | | <summary> |
| | | Encapsulates telemetry location information. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.External.LocationContextData.Ip"> |
| | | <summary> |
| | | Gets or sets the location IP. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.External.OperationContextData"> |
| | | <summary> |
| | | Encapsulates information about a user session. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.External.OperationContextData.Id"> |
| | | <summary> |
| | | Gets or sets the application-defined operation ID. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.External.OperationContextData.Name"> |
| | | <summary> |
| | | Gets or sets the application-defined operation NAME. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.External.SessionContextData"> |
| | | <summary> |
| | | Encapsulates information about a user session. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.External.SessionContextData.Id"> |
| | | <summary> |
| | | Gets or sets the application-defined session ID. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.External.SessionContextData.IsFirst"> |
| | | <summary> |
| | | Gets or sets the IsFirst Session for the user. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.External.SessionContextData.IsNewSession"> |
| | | <summary> |
| | | Gets or sets the IsNewSession Session. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.External.Tags"> |
| | | <summary> |
| | | Base class for tags backed context. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.External.UserContextData"> |
| | | <summary> |
| | | Encapsulates information about a user using an application. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.External.UserContextData.Id"> |
| | | <summary> |
| | | Gets or sets the ID of user accessing the application. |
| | | </summary> |
| | | <remarks> |
| | | Unique user ID is automatically generated in default Application Insights configuration. |
| | | </remarks> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.External.UserContextData.AccountId"> |
| | | <summary> |
| | | Gets or sets the ID of an application-defined account associated with the user. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.External.UserContextData.UserAgent"> |
| | | <summary> |
| | | Gets or sets the UserAgent of an application-defined account associated with the user. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.External.UserContextData.AuthUserId"> |
| | | <summary> |
| | | Gets or sets the UserAgent of an application-defined account associated with the user. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.External.UserContextData.StoreRegion"> |
| | | <summary> |
| | | Gets or sets the StoreRegion of an application-defined account associated with the user. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.External.UserContextData.AcquisitionDate"> |
| | | <summary> |
| | | Gets or sets the date when the user accessed the application for the first time. |
| | | </summary> |
| | | <remarks> |
| | | Acquisition date is automatically supplied in default Application Insights configuration. |
| | | </remarks> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.External.UserContextData.SetDefaults(Microsoft.ApplicationInsights.Extensibility.Implementation.External.UserContextData)"> |
| | | <summary> |
| | | Sets values on the current context based on the default context passed in. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Extensibility.Implementation.RichPayloadEventSource.Log"> |
| | | <summary>RichPayloadEventSource instance.</summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Extensibility.Implementation.RichPayloadEventSource.EventSourceInternal"> |
| | | <summary>Event source.</summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Extensibility.Implementation.RichPayloadEventSource.EventProviderName"> |
| | | <summary>Event provider name.</summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.RichPayloadEventSource.#ctor"> |
| | | <summary> |
| | | Initializes a new instance of the RichPayloadEventSource class. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.RichPayloadEventSource.Process(Microsoft.ApplicationInsights.Channel.ITelemetry)"> |
| | | <summary> |
| | | Process a collected telemetry item. |
| | | </summary> |
| | | <param name="item">A collected Telemetry item.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.RichPayloadEventSource.Dispose"> |
| | | <summary> |
| | | Disposes the object. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.RichPayloadEventSource.Dispose(System.Boolean)"> |
| | | <summary> |
| | | Disposes the object. |
| | | </summary> |
| | | <param name="disposing">True if disposing.</param> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.RichPayloadEventSource.Keywords"> |
| | | <summary> |
| | | Keywords for the RichPayloadEventSource. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Extensibility.Implementation.RichPayloadEventSource.Keywords.Requests"> |
| | | <summary> |
| | | Keyword for requests. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Extensibility.Implementation.RichPayloadEventSource.Keywords.Traces"> |
| | | <summary> |
| | | Keyword for traces. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Extensibility.Implementation.RichPayloadEventSource.Keywords.Events"> |
| | | <summary> |
| | | Keyword for events. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Extensibility.Implementation.RichPayloadEventSource.Keywords.Exceptions"> |
| | | <summary> |
| | | Keyword for exceptions. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Extensibility.Implementation.RichPayloadEventSource.Keywords.Dependencies"> |
| | | <summary> |
| | | Keyword for dependencies. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Extensibility.Implementation.RichPayloadEventSource.Keywords.Metrics"> |
| | | <summary> |
| | | Keyword for metrics. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Extensibility.Implementation.RichPayloadEventSource.Keywords.PageViews"> |
| | | <summary> |
| | | Keyword for page views. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Extensibility.Implementation.RichPayloadEventSource.Keywords.PerformanceCounters"> |
| | | <summary> |
| | | Keyword for performance counters. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Extensibility.Implementation.RichPayloadEventSource.Keywords.SessionState"> |
| | | <summary> |
| | | Keyword for session state. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.ComponentContext"> |
| | | <summary> |
| | | Encapsulates information describing an Application Insights component. |
| | | </summary> |
| | | <remarks> |
| | | This class matches the "Application" schema concept. We are intentionally calling it "Component" for consistency |
| | | with terminology used by our portal and services and to encourage standardization of terminology within our |
| | | organization. Once a consensus is reached, we will change type and property names to match. |
| | | </remarks> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.ComponentContext.Version"> |
| | | <summary> |
| | | Gets or sets the application version. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryDebugWriter"> |
| | | <summary> |
| | | Writes telemetry items to debug output. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryDebugWriter.IsTracingDisabled"> |
| | | <summary> |
| | | Gets or sets a value indicating whether writing telemetry items to debug output is enabled. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryDebugWriter.WriteTelemetry(Microsoft.ApplicationInsights.Channel.ITelemetry,System.String)"> |
| | | <summary> |
| | | Write the specified <see cref="T:Microsoft.ApplicationInsights.Channel.ITelemetry"/> item to debug output. |
| | | </summary> |
| | | <param name="telemetry">Item to write.</param> |
| | | <param name="filteredBy">If specified, indicates the telemetry item was filtered out and not sent to the API.</param> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.CloudContext"> |
| | | <summary> |
| | | Encapsulates information about a cloud where an application is running. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.CloudContext.RoleName"> |
| | | <summary> |
| | | Gets or sets the role name. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.CloudContext.RoleInstance"> |
| | | <summary> |
| | | Gets or sets the role instance. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.DeviceContext"> |
| | | <summary> |
| | | Encapsulates information about a device where an application is running. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.DeviceContext.Type"> |
| | | <summary> |
| | | Gets or sets the type for the current device. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.DeviceContext.Id"> |
| | | <summary> |
| | | Gets or sets a device unique ID. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.DeviceContext.OperatingSystem"> |
| | | <summary> |
| | | Gets or sets the operating system name. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.DeviceContext.OemName"> |
| | | <summary> |
| | | Gets or sets the device OEM for the current device. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.DeviceContext.Model"> |
| | | <summary> |
| | | Gets or sets the device model for the current device. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.DeviceContext.NetworkType"> |
| | | <summary> |
| | | Gets or sets the <a href="http://www.iana.org/assignments/ianaiftype-mib/ianaiftype-mib">IANA interface type</a> |
| | | for the internet connected network adapter. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.DeviceContext.ScreenResolution"> |
| | | <summary> |
| | | Gets or sets the current application screen resolution. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.DeviceContext.Language"> |
| | | <summary> |
| | | Gets or sets the current display language of the operating system. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.ExceptionConverter.ConvertToExceptionDetails(System.Exception,Microsoft.ApplicationInsights.Extensibility.Implementation.External.ExceptionDetails)"> |
| | | <summary> |
| | | Converts a System.Exception to a Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryTypes.ExceptionDetails. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.ExceptionConverter.SanitizeStackFrame``2(System.Collections.Generic.IList{``0},System.Func{``0,System.Int32,``1},System.Func{``1,System.Int32})"> |
| | | <summary> |
| | | Sanitizing stack to 32k while selecting the initial and end stack trace. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.ExceptionConverter.GetStackFrame(System.Diagnostics.StackFrame,System.Int32)"> |
| | | <summary> |
| | | Converts a System.Diagnostics.StackFrame to a Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryTypes.StackFrame. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.ExceptionConverter.GetStackFrameLength(Microsoft.ApplicationInsights.Extensibility.Implementation.External.StackFrame)"> |
| | | <summary> |
| | | Gets the stack frame length for only the strings in the stack frame. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.Clock"> |
| | | <summary> |
| | | A highly-accurate, precise and testable clock. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.InternalContext"> |
| | | <summary> |
| | | Encapsulates Internal information. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.InternalContext.SdkVersion"> |
| | | <summary> |
| | | Gets or sets application insights SDK version. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.InternalContext.AgentVersion"> |
| | | <summary> |
| | | Gets or sets application insights agent version. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.IPlatform"> |
| | | <summary> |
| | | Encapsulates platform-specific functionality required by the API. |
| | | </summary> |
| | | <remarks> |
| | | This type is public to enable mocking on Windows Phone. |
| | | </remarks> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.IPlatform.GetApplicationSettings"> |
| | | <summary> |
| | | Returns a dictionary that can be used to access per-user/per-application settings shared by all application instances. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.IPlatform.ReadConfigurationXml"> |
| | | <summary> |
| | | Returns contents of the ApplicationInsights.config file in the application directory. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.IPlatform.GetExceptionDetails(System.Exception,Microsoft.ApplicationInsights.Extensibility.Implementation.External.ExceptionDetails)"> |
| | | <summary> |
| | | Returns the platform specific <see cref="T:Microsoft.ApplicationInsights.Extensibility.Implementation.External.ExceptionDetails"/> object for the given Exception. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.IPlatform.GetDebugOutput"> |
| | | <summary> |
| | | Returns the platform specific Debugger writer to the VS output console. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.IRandomNumberBatchGenerator"> |
| | | <summary> |
| | | Interface for random number generator capable of producing |
| | | a batch of unsigned 64 bit random numbers. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.JsonSerializer"> |
| | | <summary> |
| | | Serializes and compress the telemetry items into a JSON string. Compression will be done using GZIP, for Windows Phone 8 compression will be disabled because there |
| | | is API support for it. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.JsonSerializer.CompressionType"> |
| | | <summary> |
| | | Gets the compression type used by the serializer. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.JsonSerializer.Serialize(System.Collections.Generic.IEnumerable{Microsoft.ApplicationInsights.Channel.ITelemetry},System.Boolean)"> |
| | | <summary> |
| | | Serializes and compress the telemetry items into a JSON string. Each JSON object is separated by a new line. |
| | | </summary> |
| | | <param name="telemetryItems">The list of telemetry items to serialize.</param> |
| | | <param name="compress">Should serialization also perform compression.</param> |
| | | <returns>The compressed and serialized telemetry items.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.JsonSerializer.Serialize(Microsoft.ApplicationInsights.Channel.ITelemetry,System.Boolean)"> |
| | | <summary> |
| | | Serialize and compress a telemetry item. |
| | | </summary> |
| | | <param name="telemetryItem">A telemetry item.</param> |
| | | <param name="compress">Should serialization also perform compression.</param> |
| | | <returns>The compressed and serialized telemetry item.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.JsonSerializer.SerializeAsString(System.Collections.Generic.IEnumerable{Microsoft.ApplicationInsights.Channel.ITelemetry})"> |
| | | <summary> |
| | | Serializes <paramref name="telemetryItems"/> into a JSON string. Each JSON object is separated by a new line. |
| | | </summary> |
| | | <param name="telemetryItems">The list of telemetry items to serialize.</param> |
| | | <returns>A JSON string of all the serialized items.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.JsonSerializer.SerializeAsString(Microsoft.ApplicationInsights.Channel.ITelemetry)"> |
| | | <summary> |
| | | Serializes a <paramref name="telemetry"/> into a JSON string. |
| | | </summary> |
| | | <param name="telemetry">The telemetry to serialize.</param> |
| | | <returns>A JSON string of the serialized telemetry.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.JsonSerializer.CreateCompressedStream(System.IO.Stream)"> |
| | | <summary> |
| | | Creates a GZIP compression stream that wraps <paramref name="stream"/>. For windows phone 8.0 it returns <paramref name="stream"/>. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.JsonSerializer.SeializeToStream(System.Collections.Generic.IEnumerable{Microsoft.ApplicationInsights.Channel.ITelemetry},System.IO.TextWriter)"> |
| | | <summary> |
| | | Serializes <paramref name="telemetryItems"/> and write the response to <paramref name="streamWriter"/>. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.JsonSerializer.SerializePerformanceCounter(Microsoft.ApplicationInsights.DataContracts.PerformanceCounterTelemetry,Microsoft.ApplicationInsights.Extensibility.Implementation.JsonWriter)"> |
| | | <summary> |
| | | Serializes this object in JSON format. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.JsonWriter.WritePropertyName(System.String)"> |
| | | <summary> |
| | | Writes the specified property name enclosed in double quotation marks followed by a colon. |
| | | </summary> |
| | | <remarks> |
| | | When this method is called multiple times, the second call after <see cref="M:Microsoft.ApplicationInsights.Extensibility.Implementation.JsonWriter.WriteStartObject"/> |
| | | and all subsequent calls will write a coma before the name. |
| | | </remarks> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.LocationContext"> |
| | | <summary> |
| | | Encapsulates telemetry location information. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.LocationContext.Ip"> |
| | | <summary> |
| | | Gets or sets the location IP. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.OperationContext"> |
| | | <summary> |
| | | Encapsulates information about an operation. Operation normally reflects an end to end scenario that starts from a user action (e.g. button click). |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.OperationContext.Id"> |
| | | <summary> |
| | | Gets or sets the application-defined operation ID for the topmost operation. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.OperationContext.ParentId"> |
| | | <summary> |
| | | Gets or sets the parent operation ID. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.OperationContext.CorrelationVector"> |
| | | <summary> |
| | | Gets or sets the correlation vector for the current telemetry item. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.OperationContext.Name"> |
| | | <summary> |
| | | Gets or sets the application-defined topmost operation's name. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.OperationContext.SyntheticSource"> |
| | | <summary> |
| | | Gets or sets the application-defined operation SyntheticSource. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.OperationTelemetry"> |
| | | <summary> |
| | | Base class for telemetry types representing duration in time. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.OperationTelemetry.StartTime"> |
| | | <summary> |
| | | Gets or sets the start time of the operation. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.OperationTelemetry.Id"> |
| | | <summary> |
| | | Gets or sets Operation ID. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.OperationTelemetry.Name"> |
| | | <summary> |
| | | Gets or sets the name of the operation. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.OperationTelemetry.Success"> |
| | | <summary> |
| | | Gets or sets whether operation has finished successfully. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.OperationTelemetry.Duration"> |
| | | <summary> |
| | | Gets or sets the duration of the operation. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.OperationTelemetry.Properties"> |
| | | <summary> |
| | | Gets the custom properties collection. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.OperationTelemetry.Timestamp"> |
| | | <summary> |
| | | Gets or sets the timestamp for the operation. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.OperationTelemetry.Context"> |
| | | <summary> |
| | | Gets the object that contains contextual information about the application at the time when it handled the request. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.OperationTelemetry.Sequence"> |
| | | <summary> |
| | | Gets or sets the value that defines absolute order of the telemetry item. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.OperationTelemetry.Microsoft#ApplicationInsights#Channel#ITelemetry#Sanitize"> |
| | | <summary> |
| | | Sanitizes the properties based on constraints. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.OperationTelemetry.Sanitize"> |
| | | <summary> |
| | | Allow to call OperationTelemetry.Sanitize method from child classes. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.Property"> |
| | | <summary> |
| | | A helper class for implementing properties of telemetry and context classes. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.SessionContext"> |
| | | <summary> |
| | | Encapsulates information about a user session. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.SessionContext.Id"> |
| | | <summary> |
| | | Gets or sets the application-defined session ID. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.SessionContext.IsFirst"> |
| | | <summary> |
| | | Gets or sets the IsFirst Session for the user. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.TaskTimer"> |
| | | <summary> |
| | | Runs a task after a certain delay and log any error. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Extensibility.Implementation.TaskTimer.InfiniteTimeSpan"> |
| | | <summary> |
| | | Represents an infinite time span. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.TaskTimer.Delay"> |
| | | <summary> |
| | | Gets or sets the delay before the task starts. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.TaskTimer.IsStarted"> |
| | | <summary> |
| | | Gets a value indicating whether value that indicates if a task has already started. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.TaskTimer.Start(System.Func{System.Threading.Tasks.Task})"> |
| | | <summary> |
| | | Start the task. |
| | | </summary> |
| | | <param name="elapsed">The task to run.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.TaskTimer.Cancel"> |
| | | <summary> |
| | | Cancels the current task. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.TaskTimer.Dispose"> |
| | | <summary> |
| | | Releases unmanaged and - optionally - managed resources. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.Telemetry.NormalizeInstrumentationKey(System.String)"> |
| | | <summary> |
| | | Normalize instrumentation key by removing dashes ('-') and making string in the lowercase. |
| | | In case no InstrumentationKey is available just return empty string. |
| | | In case when InstrumentationKey is available return normalized key + dot ('.') |
| | | as a separator between instrumentation key part and telemetry name part. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryContextExtensions"> |
| | | <summary> |
| | | Extension methods for TelemetryContext. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryContextExtensions.GetInternalContext(Microsoft.ApplicationInsights.DataContracts.TelemetryContext)"> |
| | | <summary> |
| | | Returns TelemetryContext's Internal context. |
| | | </summary> |
| | | <param name="context">Telemetry context to get Internal context for.</param> |
| | | <returns>Internal context for TelemetryContext.</returns> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChain"> |
| | | <summary> |
| | | Represents the TelemetryProcessor chain. Clients should use TelemetryProcessorChainBuilder to construct this object. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChain.#ctor"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChain" /> class. |
| | | Marked internal, as clients should use TelemetryProcessorChainBuilder to build the processing chain. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChain.#ctor(System.Collections.Generic.IEnumerable{Microsoft.ApplicationInsights.Extensibility.ITelemetryProcessor})"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChain" /> class by using the given list elements. |
| | | Marked internal, as clients should use TelemetryProcessorChainBuilder to build the processing chain. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChain.FirstTelemetryProcessor"> |
| | | <summary> |
| | | Gets the first telemetry processor from the chain of processors. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChain.TelemetryProcessors"> |
| | | <summary> |
| | | Gets the list of TelemetryProcessors making up this chain. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChain.Process(Microsoft.ApplicationInsights.Channel.ITelemetry)"> |
| | | <summary> |
| | | Invokes the process method in the first telemetry processor. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChain.Dispose"> |
| | | <summary> |
| | | Releases resources used by the current instance of the <see cref="T:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChain"/> class. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder"> |
| | | <summary> |
| | | Represents an object used to Build a TelemetryProcessorChain. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder.#ctor(Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration)"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder" /> class. |
| | | </summary> |
| | | <param name="configuration"> The <see cref="T:Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration"/> instance to which the constructed processing chain should be set to. </param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder.Use(System.Func{Microsoft.ApplicationInsights.Extensibility.ITelemetryProcessor,Microsoft.ApplicationInsights.Extensibility.ITelemetryProcessor})"> |
| | | <summary> |
| | | Uses given factory to add TelemetryProcessor to the chain of processors. The processors |
| | | in the chain will be invoked in the same order in which they are added. |
| | | </summary> |
| | | <param name="telemetryProcessorFactory">A delegate that returns a <see cref="T:Microsoft.ApplicationInsights.Extensibility.ITelemetryProcessor"/> |
| | | , given the next <see cref="T:Microsoft.ApplicationInsights.Extensibility.ITelemetryProcessor"/> in the call chain.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder.Build"> |
| | | <summary> |
| | | Builds the chain of linked <see cref="T:Microsoft.ApplicationInsights.Extensibility.ITelemetryProcessor" /> instances and sets the same in configuration object passed. |
| | | A special telemetry processor for handling Transmission is always appended as the last |
| | | processor in the chain. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.CoreEventSource.OperationIsNullWarning(System.String)"> |
| | | <summary> |
| | | Logs the information when there operation to track is null. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.CoreEventSource.InvalidOperationToStopError(System.String)"> |
| | | <summary> |
| | | Logs the information when there operation to stop does not match the current operation. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.CoreEventSource.Keywords"> |
| | | <summary> |
| | | Keywords for the PlatformEventSource. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.CoreEventSource.Keywords.UserActionable"> |
| | | <summary> |
| | | Key word for user actionable events. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.CoreEventSource.Keywords.Diagnostics"> |
| | | <summary> |
| | | Keyword for errors that trace at Verbose level. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.CoreEventSource.Keywords.VerboseFailure"> |
| | | <summary> |
| | | Keyword for errors that trace at Verbose level. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.CoreEventSource.Keywords.ErrorFailure"> |
| | | <summary> |
| | | Keyword for errors that trace at Error level. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.DiagnosticsListener"> |
| | | <summary> |
| | | Subscriber to ETW Event source events, which sends data to other Senders (F5 and Portal). |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.DiagnosticsTelemetryModule"> |
| | | <summary> |
| | | Use diagnostics telemetry module to report SDK internal problems to the portal and VS debug output window. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.DiagnosticsTelemetryModule.#ctor"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.DiagnosticsTelemetryModule"/> class. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.DiagnosticsTelemetryModule.Finalize"> |
| | | <summary> |
| | | Finalizes an instance of the <see cref="T:Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.DiagnosticsTelemetryModule" /> class. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.DiagnosticsTelemetryModule.Severity"> |
| | | <summary> |
| | | Gets or sets diagnostics Telemetry Module LogLevel configuration setting. |
| | | Possible values LogAlways, Critical, Error, Warning, Informational and Verbose. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.DiagnosticsTelemetryModule.DiagnosticsInstrumentationKey"> |
| | | <summary> |
| | | Gets or sets instrumentation key for diagnostics. Use to redirect SDK |
| | | internal problems reporting to the separate instrumentation key. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.DiagnosticsTelemetryModule.Initialize(Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration)"> |
| | | <summary> |
| | | Initializes this telemetry module. |
| | | </summary> |
| | | <param name="configuration">Telemetry configuration to use for this telemetry module.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.DiagnosticsTelemetryModule.Dispose"> |
| | | <summary> |
| | | Disposes this object. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.EventMetaData"> |
| | | <summary> |
| | | Event metadata from event source method attribute. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.Extensions"> |
| | | <summary> |
| | | Provides a set of extension methods for tracing. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.Extensions.ToInvariantString(System.Exception)"> |
| | | <summary> |
| | | Returns a culture-independent string representation of the given <paramref name="exception"/> object, |
| | | appropriate for diagnostics tracing. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.F5DiagnosticsSender"> |
| | | <summary> |
| | | This class is responsible for sending diagnostics information into VS debug output |
| | | for F5 experience. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.F5DiagnosticsSender.debugOutput"> |
| | | <summary> |
| | | VS debug output. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.F5DiagnosticsSender.#ctor"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.F5DiagnosticsSender"/> class. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IDiagnosticsSender.Send(Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.TraceEvent)"> |
| | | <summary> |
| | | Sends diagnostics data to the appropriate output. |
| | | </summary> |
| | | <param name="eventData">Information about trace event.</param> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.PortalDiagnosticsQueueSender"> |
| | | <summary> |
| | | A dummy queue sender to keep the data to be sent to the portal before the initialize method is called. |
| | | This is due to the fact that initialize method cannot be called without the configuration and |
| | | the event listener write event is triggered before the diagnosticTelemetryModule initialize method is triggered. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.PortalDiagnosticsSender"> |
| | | <summary> |
| | | This class is responsible for sending diagnostics information into portal. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.PortalDiagnosticsSender.AiPrefix"> |
| | | <summary> |
| | | Prefix of the traces in portal. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.PortalDiagnosticsSender.AiNonUserActionable"> |
| | | <summary> |
| | | For user non actionable traces use AI Internal prefix. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.PortalDiagnosticsSender.#ctor(Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration,Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IDiagnoisticsEventThrottlingManager)"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.PortalDiagnosticsSender"/> class. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.PortalDiagnosticsSender.DiagnosticsInstrumentationKey"> |
| | | <summary> |
| | | Gets or sets instrumentation key for diagnostics (optional). |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.ThreadResourceLock"> |
| | | <summary> |
| | | Thread level resource section lock. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.ThreadResourceLock.syncObject"> |
| | | <summary> |
| | | Thread level lock object. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.ThreadResourceLock.#ctor"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.ThreadResourceLock" /> class. |
| | | Marks section locked. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.ThreadResourceLock.IsResourceLocked"> |
| | | <summary> |
| | | Gets a value indicating whether lock is set on the section. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.ThreadResourceLock.Dispose"> |
| | | <summary> |
| | | Release lock. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.TraceEvent"> |
| | | <summary> |
| | | Event Source event wrapper. |
| | | Contains description information for trace event. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.TraceEvent.MetaData"> |
| | | <summary> |
| | | Gets or sets event metadata. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.TraceEvent.Payload"> |
| | | <summary> |
| | | Gets or sets event event parameters. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.TransmissionProcessor"> |
| | | <summary> |
| | | An <see cref="T:Microsoft.ApplicationInsights.Extensibility.ITelemetryProcessor"/> that act as a proxy to the Transmission of telemetry"/>. |
| | | The <see cref="T:Microsoft.ApplicationInsights.Channel.ITelemetryChannel"/>, as configured in <see cref="T:Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration"/> will be used for transmission. |
| | | This processor is always appended as the last processor in the chain. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.TransmissionProcessor.#ctor(Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration)"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.Extensibility.Implementation.TransmissionProcessor"/> class. |
| | | </summary> |
| | | <param name="configuration">The <see cref="T:Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration"/> to get the channel from.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.TransmissionProcessor.Process(Microsoft.ApplicationInsights.Channel.ITelemetry)"> |
| | | <summary> |
| | | Process the given <see cref="T:Microsoft.ApplicationInsights.Channel.ITelemetry"/> item. Here processing is sending the item through the channel/>. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.TypeExtensions"> |
| | | <summary> |
| | | Defines extension methods that allow coding against <see cref="T:System.Type"/> without conditional compilation on versions of .NET framework. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.TypeExtensions.IsAssignableFrom(System.Type,System.Type)"> |
| | | <summary> |
| | | Returns a value that indicates whether the specified type can be assigned to the current type. |
| | | </summary> |
| | | <remarks> |
| | | This method emulates the built-in method of the <see cref="T:System.Type"/> class which is not available on Windows Runtime. |
| | | </remarks> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.TypeExtensions.GetProperties(System.Type)"> |
| | | <summary> |
| | | Returns all the public properties of the specified type. |
| | | </summary> |
| | | <remarks> |
| | | This method emulates the built-in method of the <see cref="T:System.Type"/> class which is not available on Windows Runtime. |
| | | Note that, unlike the built-in <see cref="T:System.Type"/> method, this method does not return properties defined in any of the base types. |
| | | However, this should be sufficient for our public types, which have to be sealed on Windows Runtime. |
| | | </remarks> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.UserContext"> |
| | | <summary> |
| | | Encapsulates information about a user using an application. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.UserContext.Id"> |
| | | <summary> |
| | | Gets or sets the ID of user accessing the application. |
| | | </summary> |
| | | <remarks> |
| | | Unique user ID is automatically generated in default Application Insights configuration. |
| | | </remarks> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.UserContext.AccountId"> |
| | | <summary> |
| | | Gets or sets the ID of an application-defined account associated with the user. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.UserContext.UserAgent"> |
| | | <summary> |
| | | Gets or sets the UserAgent of an application-defined account associated with the user. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.UserContext.AuthenticatedUserId"> |
| | | <summary> |
| | | Gets or sets the authenticated user id. |
| | | Authenticated user id should be a persistent string that uniquely represents each authenticated user in the application or service. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Extensibility.Implementation.WeakConcurrentRandom.random"> |
| | | <summary> |
| | | Generator singleton. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Extensibility.Implementation.WeakConcurrentRandom.index"> |
| | | <summary> |
| | | Index of the last used random number within pre-generated array. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Extensibility.Implementation.WeakConcurrentRandom.segmentCount"> |
| | | <summary> |
| | | Count of segments of random numbers. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Extensibility.Implementation.WeakConcurrentRandom.segmentSize"> |
| | | <summary> |
| | | Number of random numbers per segment. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Extensibility.Implementation.WeakConcurrentRandom.bitsToStoreRandomIndexWithinSegment"> |
| | | <summary> |
| | | Number of bits used to store index of the random number within segment. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Extensibility.Implementation.WeakConcurrentRandom.segmentIndexMask"> |
| | | <summary> |
| | | Bit mask to get segment index bits. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Extensibility.Implementation.WeakConcurrentRandom.randomIndexWithinSegmentMask"> |
| | | <summary> |
| | | Bit mask to get index of the random number within segment. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Extensibility.Implementation.WeakConcurrentRandom.randomArrayIndexMask"> |
| | | <summary> |
| | | Bit mask to get index of the random number in the pre-generated array. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Extensibility.Implementation.WeakConcurrentRandom.randomGemerators"> |
| | | <summary> |
| | | Array of random number batch generators (one per each segment). |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Extensibility.Implementation.WeakConcurrentRandom.randomNumbers"> |
| | | <summary> |
| | | Array of pre-generated random numbers. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.WeakConcurrentRandom.#ctor"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.Extensibility.Implementation.WeakConcurrentRandom"/> class. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.WeakConcurrentRandom.Initialize"> |
| | | <summary> |
| | | Initializes generator with a set of random numbers. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.WeakConcurrentRandom.Initialize(System.Func{System.UInt64,Microsoft.ApplicationInsights.Extensibility.Implementation.IRandomNumberBatchGenerator},System.Int32,System.Int32)"> |
| | | <summary> |
| | | Initializes generator with a set of random numbers. |
| | | </summary> |
| | | <param name="randomGeneratorFactory">Factory used to create random number batch generators.</param> |
| | | <param name="segmentIndexBits">Number of significant bits in segment index, i.e. value of 3 means 8 segments of random numbers - 0..7.</param> |
| | | <param name="segmentBits">Number of significant bits in random number index within segment, i.e. value of 10 means 1024 random numbers per segment.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.WeakConcurrentRandom.Next"> |
| | | <summary> |
| | | Weakly thread safe next (random) operation id generator |
| | | where 'weakly' indicates that it is unlikely we'll get into |
| | | collision state. |
| | | </summary> |
| | | <returns>Next operation id.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.WeakConcurrentRandom.RegenerateSegment(System.Int32)"> |
| | | <summary> |
| | | Generates random number batch for segment which just exhausted |
| | | according to value of the new index. |
| | | </summary> |
| | | <param name="newIndex">Index in random number array of the random number we're about to return.</param> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.XorshiftRandomBatchGenerator"> |
| | | <summary> |
| | | Generates batches of random number using Xorshift algorithm |
| | | Note: implementation of XorShift algorithm https://en.wikipedia.org/wiki/Xorshift. You can find some extra details and performance tests here http://www.codeproject.com/Articles/9187/A-fast-equivalent-for-System-Random. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.XorshiftRandomBatchGenerator.#ctor(System.UInt64)"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.Extensibility.Implementation.XorshiftRandomBatchGenerator"/> class. |
| | | </summary> |
| | | <param name="seed">Random generator seed value.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.XorshiftRandomBatchGenerator.NextBatch(System.UInt64[],System.Int32,System.Int32)"> |
| | | <summary> |
| | | Generates a batch of random numbers. |
| | | </summary> |
| | | <param name="buffer">Buffer to put numbers in.</param> |
| | | <param name="index">Start index in the buffer.</param> |
| | | <param name="count">Count of random numbers to generate.</param> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryModules"> |
| | | <summary> |
| | | This API supports the AI Framework infrastructure and is not intended to be used directly from your code. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryModules.#ctor"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryModules"/> class. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryModules.Instance"> |
| | | <summary> |
| | | Gets the TelemetryModules collection. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryModules.Modules"> |
| | | <summary> |
| | | Gets the telemetry modules collection. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.AsyncLocalBasedOperationHolder`1"> |
| | | <summary> |
| | | Operation class that holds the telemetry item and the corresponding telemetry client. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Extensibility.Implementation.AsyncLocalBasedOperationHolder`1.ParentContext"> |
| | | <summary> |
| | | Parent context store that is used to restore call context. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.AsyncLocalBasedOperationHolder`1.#ctor(Microsoft.ApplicationInsights.TelemetryClient,`0)"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.Extensibility.Implementation.AsyncLocalBasedOperationHolder`1"/> class. |
| | | Initializes telemetry client. |
| | | </summary> |
| | | <param name="telemetryClient">Initializes telemetry client object.</param> |
| | | <param name="telemetry">Operation telemetry item that is assigned to the telemetry associated to the current operation item.</param> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.Implementation.AsyncLocalBasedOperationHolder`1.Telemetry"> |
| | | <summary> |
| | | Gets Telemetry item of interest that is created when StartOperation function of ClientExtensions is invoked. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.AsyncLocalBasedOperationHolder`1.Dispose"> |
| | | <summary> |
| | | Dispose method to clear the variables. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.AsyncLocalBasedOperationHolder`1.Dispose(System.Boolean)"> |
| | | <summary> |
| | | Computes the duration and tracks the respective telemetry item on dispose. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.AsyncLocalHelpers.SaveOperationContext(Microsoft.ApplicationInsights.Extensibility.Implementation.OperationContextForAsyncLocal)"> |
| | | <summary> |
| | | Saves the context store to the call context. |
| | | </summary> |
| | | <param name="operationContext">Operation context store instance.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.AsyncLocalHelpers.GetCurrentOperationContext"> |
| | | <summary> |
| | | Returns the current operation context store present in the call context. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.Implementation.AsyncLocalHelpers.RestoreOperationContext(Microsoft.ApplicationInsights.Extensibility.Implementation.OperationContextForAsyncLocal)"> |
| | | <summary> |
| | | Clears the call context and restores the parent operation. |
| | | </summary> |
| | | <param name="parentContext">Parent operation context store to replace child operation context store.</param> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.Implementation.OperationContextForAsyncLocal"> |
| | | <summary> |
| | | Operation class that holds operation id and operation name for the current call context. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Extensibility.Implementation.OperationContextForAsyncLocal.ParentOperationId"> |
| | | <summary> |
| | | Operation id that will be assigned to all the child telemetry items. |
| | | Parent Operation id that will be assigned to all the child telemetry items. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Extensibility.Implementation.OperationContextForAsyncLocal.RootOperationId"> |
| | | <summary> |
| | | Root Operation id that will be assigned to all the child telemetry items. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Extensibility.Implementation.OperationContextForAsyncLocal.RootOperationName"> |
| | | <summary> |
| | | Operation name that will be assigned to all the child telemetry items. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.IDebugOutput"> |
| | | <summary> |
| | | Encapsulates method call that has to be compiled with DEBUG compiler constant. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.IDebugOutput.WriteLine(System.String)"> |
| | | <summary> |
| | | Write the message to the VisualStudio output window. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.IDebugOutput.IsLogging"> |
| | | <summary> |
| | | Checks to see if logging is enabled by an attached debugger. |
| | | </summary> |
| | | <returns>true if a debugger is attached and logging is enabled; otherwise, false.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.IDebugOutput.IsAttached"> |
| | | <summary> |
| | | Checks to see if debugger is attached. |
| | | </summary> |
| | | <returns>true if debugger is attached.</returns> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.IOperationHolder`1"> |
| | | <summary> |
| | | Represents the operation item that holds telemetry which is tracked on end request. Operation can be associated with either WEB or SQL dependencies. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.IOperationHolder`1.Telemetry"> |
| | | <summary> |
| | | Gets Telemetry item of interest that is created when StartOperation function of ClientExtensions is invoked. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.ITelemetryModule"> |
| | | <summary> |
| | | Represents an object that supports initialization from <see cref="T:Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration"/>. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.ITelemetryModule.Initialize(Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration)"> |
| | | <summary> |
| | | Initialize method is called after all configuration properties have been loaded from the configuration. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.ITelemetryInitializer"> |
| | | <summary> |
| | | Represents an object that initializes <see cref="T:Microsoft.ApplicationInsights.Channel.ITelemetry"/> objects. |
| | | </summary> |
| | | <remarks> |
| | | The <see cref="T:Microsoft.ApplicationInsights.DataContracts.TelemetryContext"/> instances use <see cref="T:Microsoft.ApplicationInsights.Extensibility.ITelemetryInitializer"/> objects to |
| | | automatically initialize properties of the <see cref="T:Microsoft.ApplicationInsights.Channel.ITelemetry"/> objects. |
| | | </remarks> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.ITelemetryInitializer.Initialize(Microsoft.ApplicationInsights.Channel.ITelemetry)"> |
| | | <summary> |
| | | Initializes properties of the specified <see cref="T:Microsoft.ApplicationInsights.Channel.ITelemetry"/> object. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.ITelemetryProcessor"> |
| | | <summary> |
| | | Represents an object used to process telemetry as part of sending it to Application Insights. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.ITelemetryProcessor.Process(Microsoft.ApplicationInsights.Channel.ITelemetry)"> |
| | | <summary> |
| | | Process a collected telemetry item. |
| | | </summary> |
| | | <param name="item">A collected Telemetry item.</param> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.SdkVersionPropertyTelemetryInitializer"> |
| | | <summary> |
| | | Initializes SDK Properties: SDK Version and SDKMode. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.SdkVersionPropertyTelemetryInitializer.Initialize(Microsoft.ApplicationInsights.Channel.ITelemetry)"> |
| | | <summary> |
| | | Adds a telemetry property for the version of SDK. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration"> |
| | | <summary> |
| | | Encapsulates the global telemetry configuration typically loaded from the ApplicationInsights.config file. |
| | | </summary> |
| | | <remarks> |
| | | All <see cref="T:Microsoft.ApplicationInsights.DataContracts.TelemetryContext"/> objects are initialized using the <see cref="P:Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.Active"/> |
| | | telemetry configuration provided by this class. |
| | | </remarks> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.Active"> |
| | | <summary> |
| | | Gets the active <see cref="T:Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration"/> instance loaded from the ApplicationInsights.config file. |
| | | If the configuration file does not exist, the active configuration instance is initialized with minimum defaults |
| | | needed to send telemetry to Application Insights. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.InstrumentationKey"> |
| | | <summary> |
| | | Gets or sets the default instrumentation key for the application. |
| | | </summary> |
| | | <exception cref="T:System.ArgumentNullException">The new value is null.</exception> |
| | | <remarks> |
| | | This instrumentation key value is used by default by all <see cref="T:Microsoft.ApplicationInsights.TelemetryClient"/> instances |
| | | created in the application. This value can be overwritten by setting the <see cref="P:Microsoft.ApplicationInsights.DataContracts.TelemetryContext.InstrumentationKey"/> |
| | | property of the <see cref="P:Microsoft.ApplicationInsights.TelemetryClient.Context"/>. |
| | | </remarks> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.DisableTelemetry"> |
| | | <summary> |
| | | Gets or sets a value indicating whether sending of telemetry to Application Insights is disabled. |
| | | </summary> |
| | | <remarks> |
| | | This disable tracking setting value is used by default by all <see cref="T:Microsoft.ApplicationInsights.TelemetryClient"/> instances |
| | | created in the application. |
| | | </remarks> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.TelemetryInitializers"> |
| | | <summary> |
| | | Gets the list of <see cref="T:Microsoft.ApplicationInsights.Extensibility.ITelemetryInitializer"/> objects that supply additional information about telemetry. |
| | | </summary> |
| | | <remarks> |
| | | Telemetry initializers extend Application Insights telemetry collection by supplying additional information |
| | | about individual <see cref="T:Microsoft.ApplicationInsights.Channel.ITelemetry"/> items, such as <see cref="P:Microsoft.ApplicationInsights.Channel.ITelemetry.Timestamp"/>. A <see cref="T:Microsoft.ApplicationInsights.TelemetryClient"/> |
| | | invokes telemetry initializers each time <see cref="M:Microsoft.ApplicationInsights.TelemetryClient.Track(Microsoft.ApplicationInsights.Channel.ITelemetry)"/> method is called. |
| | | The default list of telemetry initializers is provided by the Application Insights NuGet packages and loaded from |
| | | the ApplicationInsights.config file located in the application directory. |
| | | </remarks> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.TelemetryProcessors"> |
| | | <summary> |
| | | Gets a readonly collection of TelemetryProcessors. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.TelemetryProcessorChainBuilder"> |
| | | <summary> |
| | | Gets the TelemetryProcessorChainBuilder which can build and populate TelemetryProcessors in the TelemetryConfiguration. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.TelemetryChannel"> |
| | | <summary> |
| | | Gets or sets the telemetry channel. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.TelemetryProcessorChain"> |
| | | <summary> |
| | | Gets or sets the chain of processors. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.CreateDefault"> |
| | | <summary> |
| | | Creates a new <see cref="T:Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration"/> instance loaded from the ApplicationInsights.config file. |
| | | If the configuration file does not exist, the new configuration instance is initialized with minimum defaults |
| | | needed to send telemetry to Application Insights. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.CreateFromConfiguration(System.String)"> |
| | | <summary> |
| | | Creates a new <see cref="T:Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration"/> instance loaded from the specified configuration. |
| | | </summary> |
| | | <param name="config">An xml serialized configuration.</param> |
| | | <exception cref="T:System.ArgumentNullException">Throws if the config value is null or empty.</exception> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.Dispose"> |
| | | <summary> |
| | | Releases resources used by the current instance of the <see cref="T:Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration"/> class. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.SequencePropertyInitializer"> |
| | | <summary> |
| | | An <see cref="T:Microsoft.ApplicationInsights.Extensibility.ITelemetryInitializer"/> that that populates <see cref="P:Microsoft.ApplicationInsights.Channel.ITelemetry.Sequence"/> property for |
| | | the Microsoft internal telemetry sent to the Vortex endpoint. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.SequencePropertyInitializer.Initialize(Microsoft.ApplicationInsights.Channel.ITelemetry)"> |
| | | <summary> |
| | | Populates <see cref="P:Microsoft.ApplicationInsights.Channel.ITelemetry.Sequence"/> with unique ID and sequential number. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Extensibility.OperationCorrelationTelemetryInitializer"> |
| | | <summary> |
| | | Telemetry initializer that populates OperationContext for the telemetry item based on context stored in AsyncLocal variable. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Extensibility.OperationCorrelationTelemetryInitializer.Initialize(Microsoft.ApplicationInsights.Channel.ITelemetry)"> |
| | | <summary> |
| | | Initializes/Adds operation id to the existing telemetry item. |
| | | </summary> |
| | | <param name="telemetryItem">Target telemetry item to add operation id.</param> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Channel.InMemoryChannel"> |
| | | <summary> |
| | | Represents a communication channel for sending telemetry to Application Insights via HTTPS. There will be a buffer that will not be persisted, to enforce the |
| | | queued telemetry items to be sent, <see cref="M:Microsoft.ApplicationInsights.Channel.ITelemetryChannel.Flush"/> should be called. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Channel.InMemoryChannel.#ctor"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.Channel.InMemoryChannel" /> class. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Channel.InMemoryChannel.#ctor(Microsoft.ApplicationInsights.Channel.TelemetryBuffer,Microsoft.ApplicationInsights.Channel.InMemoryTransmitter)"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.Channel.InMemoryChannel" /> class. Used in unit tests for constructor injection. |
| | | </summary> |
| | | <param name="telemetryBuffer">The telemetry buffer that will be used to enqueue new events.</param> |
| | | <param name="transmitter">The in memory transmitter that will send the events queued in the buffer.</param> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Channel.InMemoryChannel.DeveloperMode"> |
| | | <summary> |
| | | Gets or sets a value indicating whether developer mode of telemetry transmission is enabled. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Channel.InMemoryChannel.SendingInterval"> |
| | | <summary> |
| | | Gets or sets the sending interval. Once the interval expires, <see cref="T:Microsoft.ApplicationInsights.Channel.InMemoryChannel"/> |
| | | serializes the accumulated telemetry items for transmission and sends it over the wire. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Channel.InMemoryChannel.EndpointAddress"> |
| | | <summary> |
| | | Gets or sets the HTTP address where the telemetry is sent. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Channel.InMemoryChannel.MaxTelemetryBufferCapacity"> |
| | | <summary> |
| | | Gets or sets the maximum number of telemetry items will accumulate in a memory before |
| | | the <see cref="T:Microsoft.ApplicationInsights.Channel.InMemoryChannel"/> serializing them for transmission to Application Insights. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Channel.InMemoryChannel.Send(Microsoft.ApplicationInsights.Channel.ITelemetry)"> |
| | | <summary> |
| | | Sends an instance of ITelemetry through the channel. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Channel.InMemoryChannel.Flush"> |
| | | <summary> |
| | | Will send all the telemetry items stored in the memory. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Channel.InMemoryChannel.Dispose"> |
| | | <summary> |
| | | Disposing the channel. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Channel.InMemoryTransmitter"> |
| | | <summary> |
| | | A transmitter that will immediately send telemetry over HTTP. |
| | | Telemetry items are being sent when Flush is called, or when the buffer is full (An OnFull "event" is raised) or every 30 seconds. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Channel.InMemoryTransmitter.sendingLockObj"> |
| | | <summary> |
| | | A lock object to serialize the sending calls from Flush, OnFull event and the Runner. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Channel.InMemoryTransmitter.disposeCount"> |
| | | <summary> |
| | | The number of times this object was disposed. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Channel.InMemoryTransmitter.Dispose"> |
| | | <summary> |
| | | Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Channel.InMemoryTransmitter.Flush"> |
| | | <summary> |
| | | Flushes the in-memory buffer and sends it. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Channel.InMemoryTransmitter.Runner"> |
| | | <summary> |
| | | Flushes the in-memory buffer and sends the telemetry items in <see cref="F:Microsoft.ApplicationInsights.Channel.InMemoryTransmitter.sendingInterval"/> intervals or when |
| | | <see cref="F:Microsoft.ApplicationInsights.Channel.InMemoryTransmitter.startRunnerEvent" /> is set. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Channel.InMemoryTransmitter.OnBufferFull"> |
| | | <summary> |
| | | Happens when the in-memory buffer is full. Flushes the in-memory buffer and sends the telemetry items. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Channel.InMemoryTransmitter.DequeueAndSend"> |
| | | <summary> |
| | | Flushes the in-memory buffer and send it. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Channel.InMemoryTransmitter.Send(System.Collections.Generic.IEnumerable{Microsoft.ApplicationInsights.Channel.ITelemetry})"> |
| | | <summary> |
| | | Serializes a list of telemetry items and sends them. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Channel.ITelemetry"> |
| | | <summary> |
| | | The base telemetry type for application insights. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Channel.ITelemetry.Timestamp"> |
| | | <summary> |
| | | Gets or sets date and time when telemetry was recorded. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Channel.ITelemetry.Context"> |
| | | <summary> |
| | | Gets the context associated with this telemetry instance. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Channel.ITelemetry.Sequence"> |
| | | <summary> |
| | | Gets or sets the value that defines absolute order of the telemetry item. |
| | | </summary> |
| | | <remarks> |
| | | The sequence is used to track absolute order of uploaded telemetry items. It is a two-part value that includes |
| | | a stable identifier for the current boot session and an incrementing identifier for each event added to the upload queue: |
| | | For UTC this would increment for all events across the system. |
| | | For Persistence this would increment for all events emitted from the hosting process. |
| | | The Sequence helps track how many events were fired and how many events were uploaded and enables identification |
| | | of data lost during upload and de-duplication of events on the ingress server. |
| | | From <a href="https://microsoft.sharepoint.com/teams/CommonSchema/Shared%20Documents/Schema%20Specs/Common%20Schema%202%20-%20Language%20Specification.docx"/>. |
| | | </remarks> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Channel.ITelemetry.Sanitize"> |
| | | <summary> |
| | | Sanitizes the properties of the telemetry item based on DP constraints. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Channel.ITelemetryChannel"> |
| | | <summary> |
| | | Represents a communication channel for sending telemetry to application insights. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Channel.ITelemetryChannel.DeveloperMode"> |
| | | <summary> |
| | | Gets or sets a value indicating whether this channel is in developer mode. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Channel.ITelemetryChannel.EndpointAddress"> |
| | | <summary> |
| | | Gets or sets the endpoint address of the channel. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Channel.ITelemetryChannel.Send(Microsoft.ApplicationInsights.Channel.ITelemetry)"> |
| | | <summary> |
| | | Sends an instance of ITelemetry through the channel. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Channel.ITelemetryChannel.Flush"> |
| | | <summary> |
| | | Flushes the in-memory buffer. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Channel.TelemetryBuffer"> |
| | | <summary> |
| | | Accumulates <see cref="T:Microsoft.ApplicationInsights.Channel.ITelemetry"/> items for efficient transmission. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.Channel.TelemetryBuffer.OnFull"> |
| | | <summary> |
| | | Delegate that is raised when the buffer is full. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Channel.TelemetryBuffer.Capacity"> |
| | | <summary> |
| | | Gets or sets the maximum number of telemetry items that can be buffered before transmission. |
| | | </summary> |
| | | <exception cref="T:System.ArgumentOutOfRangeException">The value is zero or less.</exception> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Channel.Transmission"> |
| | | <summary> |
| | | Implements an asynchronous transmission of data to an HTTP POST endpoint. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Channel.Transmission.#ctor(System.Uri,System.Byte[],System.String,System.String,System.TimeSpan)"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.Channel.Transmission"/> class. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Channel.Transmission.#ctor"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.Channel.Transmission"/> class. This overload is for Test purposes. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Channel.Transmission.EndpointAddress"> |
| | | <summary> |
| | | Gets the Address of the endpoint to which transmission will be sent. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Channel.Transmission.Content"> |
| | | <summary> |
| | | Gets the content of the transmission. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Channel.Transmission.ContentType"> |
| | | <summary> |
| | | Gets the content's type of the transmission. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Channel.Transmission.ContentEncoding"> |
| | | <summary> |
| | | Gets the encoding method of the transmission. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Channel.Transmission.Timeout"> |
| | | <summary> |
| | | Gets a timeout value for the transmission. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.Channel.Transmission.Id"> |
| | | <summary> |
| | | Gets an id of the transmission. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Channel.Transmission.SendAsync"> |
| | | <summary> |
| | | Executes the request that the current transmission represents. |
| | | </summary> |
| | | <returns>The task to await.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Channel.Transmission.CreateRequest(System.Uri)"> |
| | | <summary> |
| | | Creates a post web request. |
| | | </summary> |
| | | <param name="address">The Address in the web request.</param> |
| | | <returns>A web request pointing to the <c>Address</c>.</returns> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.DataContracts.EventTelemetry"> |
| | | <summary> |
| | | Telemetry type used to track events. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.EventTelemetry.#ctor"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.DataContracts.EventTelemetry"/> class. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.EventTelemetry.#ctor(System.String)"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.DataContracts.EventTelemetry"/> class with the given <paramref name="name"/>. |
| | | </summary> |
| | | <exception cref="T:System.ArgumentException">The event <paramref name="name"/> is null or empty string.</exception> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.EventTelemetry.Timestamp"> |
| | | <summary> |
| | | Gets or sets date and time when event was recorded. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.EventTelemetry.Sequence"> |
| | | <summary> |
| | | Gets or sets the value that defines absolute order of the telemetry item. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.EventTelemetry.Context"> |
| | | <summary> |
| | | Gets the context associated with the current telemetry item. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.EventTelemetry.Name"> |
| | | <summary> |
| | | Gets or sets the name of the event. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.EventTelemetry.Metrics"> |
| | | <summary> |
| | | Gets a dictionary of application-defined event metrics. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.EventTelemetry.Properties"> |
| | | <summary> |
| | | Gets a dictionary of application-defined property names and values providing additional information about this event. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.EventTelemetry.Microsoft#ApplicationInsights#DataContracts#ISupportSampling#SamplingPercentage"> |
| | | <summary> |
| | | Gets or sets data sampling percentage (between 0 and 100). |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.EventTelemetry.Microsoft#ApplicationInsights#Channel#ITelemetry#Sanitize"> |
| | | <summary> |
| | | Sanitizes the properties based on constraints. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.DataContracts.ExceptionHandledAt"> |
| | | <summary> |
| | | This enumeration is used by ExceptionTelemetry to identify if and where exception was handled. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.DataContracts.ExceptionHandledAt.Unhandled"> |
| | | <summary> |
| | | Exception was not handled. Application crashed. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.DataContracts.ExceptionHandledAt.UserCode"> |
| | | <summary> |
| | | Exception was handled in user code. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.DataContracts.ExceptionHandledAt.Platform"> |
| | | <summary> |
| | | Exception was handled by some platform handlers. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.DataContracts.ExceptionTelemetry"> |
| | | <summary> |
| | | Telemetry type used to track exceptions. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.ExceptionTelemetry.#ctor"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.DataContracts.ExceptionTelemetry"/> class with empty properties. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.ExceptionTelemetry.#ctor(System.Exception)"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.DataContracts.ExceptionTelemetry"/> class with empty properties. |
| | | </summary> |
| | | <param name="exception">Exception instance.</param> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.ExceptionTelemetry.Timestamp"> |
| | | <summary> |
| | | Gets or sets date and time when telemetry was recorded. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.ExceptionTelemetry.Sequence"> |
| | | <summary> |
| | | Gets or sets the value that defines absolute order of the telemetry item. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.ExceptionTelemetry.Context"> |
| | | <summary> |
| | | Gets the context associated with the current telemetry item. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.ExceptionTelemetry.HandledAt"> |
| | | <summary> |
| | | Gets or sets the value indicated where the exception was handled. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.ExceptionTelemetry.Exception"> |
| | | <summary> |
| | | Gets or sets the original exception tracked by this <see cref="T:Microsoft.ApplicationInsights.Channel.ITelemetry"/>. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.ExceptionTelemetry.Metrics"> |
| | | <summary> |
| | | Gets a dictionary of application-defined exception metrics. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.ExceptionTelemetry.Properties"> |
| | | <summary> |
| | | Gets a dictionary of application-defined property names and values providing additional information about this exception. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.ExceptionTelemetry.SeverityLevel"> |
| | | <summary> |
| | | Gets or sets Exception severity level. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.ExceptionTelemetry.Microsoft#ApplicationInsights#DataContracts#ISupportSampling#SamplingPercentage"> |
| | | <summary> |
| | | Gets or sets data sampling percentage (between 0 and 100). |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.ExceptionTelemetry.Microsoft#ApplicationInsights#Channel#ITelemetry#Sanitize"> |
| | | <summary> |
| | | Sanitizes the properties based on constraints. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.DataContracts.IJsonWriter"> |
| | | <summary> |
| | | Encapsulates logic for serializing objects to JSON. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.IJsonWriter.WriteStartArray"> |
| | | <summary> |
| | | Writes opening/left square bracket. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.IJsonWriter.WriteStartObject"> |
| | | <summary> |
| | | Writes opening/left curly brace. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.IJsonWriter.WriteEndArray"> |
| | | <summary> |
| | | Writes closing/right square bracket. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.IJsonWriter.WriteEndObject"> |
| | | <summary> |
| | | Writes closing/right curly brace. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.IJsonWriter.WriteComma"> |
| | | <summary> |
| | | Writes comma. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.IJsonWriter.WriteProperty(System.String,System.String)"> |
| | | <summary> |
| | | Writes a <see cref="T:System.String"/> property. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.IJsonWriter.WriteProperty(System.String,System.Nullable{System.Boolean})"> |
| | | <summary> |
| | | Writes a <see cref="T:System.Boolean"/> property. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.IJsonWriter.WriteProperty(System.String,System.Nullable{System.Int32})"> |
| | | <summary> |
| | | Writes a <see cref="T:System.Int32"/> property. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.IJsonWriter.WriteProperty(System.String,System.Nullable{System.Double})"> |
| | | <summary> |
| | | Writes a <see cref="T:System.Double"/> property. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.IJsonWriter.WriteProperty(System.String,System.Nullable{System.TimeSpan})"> |
| | | <summary> |
| | | Writes a <see cref="T:System.TimeSpan"/> property. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.IJsonWriter.WriteProperty(System.String,System.Nullable{System.DateTimeOffset})"> |
| | | <summary> |
| | | Writes a <see cref="T:System.DateTimeOffset"/> property. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.IJsonWriter.WriteProperty(System.String,System.Collections.Generic.IDictionary{System.String,System.Double})"> |
| | | <summary> |
| | | Writes a <see cref="T:System.Collections.Generic.IDictionary`2"/> property. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.IJsonWriter.WriteProperty(System.String,System.Collections.Generic.IDictionary{System.String,System.String})"> |
| | | <summary> |
| | | Writes a <see cref="T:System.Collections.Generic.IDictionary`2"/> property. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.IJsonWriter.WritePropertyName(System.String)"> |
| | | <summary> |
| | | Writes a property name in double quotation marks, followed by a colon. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.IJsonWriter.WriteRawValue(System.Object)"> |
| | | <summary> |
| | | Writes <see cref="T:System.Object"/> as raw value directly. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.DataContracts.InnerExceptionCountExceededException"> |
| | | <summary> |
| | | This exception is used to notify the user that the set of inner exceptions has been trimmed because it exceeded our allowed send limit. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.InnerExceptionCountExceededException.#ctor"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.DataContracts.InnerExceptionCountExceededException"/> class. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.InnerExceptionCountExceededException.#ctor(System.String)"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.DataContracts.InnerExceptionCountExceededException"/> class with a specified error message. |
| | | </summary> |
| | | <param name="message">The message that describes the error. </param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.InnerExceptionCountExceededException.#ctor(System.String,System.Exception)"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.DataContracts.InnerExceptionCountExceededException"/> class with a specified error message and a reference to the inner exception that is the cause of this exception. |
| | | </summary> |
| | | <param name="message">The error message that explains the reason for the exception. </param><param name="innerException">The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. </param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.InnerExceptionCountExceededException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.DataContracts.InnerExceptionCountExceededException"/> class with serialized data. |
| | | </summary> |
| | | <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the exception being thrown. </param><param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination. </param><exception cref="T:System.ArgumentNullException">The <paramref name="info"/> parameter is null. </exception><exception cref="T:System.Runtime.Serialization.SerializationException">The class name is null or <see cref="P:System.Exception.HResult"/> is zero (0). </exception> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.DataContracts.ISupportProperties"> |
| | | <summary> |
| | | Represents an object that supports application-defined properties. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.ISupportProperties.Properties"> |
| | | <summary> |
| | | Gets a dictionary of application-defined property names and values providing additional information about telemetry. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.DataContracts.ISupportSampling"> |
| | | <summary> |
| | | Represent objects that support data sampling. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.ISupportSampling.SamplingPercentage"> |
| | | <summary> |
| | | Gets or sets data sampling percentage (between 0 and 100). |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.DataContracts.MetricTelemetry"> |
| | | <summary> |
| | | Telemetry type used to track metrics. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.#ctor"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.DataContracts.MetricTelemetry"/> class with empty |
| | | properties. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.#ctor(System.String,System.Double)"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.DataContracts.MetricTelemetry"/> class with the |
| | | specified <paramref name="metricName"/> and <paramref name="metricValue"/>. |
| | | </summary> |
| | | <exception cref="T:System.ArgumentException">The <paramref name="metricName"/> is null or empty string.</exception> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.Timestamp"> |
| | | <summary> |
| | | Gets or sets date and time when event was recorded. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.Sequence"> |
| | | <summary> |
| | | Gets or sets the value that defines absolute order of the telemetry item. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.Context"> |
| | | <summary> |
| | | Gets the context associated with the current telemetry item. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.Name"> |
| | | <summary> |
| | | Gets or sets the name of the metric. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.Value"> |
| | | <summary> |
| | | Gets or sets the value of this metric. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.Count"> |
| | | <summary> |
| | | Gets or sets the number of samples for this metric. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.Min"> |
| | | <summary> |
| | | Gets or sets the min value of this metric. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.Max"> |
| | | <summary> |
| | | Gets or sets the max value of this metric. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.StandardDeviation"> |
| | | <summary> |
| | | Gets or sets the standard deviation of this metric. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.Properties"> |
| | | <summary> |
| | | Gets a dictionary of application-defined property names and values providing additional information about this metric. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.Microsoft#ApplicationInsights#Channel#ITelemetry#Sanitize"> |
| | | <summary> |
| | | Sanitizes the properties based on constraints. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry"> |
| | | <summary> |
| | | Telemetry type used to track page views. |
| | | </summary> |
| | | <remarks> |
| | | You can send information about pages viewed by your application to Application Insights by |
| | | passing an instance of the <see cref="T:Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry"/> class to the <see cref="M:Microsoft.ApplicationInsights.TelemetryClient.TrackPageView(Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry)"/> |
| | | method. |
| | | </remarks> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry.#ctor"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry"/> class. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry.#ctor(System.String)"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry"/> class with the |
| | | specified <paramref name="pageName"/>. |
| | | </summary> |
| | | <exception cref="T:System.ArgumentException">The <paramref name="pageName"/> is null or empty string.</exception> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry.Timestamp"> |
| | | <summary> |
| | | Gets or sets date and time when event was recorded. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry.Sequence"> |
| | | <summary> |
| | | Gets or sets the value that defines absolute order of the telemetry item. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry.Context"> |
| | | <summary> |
| | | Gets the context associated with the current telemetry item. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry.Name"> |
| | | <summary> |
| | | Gets or sets the name of the metric. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry.Url"> |
| | | <summary> |
| | | Gets or sets the page view Uri. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry.Duration"> |
| | | <summary> |
| | | Gets or sets the page view duration. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry.Metrics"> |
| | | <summary> |
| | | Gets a dictionary of custom defined metrics. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry.Properties"> |
| | | <summary> |
| | | Gets a dictionary of application-defined property names and values providing additional information about this page view. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry.Microsoft#ApplicationInsights#DataContracts#ISupportSampling#SamplingPercentage"> |
| | | <summary> |
| | | Gets or sets data sampling percentage (between 0 and 100). |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry.Microsoft#ApplicationInsights#Channel#ITelemetry#Sanitize"> |
| | | <summary> |
| | | Sanitizes the properties based on constraints. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.DataContracts.PerformanceCounterTelemetry"> |
| | | <summary> |
| | | The class that represents information about performance counters. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.PerformanceCounterTelemetry.#ctor"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.DataContracts.PerformanceCounterTelemetry"/> class. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.PerformanceCounterTelemetry.#ctor(System.String,System.String,System.String,System.Double)"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.DataContracts.PerformanceCounterTelemetry"/> class. |
| | | </summary> |
| | | <param name="categoryName">Category name.</param> |
| | | <param name="counterName">Performance counter name.</param> |
| | | <param name="instanceName">Instance name.</param> |
| | | <param name="value">Performance counter value.</param> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.PerformanceCounterTelemetry.Timestamp"> |
| | | <summary> |
| | | Gets or sets date and time when telemetry was recorded. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.PerformanceCounterTelemetry.Sequence"> |
| | | <summary> |
| | | Gets or sets the value that defines absolute order of the telemetry item. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.PerformanceCounterTelemetry.Context"> |
| | | <summary> |
| | | Gets the context associated with the current telemetry item. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.PerformanceCounterTelemetry.Value"> |
| | | <summary> |
| | | Gets or sets the counter value. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.PerformanceCounterTelemetry.CategoryName"> |
| | | <summary> |
| | | Gets or sets the category name. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.PerformanceCounterTelemetry.CounterName"> |
| | | <summary> |
| | | Gets or sets the counter name. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.PerformanceCounterTelemetry.InstanceName"> |
| | | <summary> |
| | | Gets or sets the instance name. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.PerformanceCounterTelemetry.Properties"> |
| | | <summary> |
| | | Gets a dictionary of application-defined property names and values providing additional information about this exception. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.PerformanceCounterTelemetry.Microsoft#ApplicationInsights#Channel#ITelemetry#Sanitize"> |
| | | <summary> |
| | | Sanitizes the properties based on constraints. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry"> |
| | | <summary> |
| | | The class that represents information about the collected dependency. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry.#ctor"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry"/> class. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry.#ctor(System.String,System.String,System.DateTimeOffset,System.TimeSpan,System.Boolean)"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry"/> class with the given <paramref name="dependencyName"/>, <paramref name="commandName"/>, |
| | | <paramref name="startTime"/>, <paramref name="duration"/> and <paramref name="success"/> property values. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry.Timestamp"> |
| | | <summary> |
| | | Gets or sets date and time when telemetry was recorded. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry.Sequence"> |
| | | <summary> |
| | | Gets or sets the value that defines absolute order of the telemetry item. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry.Context"> |
| | | <summary> |
| | | Gets the context associated with the current telemetry item. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry.Id"> |
| | | <summary> |
| | | Gets or sets Dependency ID. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry.ResultCode"> |
| | | <summary> |
| | | Gets or sets the Result Code. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry.Name"> |
| | | <summary> |
| | | Gets or sets resource name. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry.CommandName"> |
| | | <summary> |
| | | Gets or sets text of SQL command or empty it not applicable. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry.DependencyTypeName"> |
| | | <summary> |
| | | Gets or sets the dependency type name. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry.StartTime"> |
| | | <summary> |
| | | Gets or sets the date and time when dependency was called by the application. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry.Duration"> |
| | | <summary> |
| | | Gets or sets dependency call duration. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry.Success"> |
| | | <summary> |
| | | Gets or sets a value indicating whether the dependency call was successful or not. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry.Properties"> |
| | | <summary> |
| | | Gets a dictionary of application-defined property names and values providing additional information about this remote dependency. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry.DependencyKind"> |
| | | <summary> |
| | | Gets or sets the dependency kind, like SQL, HTTP, Azure, etc. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry.Microsoft#ApplicationInsights#DataContracts#ISupportSampling#SamplingPercentage"> |
| | | <summary> |
| | | Gets or sets data sampling percentage (between 0 and 100). |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry.Microsoft#ApplicationInsights#Channel#ITelemetry#Sanitize"> |
| | | <summary> |
| | | Sanitizes the properties based on constraints. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.DataContracts.RequestTelemetry"> |
| | | <summary> |
| | | Encapsulates information about a web request handled by the application. |
| | | </summary> |
| | | <remarks> |
| | | You can send information about requests processed by your web application to Application Insights by |
| | | passing an instance of the <see cref="T:Microsoft.ApplicationInsights.DataContracts.RequestTelemetry"/> class to the <see cref="M:Microsoft.ApplicationInsights.TelemetryClient.TrackRequest(Microsoft.ApplicationInsights.DataContracts.RequestTelemetry)"/> |
| | | method. |
| | | </remarks> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.RequestTelemetry.#ctor"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.DataContracts.RequestTelemetry"/> class. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.RequestTelemetry.#ctor(System.String,System.DateTimeOffset,System.TimeSpan,System.String,System.Boolean)"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.DataContracts.RequestTelemetry"/> class with the given <paramref name="name"/>, |
| | | <paramref name="startTime"/>, <paramref name="duration"/>, <paramref name="responseCode"/> and <paramref name="success"/> property values. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.RequestTelemetry.Timestamp"> |
| | | <summary> |
| | | Gets or sets date and time when telemetry was recorded. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.RequestTelemetry.StartTime"> |
| | | <summary> |
| | | Gets or sets the date and time when request was processed by the application. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.RequestTelemetry.Sequence"> |
| | | <summary> |
| | | Gets or sets the value that defines absolute order of the telemetry item. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.RequestTelemetry.Context"> |
| | | <summary> |
| | | Gets the object that contains contextual information about the application at the time when it handled the request. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.RequestTelemetry.Id"> |
| | | <summary> |
| | | Gets or sets Request ID. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.RequestTelemetry.Name"> |
| | | <summary> |
| | | Gets or sets human-readable name of the requested page. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.RequestTelemetry.ResponseCode"> |
| | | <summary> |
| | | Gets or sets response code returned by the application after handling the request. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.RequestTelemetry.Success"> |
| | | <summary> |
| | | Gets or sets a value indicating whether application handled the request successfully. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.RequestTelemetry.Duration"> |
| | | <summary> |
| | | Gets or sets the amount of time it took the application to handle the request. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.RequestTelemetry.Properties"> |
| | | <summary> |
| | | Gets a dictionary of application-defined property names and values providing additional information about this request. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.RequestTelemetry.Url"> |
| | | <summary> |
| | | Gets or sets request url (optional). |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.RequestTelemetry.Metrics"> |
| | | <summary> |
| | | Gets a dictionary of application-defined request metrics. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.RequestTelemetry.HttpMethod"> |
| | | <summary> |
| | | Gets or sets the HTTP method of the request. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.RequestTelemetry.Microsoft#ApplicationInsights#DataContracts#ISupportSampling#SamplingPercentage"> |
| | | <summary> |
| | | Gets or sets data sampling percentage (between 0 and 100). |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.RequestTelemetry.Microsoft#ApplicationInsights#Channel#ITelemetry#Sanitize"> |
| | | <summary> |
| | | Sanitizes the properties based on constraints. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.DataContracts.SessionState"> |
| | | <summary> |
| | | Contains values that identify state of a user session. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.DataContracts.SessionState.Start"> |
| | | <summary> |
| | | Indicates that a user session started. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.DataContracts.SessionState.End"> |
| | | <summary> |
| | | Indicates that a user session ended. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.DataContracts.SessionStateTelemetry"> |
| | | <summary> |
| | | Telemetry type used to track user sessions. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.SessionStateTelemetry.#ctor"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.DataContracts.SessionStateTelemetry"/> class. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.SessionStateTelemetry.#ctor(Microsoft.ApplicationInsights.DataContracts.SessionState)"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.DataContracts.SessionStateTelemetry"/> class with the specified <paramref name="state"/>. |
| | | </summary> |
| | | <param name="state"> |
| | | A <see cref="T:Microsoft.ApplicationInsights.DataContracts.SessionState"/> value indicating state of the user session. |
| | | </param> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.SessionStateTelemetry.Timestamp"> |
| | | <summary> |
| | | Gets or sets the date and time the session state was recorded. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.SessionStateTelemetry.Context"> |
| | | <summary> |
| | | Gets the <see cref="T:Microsoft.ApplicationInsights.DataContracts.TelemetryContext"/> of the application when the session state was recorded. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.SessionStateTelemetry.Sequence"> |
| | | <summary> |
| | | Gets or sets the value that defines absolute order of the telemetry item. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.SessionStateTelemetry.State"> |
| | | <summary> |
| | | Gets or sets the value describing state of the user session. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.SessionStateTelemetry.Microsoft#ApplicationInsights#Channel#ITelemetry#Sanitize"> |
| | | <summary> |
| | | Sanitizes this telemetry instance to ensure it can be accepted by the Application Insights. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.DataContracts.SeverityLevel"> |
| | | <summary> |
| | | This enumeration is used by ExceptionTelemetry and TraceTelemetry to identify severity level. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.DataContracts.SeverityLevel.Verbose"> |
| | | <summary> |
| | | Verbose severity level. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.DataContracts.SeverityLevel.Information"> |
| | | <summary> |
| | | Information severity level. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.DataContracts.SeverityLevel.Warning"> |
| | | <summary> |
| | | Warning severity level. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.DataContracts.SeverityLevel.Error"> |
| | | <summary> |
| | | Error severity level. |
| | | </summary> |
| | | </member> |
| | | <member name="F:Microsoft.ApplicationInsights.DataContracts.SeverityLevel.Critical"> |
| | | <summary> |
| | | Critical severity level. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.DataContracts.TelemetryContext"> |
| | | <summary> |
| | | Represents a context for sending telemetry to the Application Insights service. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.TelemetryContext.#ctor"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.DataContracts.TelemetryContext"/> class. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.TelemetryContext.InstrumentationKey"> |
| | | <summary> |
| | | Gets or sets the default instrumentation key for all <see cref="T:Microsoft.ApplicationInsights.Channel.ITelemetry"/> objects logged in this <see cref="T:Microsoft.ApplicationInsights.DataContracts.TelemetryContext"/>. |
| | | </summary> |
| | | <remarks> |
| | | By default, this property is initialized with the <see cref="P:Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.InstrumentationKey"/> value |
| | | of the <see cref="P:Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.Active"/> instance of <see cref="T:Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration"/>. You can specify it |
| | | for all telemetry tracked via a particular <see cref="T:Microsoft.ApplicationInsights.TelemetryClient"/> or for a specific <see cref="T:Microsoft.ApplicationInsights.Channel.ITelemetry"/> |
| | | instance. |
| | | </remarks> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.TelemetryContext.Component"> |
| | | <summary> |
| | | Gets the object describing the component tracked by this <see cref="T:Microsoft.ApplicationInsights.DataContracts.TelemetryContext"/>. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.TelemetryContext.Device"> |
| | | <summary> |
| | | Gets the object describing the device tracked by this <see cref="T:Microsoft.ApplicationInsights.DataContracts.TelemetryContext"/>. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.TelemetryContext.Cloud"> |
| | | <summary> |
| | | Gets the object describing the cloud tracked by this <see cref="T:Microsoft.ApplicationInsights.DataContracts.TelemetryContext"/>. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.TelemetryContext.Session"> |
| | | <summary> |
| | | Gets the object describing a user session tracked by this <see cref="T:Microsoft.ApplicationInsights.DataContracts.TelemetryContext"/>. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.TelemetryContext.User"> |
| | | <summary> |
| | | Gets the object describing a user tracked by this <see cref="T:Microsoft.ApplicationInsights.DataContracts.TelemetryContext"/>. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.TelemetryContext.Operation"> |
| | | <summary> |
| | | Gets the object describing a operation tracked by this <see cref="T:Microsoft.ApplicationInsights.DataContracts.TelemetryContext"/>. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.TelemetryContext.Location"> |
| | | <summary> |
| | | Gets the object describing a location tracked by this <see cref="T:Microsoft.ApplicationInsights.DataContracts.TelemetryContext" />. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.TelemetryContext.Properties"> |
| | | <summary> |
| | | Gets a dictionary of application-defined property values. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.TelemetryContext.Tags"> |
| | | <summary> |
| | | Gets a dictionary of context tags. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.DataContracts.TraceTelemetry"> |
| | | <summary> |
| | | Telemetry type used for log messages. |
| | | Contains a time and message and optionally some additional metadata. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.TraceTelemetry.#ctor"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.DataContracts.TraceTelemetry"/> class. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.TraceTelemetry.#ctor(System.String)"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.DataContracts.TraceTelemetry"/> class. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.TraceTelemetry.#ctor(System.String,Microsoft.ApplicationInsights.DataContracts.SeverityLevel)"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.DataContracts.TraceTelemetry"/> class. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.TraceTelemetry.Timestamp"> |
| | | <summary> |
| | | Gets or sets date and time when event was recorded. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.TraceTelemetry.Sequence"> |
| | | <summary> |
| | | Gets or sets the value that defines absolute order of the telemetry item. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.TraceTelemetry.Context"> |
| | | <summary> |
| | | Gets the context associated with the current telemetry item. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.TraceTelemetry.Message"> |
| | | <summary> |
| | | Gets or sets the message text. For example, the text that would normally be written to a log file line. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.TraceTelemetry.SeverityLevel"> |
| | | <summary> |
| | | Gets or sets Trace severity level. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.TraceTelemetry.Properties"> |
| | | <summary> |
| | | Gets a dictionary of application-defined property names and values providing additional information about this trace. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.DataContracts.TraceTelemetry.Microsoft#ApplicationInsights#DataContracts#ISupportSampling#SamplingPercentage"> |
| | | <summary> |
| | | Gets or sets data sampling percentage (between 0 and 100). |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.DataContracts.TraceTelemetry.Microsoft#ApplicationInsights#Channel#ITelemetry#Sanitize"> |
| | | <summary> |
| | | Sanitizes the properties based on constraints. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.OperationTelemetryExtensions"> |
| | | <summary> |
| | | Extension functions to operation telemetry that start and stop the timer. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.OperationTelemetryExtensions.Start(Microsoft.ApplicationInsights.Extensibility.Implementation.OperationTelemetry)"> |
| | | <summary> |
| | | An extension to telemetry item that starts the timer for the the respective telemetry. |
| | | </summary> |
| | | <param name="telemetry">Telemetry item object that calls this extension method.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.OperationTelemetryExtensions.Stop(Microsoft.ApplicationInsights.Extensibility.Implementation.OperationTelemetry)"> |
| | | <summary> |
| | | An extension method to telemetry item that stops the timer and computes the duration of the request or dependency. |
| | | </summary> |
| | | <param name="telemetry">Telemetry item object that calls this extension method.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.OperationTelemetryExtensions.GenerateOperationId(Microsoft.ApplicationInsights.Extensibility.Implementation.OperationTelemetry)"> |
| | | <summary> |
| | | Generate random operation Id and set it to OperationContext. |
| | | </summary> |
| | | <param name="telemetry">Telemetry to initialize Operation id for.</param> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.TelemetryClient"> |
| | | <summary> |
| | | Send events, metrics and other telemetry to the Application Insights service. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.TelemetryClient.#ctor"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.TelemetryClient" /> class. Send telemetry with the active configuration, usually loaded from ApplicationInsights.config. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.TelemetryClient.#ctor(Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration)"> |
| | | <summary> |
| | | Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.TelemetryClient" /> class. Send telemetry with the specified <paramref name="configuration"/>. |
| | | </summary> |
| | | <exception cref="T:System.ArgumentNullException">The <paramref name="configuration"/> is null.</exception> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.TelemetryClient.Context"> |
| | | <summary> |
| | | Gets the current context that will be used to augment telemetry you send. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.TelemetryClient.InstrumentationKey"> |
| | | <summary> |
| | | Gets or sets the default instrumentation key for all <see cref="T:Microsoft.ApplicationInsights.Channel.ITelemetry"/> objects logged in this <see cref="T:Microsoft.ApplicationInsights.TelemetryClient"/>. |
| | | </summary> |
| | | </member> |
| | | <member name="P:Microsoft.ApplicationInsights.TelemetryClient.TelemetryConfiguration"> |
| | | <summary> |
| | | Gets the <see cref="P:Microsoft.ApplicationInsights.TelemetryClient.TelemetryConfiguration"/> object associated with this telemetry client instance. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.TelemetryClient.IsEnabled"> |
| | | <summary> |
| | | Check to determine if the tracking is enabled. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.TelemetryClient.TrackEvent(System.String,System.Collections.Generic.IDictionary{System.String,System.String},System.Collections.Generic.IDictionary{System.String,System.Double})"> |
| | | <summary> |
| | | Send an <see cref="T:Microsoft.ApplicationInsights.DataContracts.EventTelemetry"/> for display in Diagnostic Search and aggregation in Metrics Explorer. |
| | | </summary> |
| | | <param name="eventName">A name for the event.</param> |
| | | <param name="properties">Named string values you can use to search and classify events.</param> |
| | | <param name="metrics">Measurements associated with this event.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.TelemetryClient.TrackEvent(Microsoft.ApplicationInsights.DataContracts.EventTelemetry)"> |
| | | <summary> |
| | | Send an <see cref="T:Microsoft.ApplicationInsights.DataContracts.EventTelemetry"/> for display in Diagnostic Search and aggregation in Metrics Explorer. |
| | | Create a separate <see cref="T:Microsoft.ApplicationInsights.DataContracts.EventTelemetry"/> instance for each call to <see cref="M:Microsoft.ApplicationInsights.TelemetryClient.TrackEvent(Microsoft.ApplicationInsights.DataContracts.EventTelemetry)"/>. |
| | | </summary> |
| | | <param name="telemetry">An event log item.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.TelemetryClient.TrackTrace(System.String)"> |
| | | <summary> |
| | | Send a trace message for display in Diagnostic Search. |
| | | </summary> |
| | | <param name="message">Message to display.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.TelemetryClient.TrackTrace(System.String,Microsoft.ApplicationInsights.DataContracts.SeverityLevel)"> |
| | | <summary> |
| | | Send a trace message for display in Diagnostic Search. |
| | | </summary> |
| | | <param name="message">Message to display.</param> |
| | | <param name="severityLevel">Trace severity level.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.TelemetryClient.TrackTrace(System.String,System.Collections.Generic.IDictionary{System.String,System.String})"> |
| | | <summary> |
| | | Send a trace message for display in Diagnostic Search. |
| | | </summary> |
| | | <param name="message">Message to display.</param> |
| | | <param name="properties">Named string values you can use to search and classify events.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.TelemetryClient.TrackTrace(System.String,Microsoft.ApplicationInsights.DataContracts.SeverityLevel,System.Collections.Generic.IDictionary{System.String,System.String})"> |
| | | <summary> |
| | | Send a trace message for display in Diagnostic Search. |
| | | </summary> |
| | | <param name="message">Message to display.</param> |
| | | <param name="severityLevel">Trace severity level.</param> |
| | | <param name="properties">Named string values you can use to search and classify events.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.TelemetryClient.TrackTrace(Microsoft.ApplicationInsights.DataContracts.TraceTelemetry)"> |
| | | <summary> |
| | | Send a trace message for display in Diagnostic Search. |
| | | Create a separate <see cref="T:Microsoft.ApplicationInsights.DataContracts.TraceTelemetry"/> instance for each call to <see cref="M:Microsoft.ApplicationInsights.TelemetryClient.TrackTrace(Microsoft.ApplicationInsights.DataContracts.TraceTelemetry)"/>. |
| | | </summary> |
| | | <param name="telemetry">Message with optional properties.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.TelemetryClient.TrackMetric(System.String,System.Double,System.Collections.Generic.IDictionary{System.String,System.String})"> |
| | | <summary> |
| | | Send a <see cref="T:Microsoft.ApplicationInsights.DataContracts.MetricTelemetry"/> for aggregation in Metric Explorer. |
| | | </summary> |
| | | <param name="name">Metric name.</param> |
| | | <param name="value">Metric value.</param> |
| | | <param name="properties">Named string values you can use to classify and filter metrics.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.TelemetryClient.TrackMetric(Microsoft.ApplicationInsights.DataContracts.MetricTelemetry)"> |
| | | <summary> |
| | | Send a <see cref="T:Microsoft.ApplicationInsights.DataContracts.MetricTelemetry"/> for aggregation in Metric Explorer. |
| | | Create a separate <see cref="T:Microsoft.ApplicationInsights.DataContracts.MetricTelemetry"/> instance for each call to <see cref="M:Microsoft.ApplicationInsights.TelemetryClient.TrackMetric(Microsoft.ApplicationInsights.DataContracts.MetricTelemetry)"/>. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.TelemetryClient.TrackException(System.Exception,System.Collections.Generic.IDictionary{System.String,System.String},System.Collections.Generic.IDictionary{System.String,System.Double})"> |
| | | <summary> |
| | | Send an <see cref="T:Microsoft.ApplicationInsights.DataContracts.ExceptionTelemetry"/> for display in Diagnostic Search. |
| | | </summary> |
| | | <param name="exception">The exception to log.</param> |
| | | <param name="properties">Named string values you can use to classify and search for this exception.</param> |
| | | <param name="metrics">Additional values associated with this exception.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.TelemetryClient.TrackException(Microsoft.ApplicationInsights.DataContracts.ExceptionTelemetry)"> |
| | | <summary> |
| | | Send an <see cref="T:Microsoft.ApplicationInsights.DataContracts.ExceptionTelemetry"/> for display in Diagnostic Search. |
| | | Create a separate <see cref="T:Microsoft.ApplicationInsights.DataContracts.ExceptionTelemetry"/> instance for each call to <see cref="M:Microsoft.ApplicationInsights.TelemetryClient.TrackException(Microsoft.ApplicationInsights.DataContracts.ExceptionTelemetry)"/> |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.TelemetryClient.TrackDependency(System.String,System.String,System.DateTimeOffset,System.TimeSpan,System.Boolean)"> |
| | | <summary> |
| | | Send information about external dependency call in the application. |
| | | </summary> |
| | | <param name="dependencyName">External dependency name.</param> |
| | | <param name="commandName">Dependency call command name.</param> |
| | | <param name="startTime">The time when the dependency was called.</param> |
| | | <param name="duration">The time taken by the external dependency to handle the call.</param> |
| | | <param name="success">True if the dependency call was handled successfully.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.TelemetryClient.TrackDependency(Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry)"> |
| | | <summary> |
| | | Send information about external dependency call in the application. |
| | | Create a separate <see cref="T:Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry"/> instance for each call to <see cref="M:Microsoft.ApplicationInsights.TelemetryClient.TrackDependency(Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry)"/> |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.TelemetryClient.Track(Microsoft.ApplicationInsights.Channel.ITelemetry)"> |
| | | <summary> |
| | | This method is an internal part of Application Insights infrastructure. Do not call. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.TelemetryClient.Initialize(Microsoft.ApplicationInsights.Channel.ITelemetry)"> |
| | | <summary> |
| | | This method is an internal part of Application Insights infrastructure. Do not call. |
| | | </summary> |
| | | <param name="telemetry">Telemetry item to initialize.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.TelemetryClient.TrackPageView(System.String)"> |
| | | <summary> |
| | | Send information about the page viewed in the application. |
| | | </summary> |
| | | <param name="name">Name of the page.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.TelemetryClient.TrackPageView(Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry)"> |
| | | <summary> |
| | | Send information about the page viewed in the application. |
| | | Create a separate <see cref="T:Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry"/> instance for each call to <see cref="M:Microsoft.ApplicationInsights.TelemetryClient.TrackPageView(Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry)"/>. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.TelemetryClient.TrackRequest(System.String,System.DateTimeOffset,System.TimeSpan,System.String,System.Boolean)"> |
| | | <summary> |
| | | Send information about a request handled by the application. |
| | | </summary> |
| | | <param name="name">The request name.</param> |
| | | <param name="startTime">The time when the page was requested.</param> |
| | | <param name="duration">The time taken by the application to handle the request.</param> |
| | | <param name="responseCode">The response status code.</param> |
| | | <param name="success">True if the request was handled successfully by the application.</param> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.TelemetryClient.TrackRequest(Microsoft.ApplicationInsights.DataContracts.RequestTelemetry)"> |
| | | <summary> |
| | | Send information about a request handled by the application. |
| | | Create a separate <see cref="T:Microsoft.ApplicationInsights.DataContracts.RequestTelemetry"/> instance for each call to <see cref="M:Microsoft.ApplicationInsights.TelemetryClient.TrackRequest(Microsoft.ApplicationInsights.DataContracts.RequestTelemetry)"/>. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.TelemetryClient.Flush"> |
| | | <summary> |
| | | Flushes the in-memory buffer. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.Utils"> |
| | | <summary> |
| | | Various utilities. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Utils.PopulateRequiredStringValue(System.String,System.String,System.String)"> |
| | | <summary> |
| | | Validates the string and if null or empty populates it with '$parameterName is a required field for $telemetryType' value. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.Utils.ValidateDuration(System.String)"> |
| | | <summary> |
| | | Returns default Timespan value if not a valid Timespan. |
| | | </summary> |
| | | </member> |
| | | <member name="T:Microsoft.ApplicationInsights.TelemetryClientExtensions"> |
| | | <summary> |
| | | Extension class to telemetry client that creates operation object with the respective fields initialized. |
| | | </summary> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.TelemetryClientExtensions.StartOperation``1(Microsoft.ApplicationInsights.TelemetryClient,System.String)"> |
| | | <summary> |
| | | Start operation creates an operation object with a respective telemetry item. |
| | | </summary> |
| | | <typeparam name="T">Type of the telemetry item.</typeparam> |
| | | <param name="telemetryClient">Telemetry client object.</param> |
| | | <param name="operationName">Name of the operation that customer is planning to propagate.</param> |
| | | <returns>Operation item object with a new telemetry item having current start time and timestamp.</returns> |
| | | </member> |
| | | <member name="M:Microsoft.ApplicationInsights.TelemetryClientExtensions.StopOperation``1(Microsoft.ApplicationInsights.TelemetryClient,Microsoft.ApplicationInsights.Extensibility.IOperationHolder{``0})"> |
| | | <summary> |
| | | Stop operation computes the duration of the operation and tracks it using the respective telemetry client. |
| | | </summary> |
| | | <param name="telemetryClient">Telemetry client object.</param> |
| | | <param name="operation">Operation object to compute duration and track.</param> |
| | | </member> |
| | | </members> |
| | | </doc> |
| New file |
| | |
| | | <?xml version="1.0"?> |
| | | <configuration> |
| | | <configSections> |
| | | <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> |
| | | </configSections> |
| | | <appSettings> |
| | | <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true"/> |
| | | <add key="IgnoringAntPathRequestMatcher" |
| | | value="CalculateDataServices.svc,EarthquakeAffectedAreaServices.svc,GrasslandFloodDisasterServices.svc,GrasslandFireDisasterServices.svc" /> |
| | | </appSettings> |
| | | <connectionStrings> |
| | | <add name="Default" connectionString="Data Source=39.98.182.30;port=3306;Initial Catalog=calculte;user id=root;password=abcd,.1234;" providerName="MySql.Data.MySqlClient" /> |
| | | <!--<add name="Default" connectionString="data source=.;initial catalog=GTDBOMTS;Uid=sa;pwd=sasa;App=EntityFramework" providerName="System.Data.SqlClient" />--> |
| | | </connectionStrings> |
| | | <system.web> |
| | | <customErrors mode="Off" /> |
| | | <compilation debug="true" targetFramework="4.6.1" /> |
| | | <authentication mode="None" /> |
| | | <httpRuntime maxRequestLength="2097151" /> |
| | | <pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID" /> |
| | | </system.web> |
| | | <system.webServer> |
| | | <httpProtocol> |
| | | <customHeaders> |
| | | <!--<add name="Access-Control-Allow-Origin" value="*" /> |
| | | <add name="Access-Control-Allow-Headers" value="Content-Type, Accept" /> |
| | | <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE" /> |
| | | <add name="Access-Control-Max-Age" value="1728000" />--> |
| | | </customHeaders> |
| | | </httpProtocol> |
| | | <modules runAllManagedModulesForAllRequests="false" /> |
| | | <staticContent> |
| | | <mimeMap fileExtension=".apk" mimeType="application/vnd.android.package-archive" /> |
| | | <mimeMap fileExtension=".svc" mimeType="application/octet-stream" /> |
| | | </staticContent> |
| | | <directoryBrowse enabled="false" /> |
| | | </system.webServer> |
| | | <!--<system.diagnostics> |
| | | <trace autoflush="true" /> |
| | | <sources> |
| | | <source name="System.ServiceModel.MessageLogging"> |
| | | <listeners> |
| | | <add name="ServiceModelMessageLoggingListener"> |
| | | <filter type="" /> |
| | | </add> |
| | | </listeners> |
| | | </source> |
| | | </sources> |
| | | <sharedListeners> |
| | | <add initializeData="Logs\Messages.svclog" |
| | | type="System.Diagnostics.XmlWriterTraceListener" |
| | | name="ServiceModelMessageLoggingListener" |
| | | traceOutputOptions="Timestamp"> |
| | | <filter type="" /> |
| | | </add> |
| | | </sharedListeners> |
| | | </system.diagnostics>--> |
| | | <system.serviceModel> |
| | | <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" /> |
| | | <diagnostics> |
| | | <messageLogging logEntireMessage="true" |
| | | logMalformedMessages="true" |
| | | logMessagesAtServiceLevel="true" |
| | | logMessagesAtTransportLevel="true" |
| | | maxMessagesToLog="2147483647" |
| | | maxSizeOfMessageToLog="2147483647" /> |
| | | </diagnostics> |
| | | <services> |
| | | <service behaviorConfiguration="Yokogawa.TLSVP.Api.AppServiceBehavior" |
| | | name="Yokogawa.TLSVP.Api.WebSite.CalculateDataServices"> |
| | | <endpoint address="" behaviorConfiguration="WebHttpBindingBehavior" |
| | | binding="webHttpBinding" bindingConfiguration="MyServiceBinding" |
| | | contract="Yokogawa.TLSVP.Api.Contract.ICalculateDataServices" /> |
| | | </service> |
| | | <service behaviorConfiguration="Yokogawa.TLSVP.Api.AppServiceBehavior" |
| | | name="Yokogawa.TLSVP.Api.WebSite.EarthquakeAffectedAreaServices"> |
| | | <endpoint address="" behaviorConfiguration="WebHttpBindingBehavior" |
| | | binding="webHttpBinding" bindingConfiguration="MyServiceBinding" |
| | | contract="Yokogawa.TLSVP.Api.Contract.IEarthquakeAffectedAreaServices" /> |
| | | </service> |
| | | <service behaviorConfiguration="Yokogawa.TLSVP.Api.AppServiceBehavior" |
| | | name="Yokogawa.TLSVP.Api.WebSite.GrasslandFloodDisasterServices"> |
| | | <endpoint address="" behaviorConfiguration="WebHttpBindingBehavior" |
| | | binding="webHttpBinding" bindingConfiguration="MyServiceBinding" |
| | | contract="Yokogawa.TLSVP.Api.Contract.IGrasslandFloodDisasterServices" /> |
| | | </service> |
| | | <service behaviorConfiguration="Yokogawa.TLSVP.Api.AppServiceBehavior" |
| | | name="Yokogawa.TLSVP.Api.WebSite.GrasslandFireDisasterServices"> |
| | | <endpoint address="" behaviorConfiguration="WebHttpBindingBehavior" |
| | | binding="webHttpBinding" bindingConfiguration="MyServiceBinding" |
| | | contract="Yokogawa.TLSVP.Api.Contract.IGrasslandFireDisasterServices" /> |
| | | </service> |
| | | </services> |
| | | <behaviors> |
| | | <endpointBehaviors> |
| | | <behavior name="WebHttpBindingBehavior"> |
| | | <webHttp /> |
| | | </behavior> |
| | | <behavior name="webHttp"> |
| | | <webHttp helpEnabled="true" /> |
| | | </behavior> |
| | | </endpointBehaviors> |
| | | <serviceBehaviors> |
| | | <behavior name="Yokogawa.TLSVP.Api.AppServiceBehavior"> |
| | | <serviceMetadata httpGetEnabled="true" /> |
| | | <serviceDebug includeExceptionDetailInFaults="true" /> |
| | | </behavior> |
| | | <behavior name=""> |
| | | <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" /> |
| | | <serviceDebug includeExceptionDetailInFaults="false" /> |
| | | </behavior> |
| | | </serviceBehaviors> |
| | | </behaviors> |
| | | <bindings> |
| | | <webHttpBinding> |
| | | <binding name="MyServiceBinding" sendTimeout="00:10:00" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" maxBufferPoolSize="2147483647"> |
| | | <readerQuotas maxDepth="32" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="4096" maxNameTableCharCount="16384" /> |
| | | <security mode="None" /> |
| | | </binding> |
| | | <binding name="webHttpBindConfig" receiveTimeout="00:30:00" sendTimeout="00:30:00" maxReceivedMessageSize="104857600" transferMode="Streamed"> |
| | | <readerQuotas maxStringContentLength="2147483647" maxArrayLength="2147483647" /> |
| | | <security mode="None" /> |
| | | </binding> |
| | | </webHttpBinding> |
| | | <basicHttpBinding /> |
| | | </bindings> |
| | | <client /> |
| | | </system.serviceModel> |
| | | |
| | | <entityFramework> |
| | | <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework"> |
| | | <parameters> |
| | | <parameter value="mssqllocaldb" /> |
| | | </parameters> |
| | | </defaultConnectionFactory> |
| | | <providers> |
| | | <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> |
| | | <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.10.8.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" /> |
| | | <provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" /> |
| | | </providers> |
| | | </entityFramework> |
| | | <system.data> |
| | | <DbProviderFactories> |
| | | <remove invariant="MySql.Data.MySqlClient" /> |
| | | <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.10.8.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" /> |
| | | <remove invariant="System.Data.SQLite.EF6" /> |
| | | <add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" /> |
| | | <remove invariant="System.Data.SQLite" /> |
| | | <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" /> |
| | | </DbProviderFactories> |
| | | </system.data> |
| | | </configuration> |
| New file |
| | |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\ApplicationInsights.config |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\Yokogawa.TLSVP.Api.WebSite.dll.config |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\Yokogawa.TLSVP.Api.WebSite.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\Yokogawa.TLSVP.Api.WebSite.pdb |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\EntityFramework.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\EntityFramework.SqlServer.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\EPPlus.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\FTPMethod.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\JWT.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\Microsoft.AI.Agent.Intercept.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\Microsoft.AI.DependencyCollector.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\Microsoft.AI.PerfCounterCollector.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\Microsoft.AI.ServerTelemetryChannel.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\Microsoft.AI.Web.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\Microsoft.AI.WindowsServer.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\Microsoft.ApplicationInsights.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\MySql.Data.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\MySql.Data.Entity.EF6.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\Newtonsoft.Json.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\SQLite.CodeFirst.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\System.Data.SQLite.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\System.Data.SQLite.EF6.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\System.Data.SQLite.Linq.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\Yokogawa.TLSVP.Api.Common.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\Yokogawa.TLSVP.Api.Contract.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\Yokogawa.TLSVP.Api.Domain.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\Yokogawa.TLSVP.Api.Common.pdb |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\Yokogawa.TLSVP.Api.Contract.pdb |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\Yokogawa.TLSVP.Api.Domain.pdb |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\JWT.pdb |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\JWT.xml |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\Microsoft.AI.DependencyCollector.xml |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\Microsoft.AI.ServerTelemetryChannel.xml |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\Microsoft.AI.Web.xml |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\Microsoft.AI.WindowsServer.xml |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\Microsoft.ApplicationInsights.xml |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\Newtonsoft.Json.xml |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\obj\Debug\Yokogawa.TLSVP.Api.WebSite.csprojResolveAssemblyReference.cache |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\obj\Debug\Yokogawa.TLSVP.Api.WebSite.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\obj\Debug\Yokogawa.TLSVP.Api.WebSite.pdb |
| New file |
| | |
| | | D:\Solution\GTech.Solution.Api.WebSite\bin\ApplicationInsights.config |
| | | D:\Solution\GTech.Solution.Api.WebSite\bin\GTech.Solution.Api.WebSite.dll.config |
| | | D:\Solution\GTech.Solution.Api.WebSite\bin\GTech.Solution.Api.WebSite.dll |
| | | D:\Solution\GTech.Solution.Api.WebSite\bin\GTech.Solution.Api.WebSite.pdb |
| | | D:\Solution\GTech.Solution.Api.WebSite\bin\EntityFramework.dll |
| | | D:\Solution\GTech.Solution.Api.WebSite\bin\EntityFramework.SqlServer.dll |
| | | D:\Solution\GTech.Solution.Api.WebSite\bin\EPPlus.dll |
| | | D:\Solution\GTech.Solution.Api.WebSite\bin\FTPMethod.dll |
| | | D:\Solution\GTech.Solution.Api.WebSite\bin\GTech.Solution.Api.Common.dll |
| | | D:\Solution\GTech.Solution.Api.WebSite\bin\GTech.Solution.Api.Contract.dll |
| | | D:\Solution\GTech.Solution.Api.WebSite\bin\GTech.Solution.Api.Domain.dll |
| | | D:\Solution\GTech.Solution.Api.WebSite\bin\JWT.dll |
| | | D:\Solution\GTech.Solution.Api.WebSite\bin\Microsoft.AI.Agent.Intercept.dll |
| | | D:\Solution\GTech.Solution.Api.WebSite\bin\Microsoft.AI.DependencyCollector.dll |
| | | D:\Solution\GTech.Solution.Api.WebSite\bin\Microsoft.AI.PerfCounterCollector.dll |
| | | D:\Solution\GTech.Solution.Api.WebSite\bin\Microsoft.AI.ServerTelemetryChannel.dll |
| | | D:\Solution\GTech.Solution.Api.WebSite\bin\Microsoft.AI.Web.dll |
| | | D:\Solution\GTech.Solution.Api.WebSite\bin\Microsoft.AI.WindowsServer.dll |
| | | D:\Solution\GTech.Solution.Api.WebSite\bin\Microsoft.ApplicationInsights.dll |
| | | D:\Solution\GTech.Solution.Api.WebSite\bin\MySql.Data.dll |
| | | D:\Solution\GTech.Solution.Api.WebSite\bin\MySql.Data.Entity.EF6.dll |
| | | D:\Solution\GTech.Solution.Api.WebSite\bin\Newtonsoft.Json.dll |
| | | D:\Solution\GTech.Solution.Api.WebSite\bin\SQLite.CodeFirst.dll |
| | | D:\Solution\GTech.Solution.Api.WebSite\bin\System.Data.SQLite.dll |
| | | D:\Solution\GTech.Solution.Api.WebSite\bin\System.Data.SQLite.EF6.dll |
| | | D:\Solution\GTech.Solution.Api.WebSite\bin\System.Data.SQLite.Linq.dll |
| | | D:\Solution\GTech.Solution.Api.WebSite\bin\GTech.Solution.Api.Common.pdb |
| | | D:\Solution\GTech.Solution.Api.WebSite\bin\GTech.Solution.Api.Contract.pdb |
| | | D:\Solution\GTech.Solution.Api.WebSite\bin\GTech.Solution.Api.Domain.pdb |
| | | D:\Solution\GTech.Solution.Api.WebSite\bin\JWT.pdb |
| | | D:\Solution\GTech.Solution.Api.WebSite\bin\JWT.xml |
| | | D:\Solution\GTech.Solution.Api.WebSite\bin\Microsoft.AI.DependencyCollector.xml |
| | | D:\Solution\GTech.Solution.Api.WebSite\bin\Microsoft.AI.ServerTelemetryChannel.xml |
| | | D:\Solution\GTech.Solution.Api.WebSite\bin\Microsoft.AI.Web.xml |
| | | D:\Solution\GTech.Solution.Api.WebSite\bin\Microsoft.AI.WindowsServer.xml |
| | | D:\Solution\GTech.Solution.Api.WebSite\bin\Microsoft.ApplicationInsights.xml |
| | | D:\Solution\GTech.Solution.Api.WebSite\bin\Newtonsoft.Json.xml |
| | | D:\Solution\GTech.Solution.Api.WebSite\obj\Release\GTech.Solution.Api.WebSite.csprojResolveAssemblyReference.cache |
| | | D:\Solution\GTech.Solution.Api.WebSite\obj\Release\GTech.Solution.Api.WebSite.dll |
| | | D:\Solution\GTech.Solution.Api.WebSite\obj\Release\GTech.Solution.Api.WebSite.pdb |
| New file |
| | |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\ApplicationInsights.config |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\Yokogawa.TLSVP.Api.WebSite.dll.config |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\Yokogawa.TLSVP.Api.WebSite.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\Yokogawa.TLSVP.Api.WebSite.pdb |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\EntityFramework.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\EntityFramework.SqlServer.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\EPPlus.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\FTPMethod.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\JWT.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\Microsoft.AI.Agent.Intercept.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\Microsoft.AI.DependencyCollector.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\Microsoft.AI.PerfCounterCollector.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\Microsoft.AI.ServerTelemetryChannel.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\Microsoft.AI.Web.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\Microsoft.AI.WindowsServer.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\Microsoft.ApplicationInsights.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\MySql.Data.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\MySql.Data.Entity.EF6.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\Newtonsoft.Json.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\SQLite.CodeFirst.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\System.Data.SQLite.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\System.Data.SQLite.EF6.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\System.Data.SQLite.Linq.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\Yokogawa.TLSVP.Api.Common.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\Yokogawa.TLSVP.Api.Contract.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\Yokogawa.TLSVP.Api.Domain.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\Yokogawa.TLSVP.Api.Common.pdb |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\Yokogawa.TLSVP.Api.Contract.pdb |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\Yokogawa.TLSVP.Api.Domain.pdb |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\JWT.pdb |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\JWT.xml |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\Microsoft.AI.DependencyCollector.xml |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\Microsoft.AI.ServerTelemetryChannel.xml |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\Microsoft.AI.Web.xml |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\Microsoft.AI.WindowsServer.xml |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\Microsoft.ApplicationInsights.xml |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\bin\Newtonsoft.Json.xml |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\obj\Release\Yokogawa.TLSVP.Api.WebSite.csprojResolveAssemblyReference.cache |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\obj\Release\Yokogawa.TLSVP.Api.WebSite.dll |
| | | D:\Banwang\SourceCode\Yokogawa.TLSVP.Api.WebSite\obj\Release\Yokogawa.TLSVP.Api.WebSite.pdb |
| New file |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <packages> |
| | | <package id="JWT" version="7.3.0" targetFramework="net461" /> |
| | | <package id="Microsoft.ApplicationInsights" version="2.0.0" targetFramework="net461" /> |
| | | <package id="Microsoft.ApplicationInsights.Agent.Intercept" version="1.2.1" targetFramework="net461" /> |
| | | <package id="Microsoft.ApplicationInsights.DependencyCollector" version="2.0.0" targetFramework="net461" /> |
| | | <package id="Microsoft.ApplicationInsights.JavaScript" version="0.22.9-build00167" targetFramework="net461" /> |
| | | <package id="Microsoft.ApplicationInsights.PerfCounterCollector" version="2.0.0" targetFramework="net461" /> |
| | | <package id="Microsoft.ApplicationInsights.Web" version="2.0.0" targetFramework="net461" /> |
| | | <package id="Microsoft.ApplicationInsights.WindowsServer" version="2.0.0" targetFramework="net461" /> |
| | | <package id="Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel" version="2.0.0" targetFramework="net461" /> |
| | | <package id="Newtonsoft.Json" version="9.0.1" targetFramework="net461" /> |
| | | </packages> |
| New file |
| | |
| | | var Microsoft; |
| | | (function (Microsoft) { |
| | | var ApplicationInsights; |
| | | (function (ApplicationInsights) { |
| | | (function (LoggingSeverity) { |
| | | LoggingSeverity[LoggingSeverity["CRITICAL"] = 0] = "CRITICAL"; |
| | | LoggingSeverity[LoggingSeverity["WARNING"] = 1] = "WARNING"; |
| | | })(ApplicationInsights.LoggingSeverity || (ApplicationInsights.LoggingSeverity = {})); |
| | | var LoggingSeverity = ApplicationInsights.LoggingSeverity; |
| | | (function (_InternalMessageId) { |
| | | _InternalMessageId[_InternalMessageId["NONUSRACT_BrowserDoesNotSupportLocalStorage"] = 0] = "NONUSRACT_BrowserDoesNotSupportLocalStorage"; |
| | | _InternalMessageId[_InternalMessageId["NONUSRACT_BrowserCannotReadLocalStorage"] = 1] = "NONUSRACT_BrowserCannotReadLocalStorage"; |
| | | _InternalMessageId[_InternalMessageId["NONUSRACT_BrowserCannotReadSessionStorage"] = 2] = "NONUSRACT_BrowserCannotReadSessionStorage"; |
| | | _InternalMessageId[_InternalMessageId["NONUSRACT_BrowserCannotWriteLocalStorage"] = 3] = "NONUSRACT_BrowserCannotWriteLocalStorage"; |
| | | _InternalMessageId[_InternalMessageId["NONUSRACT_BrowserCannotWriteSessionStorage"] = 4] = "NONUSRACT_BrowserCannotWriteSessionStorage"; |
| | | _InternalMessageId[_InternalMessageId["NONUSRACT_BrowserFailedRemovalFromLocalStorage"] = 5] = "NONUSRACT_BrowserFailedRemovalFromLocalStorage"; |
| | | _InternalMessageId[_InternalMessageId["NONUSRACT_BrowserFailedRemovalFromSessionStorage"] = 6] = "NONUSRACT_BrowserFailedRemovalFromSessionStorage"; |
| | | _InternalMessageId[_InternalMessageId["NONUSRACT_CannotSendEmptyTelemetry"] = 7] = "NONUSRACT_CannotSendEmptyTelemetry"; |
| | | _InternalMessageId[_InternalMessageId["NONUSRACT_ClientPerformanceMathError"] = 8] = "NONUSRACT_ClientPerformanceMathError"; |
| | | _InternalMessageId[_InternalMessageId["NONUSRACT_ErrorParsingAISessionCookie"] = 9] = "NONUSRACT_ErrorParsingAISessionCookie"; |
| | | _InternalMessageId[_InternalMessageId["NONUSRACT_ErrorPVCalc"] = 10] = "NONUSRACT_ErrorPVCalc"; |
| | | _InternalMessageId[_InternalMessageId["NONUSRACT_ExceptionWhileLoggingError"] = 11] = "NONUSRACT_ExceptionWhileLoggingError"; |
| | | _InternalMessageId[_InternalMessageId["NONUSRACT_FailedAddingTelemetryToBuffer"] = 12] = "NONUSRACT_FailedAddingTelemetryToBuffer"; |
| | | _InternalMessageId[_InternalMessageId["NONUSRACT_FailedMonitorAjaxAbort"] = 13] = "NONUSRACT_FailedMonitorAjaxAbort"; |
| | | _InternalMessageId[_InternalMessageId["NONUSRACT_FailedMonitorAjaxDur"] = 14] = "NONUSRACT_FailedMonitorAjaxDur"; |
| | | _InternalMessageId[_InternalMessageId["NONUSRACT_FailedMonitorAjaxOpen"] = 15] = "NONUSRACT_FailedMonitorAjaxOpen"; |
| | | _InternalMessageId[_InternalMessageId["NONUSRACT_FailedMonitorAjaxRSC"] = 16] = "NONUSRACT_FailedMonitorAjaxRSC"; |
| | | _InternalMessageId[_InternalMessageId["NONUSRACT_FailedMonitorAjaxSend"] = 17] = "NONUSRACT_FailedMonitorAjaxSend"; |
| | | _InternalMessageId[_InternalMessageId["NONUSRACT_FailedToAddHandlerForOnBeforeUnload"] = 18] = "NONUSRACT_FailedToAddHandlerForOnBeforeUnload"; |
| | | _InternalMessageId[_InternalMessageId["NONUSRACT_FailedToSendQueuedTelemetry"] = 19] = "NONUSRACT_FailedToSendQueuedTelemetry"; |
| | | _InternalMessageId[_InternalMessageId["NONUSRACT_FailedToReportDataLoss"] = 20] = "NONUSRACT_FailedToReportDataLoss"; |
| | | _InternalMessageId[_InternalMessageId["NONUSRACT_FlushFailed"] = 21] = "NONUSRACT_FlushFailed"; |
| | | _InternalMessageId[_InternalMessageId["NONUSRACT_MessageLimitPerPVExceeded"] = 22] = "NONUSRACT_MessageLimitPerPVExceeded"; |
| | | _InternalMessageId[_InternalMessageId["NONUSRACT_MissingRequiredFieldSpecification"] = 23] = "NONUSRACT_MissingRequiredFieldSpecification"; |
| | | _InternalMessageId[_InternalMessageId["NONUSRACT_NavigationTimingNotSupported"] = 24] = "NONUSRACT_NavigationTimingNotSupported"; |
| | | _InternalMessageId[_InternalMessageId["NONUSRACT_OnError"] = 25] = "NONUSRACT_OnError"; |
| | | _InternalMessageId[_InternalMessageId["NONUSRACT_SessionRenewalDateIsZero"] = 26] = "NONUSRACT_SessionRenewalDateIsZero"; |
| | | _InternalMessageId[_InternalMessageId["NONUSRACT_SenderNotInitialized"] = 27] = "NONUSRACT_SenderNotInitialized"; |
| | | _InternalMessageId[_InternalMessageId["NONUSRACT_StartTrackEventFailed"] = 28] = "NONUSRACT_StartTrackEventFailed"; |
| | | _InternalMessageId[_InternalMessageId["NONUSRACT_StopTrackEventFailed"] = 29] = "NONUSRACT_StopTrackEventFailed"; |
| | | _InternalMessageId[_InternalMessageId["NONUSRACT_StartTrackFailed"] = 30] = "NONUSRACT_StartTrackFailed"; |
| | | _InternalMessageId[_InternalMessageId["NONUSRACT_StopTrackFailed"] = 31] = "NONUSRACT_StopTrackFailed"; |
| | | _InternalMessageId[_InternalMessageId["NONUSRACT_TelemetrySampledAndNotSent"] = 32] = "NONUSRACT_TelemetrySampledAndNotSent"; |
| | | _InternalMessageId[_InternalMessageId["NONUSRACT_TrackEventFailed"] = 33] = "NONUSRACT_TrackEventFailed"; |
| | | _InternalMessageId[_InternalMessageId["NONUSRACT_TrackExceptionFailed"] = 34] = "NONUSRACT_TrackExceptionFailed"; |
| | | _InternalMessageId[_InternalMessageId["NONUSRACT_TrackMetricFailed"] = 35] = "NONUSRACT_TrackMetricFailed"; |
| | | _InternalMessageId[_InternalMessageId["NONUSRACT_TrackPVFailed"] = 36] = "NONUSRACT_TrackPVFailed"; |
| | | _InternalMessageId[_InternalMessageId["NONUSRACT_TrackPVFailedCalc"] = 37] = "NONUSRACT_TrackPVFailedCalc"; |
| | | _InternalMessageId[_InternalMessageId["NONUSRACT_TrackTraceFailed"] = 38] = "NONUSRACT_TrackTraceFailed"; |
| | | _InternalMessageId[_InternalMessageId["NONUSRACT_TransmissionFailed"] = 39] = "NONUSRACT_TransmissionFailed"; |
| | | _InternalMessageId[_InternalMessageId["USRACT_CannotSerializeObject"] = 40] = "USRACT_CannotSerializeObject"; |
| | | _InternalMessageId[_InternalMessageId["USRACT_CannotSerializeObjectNonSerializable"] = 41] = "USRACT_CannotSerializeObjectNonSerializable"; |
| | | _InternalMessageId[_InternalMessageId["USRACT_CircularReferenceDetected"] = 42] = "USRACT_CircularReferenceDetected"; |
| | | _InternalMessageId[_InternalMessageId["USRACT_ClearAuthContextFailed"] = 43] = "USRACT_ClearAuthContextFailed"; |
| | | _InternalMessageId[_InternalMessageId["USRACT_ExceptionTruncated"] = 44] = "USRACT_ExceptionTruncated"; |
| | | _InternalMessageId[_InternalMessageId["USRACT_IllegalCharsInName"] = 45] = "USRACT_IllegalCharsInName"; |
| | | _InternalMessageId[_InternalMessageId["USRACT_ItemNotInArray"] = 46] = "USRACT_ItemNotInArray"; |
| | | _InternalMessageId[_InternalMessageId["USRACT_MaxAjaxPerPVExceeded"] = 47] = "USRACT_MaxAjaxPerPVExceeded"; |
| | | _InternalMessageId[_InternalMessageId["USRACT_MessageTruncated"] = 48] = "USRACT_MessageTruncated"; |
| | | _InternalMessageId[_InternalMessageId["USRACT_NameTooLong"] = 49] = "USRACT_NameTooLong"; |
| | | _InternalMessageId[_InternalMessageId["USRACT_SampleRateOutOfRange"] = 50] = "USRACT_SampleRateOutOfRange"; |
| | | _InternalMessageId[_InternalMessageId["USRACT_SetAuthContextFailed"] = 51] = "USRACT_SetAuthContextFailed"; |
| | | _InternalMessageId[_InternalMessageId["USRACT_SetAuthContextFailedAccountName"] = 52] = "USRACT_SetAuthContextFailedAccountName"; |
| | | _InternalMessageId[_InternalMessageId["USRACT_StringValueTooLong"] = 53] = "USRACT_StringValueTooLong"; |
| | | _InternalMessageId[_InternalMessageId["USRACT_StartCalledMoreThanOnce"] = 54] = "USRACT_StartCalledMoreThanOnce"; |
| | | _InternalMessageId[_InternalMessageId["USRACT_StopCalledWithoutStart"] = 55] = "USRACT_StopCalledWithoutStart"; |
| | | _InternalMessageId[_InternalMessageId["USRACT_TelemetryInitializerFailed"] = 56] = "USRACT_TelemetryInitializerFailed"; |
| | | _InternalMessageId[_InternalMessageId["USRACT_TrackArgumentsNotSpecified"] = 57] = "USRACT_TrackArgumentsNotSpecified"; |
| | | _InternalMessageId[_InternalMessageId["USRACT_UrlTooLong"] = 58] = "USRACT_UrlTooLong"; |
| | | })(ApplicationInsights._InternalMessageId || (ApplicationInsights._InternalMessageId = {})); |
| | | var _InternalMessageId = ApplicationInsights._InternalMessageId; |
| | | var _InternalLogMessage = (function () { |
| | | function _InternalLogMessage(msgId, msg, properties) { |
| | | this.message = _InternalMessageId[msgId].toString(); |
| | | this.messageId = msgId; |
| | | var diagnosticText = (msg ? " message:" + _InternalLogMessage.sanitizeDiagnosticText(msg) : "") + |
| | | (properties ? " props:" + _InternalLogMessage.sanitizeDiagnosticText(JSON.stringify(properties)) : ""); |
| | | this.message += diagnosticText; |
| | | } |
| | | _InternalLogMessage.sanitizeDiagnosticText = function (text) { |
| | | return "\"" + text.replace(/\"/g, "") + "\""; |
| | | }; |
| | | return _InternalLogMessage; |
| | | })(); |
| | | ApplicationInsights._InternalLogMessage = _InternalLogMessage; |
| | | var _InternalLogging = (function () { |
| | | function _InternalLogging() { |
| | | } |
| | | _InternalLogging.throwInternalNonUserActionable = function (severity, message) { |
| | | if (this.enableDebugExceptions()) { |
| | | throw message; |
| | | } |
| | | else { |
| | | if (typeof (message) !== "undefined" && !!message) { |
| | | if (typeof (message.message) !== "undefined") { |
| | | message.message = this.AiNonUserActionablePrefix + message.message; |
| | | this.warnToConsole(message.message); |
| | | this.logInternalMessage(severity, message); |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | _InternalLogging.throwInternalUserActionable = function (severity, message) { |
| | | if (this.enableDebugExceptions()) { |
| | | throw message; |
| | | } |
| | | else { |
| | | if (typeof (message) !== "undefined" && !!message) { |
| | | if (typeof (message.message) !== "undefined") { |
| | | message.message = this.AiUserActionablePrefix + message.message; |
| | | this.warnToConsole(message.message); |
| | | this.logInternalMessage(severity, message); |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | _InternalLogging.warnToConsole = function (message) { |
| | | if (typeof console !== "undefined" && !!console) { |
| | | if (typeof console.warn === "function") { |
| | | console.warn(message); |
| | | } |
| | | else if (typeof console.log === "function") { |
| | | console.log(message); |
| | | } |
| | | } |
| | | }; |
| | | _InternalLogging.resetInternalMessageCount = function () { |
| | | this._messageCount = 0; |
| | | }; |
| | | _InternalLogging.clearInternalMessageLoggedTypes = function () { |
| | | if (ApplicationInsights.Util.canUseSessionStorage()) { |
| | | var sessionStorageKeys = ApplicationInsights.Util.getSessionStorageKeys(); |
| | | for (var i = 0; i < sessionStorageKeys.length; i++) { |
| | | if (sessionStorageKeys[i].indexOf(_InternalLogging.AIInternalMessagePrefix) === 0) { |
| | | ApplicationInsights.Util.removeSessionStorage(sessionStorageKeys[i]); |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | _InternalLogging.setMaxInternalMessageLimit = function (limit) { |
| | | if (!limit) { |
| | | throw new Error('limit cannot be undefined.'); |
| | | } |
| | | this.MAX_INTERNAL_MESSAGE_LIMIT = limit; |
| | | }; |
| | | _InternalLogging.logInternalMessage = function (severity, message) { |
| | | if (this._areInternalMessagesThrottled()) { |
| | | return; |
| | | } |
| | | var logMessage = true; |
| | | if (ApplicationInsights.Util.canUseSessionStorage()) { |
| | | var storageMessageKey = _InternalLogging.AIInternalMessagePrefix + _InternalMessageId[message.messageId]; |
| | | var internalMessageTypeLogRecord = ApplicationInsights.Util.getSessionStorage(storageMessageKey); |
| | | if (internalMessageTypeLogRecord) { |
| | | logMessage = false; |
| | | } |
| | | else { |
| | | ApplicationInsights.Util.setSessionStorage(storageMessageKey, "1"); |
| | | } |
| | | } |
| | | if (logMessage) { |
| | | if (this.verboseLogging() || severity === LoggingSeverity.CRITICAL) { |
| | | this.queue.push(message); |
| | | this._messageCount++; |
| | | } |
| | | if (this._messageCount == this.MAX_INTERNAL_MESSAGE_LIMIT) { |
| | | var throttleLimitMessage = "Internal events throttle limit per PageView reached for this app."; |
| | | var throttleMessage = new _InternalLogMessage(_InternalMessageId.NONUSRACT_MessageLimitPerPVExceeded, throttleLimitMessage); |
| | | this.queue.push(throttleMessage); |
| | | this.warnToConsole(throttleLimitMessage); |
| | | } |
| | | } |
| | | }; |
| | | _InternalLogging._areInternalMessagesThrottled = function () { |
| | | return this._messageCount >= this.MAX_INTERNAL_MESSAGE_LIMIT; |
| | | }; |
| | | _InternalLogging.AiUserActionablePrefix = "AI: "; |
| | | _InternalLogging.AIInternalMessagePrefix = "AITR_"; |
| | | _InternalLogging.AiNonUserActionablePrefix = "AI (Internal): "; |
| | | _InternalLogging.enableDebugExceptions = function () { return false; }; |
| | | _InternalLogging.verboseLogging = function () { return false; }; |
| | | _InternalLogging.queue = []; |
| | | _InternalLogging.MAX_INTERNAL_MESSAGE_LIMIT = 25; |
| | | _InternalLogging._messageCount = 0; |
| | | return _InternalLogging; |
| | | })(); |
| | | ApplicationInsights._InternalLogging = _InternalLogging; |
| | | })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {})); |
| | | })(Microsoft || (Microsoft = {})); |
| | | /// <reference path="./logging.ts" /> |
| | | var Microsoft; |
| | | (function (Microsoft) { |
| | | var ApplicationInsights; |
| | | (function (ApplicationInsights) { |
| | | var StorageType; |
| | | (function (StorageType) { |
| | | StorageType[StorageType["LocalStorage"] = 0] = "LocalStorage"; |
| | | StorageType[StorageType["SessionStorage"] = 1] = "SessionStorage"; |
| | | })(StorageType || (StorageType = {})); |
| | | var Util = (function () { |
| | | function Util() { |
| | | } |
| | | Util._getLocalStorageObject = function () { |
| | | return Util._getVerifiedStorageObject(StorageType.LocalStorage); |
| | | }; |
| | | Util._getVerifiedStorageObject = function (storageType) { |
| | | var storage = null; |
| | | var fail; |
| | | var uid; |
| | | try { |
| | | uid = new Date; |
| | | storage = storageType === StorageType.LocalStorage ? window.localStorage : window.sessionStorage; |
| | | storage.setItem(uid, uid); |
| | | fail = storage.getItem(uid) != uid; |
| | | storage.removeItem(uid); |
| | | if (fail) { |
| | | storage = null; |
| | | } |
| | | } |
| | | catch (exception) { |
| | | storage = null; |
| | | } |
| | | return storage; |
| | | }; |
| | | Util.canUseLocalStorage = function () { |
| | | return !!Util._getLocalStorageObject(); |
| | | }; |
| | | Util.getStorage = function (name) { |
| | | var storage = Util._getLocalStorageObject(); |
| | | if (storage !== null) { |
| | | try { |
| | | return storage.getItem(name); |
| | | } |
| | | catch (e) { |
| | | var message = new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_BrowserCannotReadLocalStorage, "Browser failed read of local storage. " + Util.getExceptionName(e), { exception: Util.dump(e) }); |
| | | ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.WARNING, message); |
| | | } |
| | | } |
| | | return null; |
| | | }; |
| | | Util.setStorage = function (name, data) { |
| | | var storage = Util._getLocalStorageObject(); |
| | | if (storage !== null) { |
| | | try { |
| | | storage.setItem(name, data); |
| | | return true; |
| | | } |
| | | catch (e) { |
| | | var message = new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_BrowserCannotWriteLocalStorage, "Browser failed write to local storage. " + Util.getExceptionName(e), { exception: Util.dump(e) }); |
| | | ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.WARNING, message); |
| | | } |
| | | } |
| | | return false; |
| | | }; |
| | | Util.removeStorage = function (name) { |
| | | var storage = Util._getLocalStorageObject(); |
| | | if (storage !== null) { |
| | | try { |
| | | storage.removeItem(name); |
| | | return true; |
| | | } |
| | | catch (e) { |
| | | var message = new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_BrowserFailedRemovalFromLocalStorage, "Browser failed removal of local storage item. " + Util.getExceptionName(e), { exception: Util.dump(e) }); |
| | | ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.WARNING, message); |
| | | } |
| | | } |
| | | return false; |
| | | }; |
| | | Util._getSessionStorageObject = function () { |
| | | return Util._getVerifiedStorageObject(StorageType.SessionStorage); |
| | | }; |
| | | Util.canUseSessionStorage = function () { |
| | | return !!Util._getSessionStorageObject(); |
| | | }; |
| | | Util.getSessionStorageKeys = function () { |
| | | var keys = []; |
| | | if (Util.canUseSessionStorage()) { |
| | | for (var key in window.sessionStorage) { |
| | | keys.push(key); |
| | | } |
| | | } |
| | | return keys; |
| | | }; |
| | | Util.getSessionStorage = function (name) { |
| | | var storage = Util._getSessionStorageObject(); |
| | | if (storage !== null) { |
| | | try { |
| | | return storage.getItem(name); |
| | | } |
| | | catch (e) { |
| | | var message = new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_BrowserCannotReadSessionStorage, "Browser failed read of session storage. " + Util.getExceptionName(e), { exception: Util.dump(e) }); |
| | | ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, message); |
| | | } |
| | | } |
| | | return null; |
| | | }; |
| | | Util.setSessionStorage = function (name, data) { |
| | | var storage = Util._getSessionStorageObject(); |
| | | if (storage !== null) { |
| | | try { |
| | | storage.setItem(name, data); |
| | | return true; |
| | | } |
| | | catch (e) { |
| | | var message = new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_BrowserCannotWriteSessionStorage, "Browser failed write to session storage. " + Util.getExceptionName(e), { exception: Util.dump(e) }); |
| | | ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, message); |
| | | } |
| | | } |
| | | return false; |
| | | }; |
| | | Util.removeSessionStorage = function (name) { |
| | | var storage = Util._getSessionStorageObject(); |
| | | if (storage !== null) { |
| | | try { |
| | | storage.removeItem(name); |
| | | return true; |
| | | } |
| | | catch (e) { |
| | | var message = new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_BrowserFailedRemovalFromSessionStorage, "Browser failed removal of session storage item. " + Util.getExceptionName(e), { exception: Util.dump(e) }); |
| | | ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, message); |
| | | } |
| | | } |
| | | return false; |
| | | }; |
| | | Util.setCookie = function (name, value, domain) { |
| | | var domainAttrib = ""; |
| | | if (domain) { |
| | | domainAttrib = ";domain=" + domain; |
| | | } |
| | | Util.document.cookie = name + "=" + value + domainAttrib + ";path=/"; |
| | | }; |
| | | Util.stringToBoolOrDefault = function (str) { |
| | | if (!str) { |
| | | return false; |
| | | } |
| | | return str.toString().toLowerCase() === "true"; |
| | | }; |
| | | Util.getCookie = function (name) { |
| | | var value = ""; |
| | | if (name && name.length) { |
| | | var cookieName = name + "="; |
| | | var cookies = Util.document.cookie.split(";"); |
| | | for (var i = 0; i < cookies.length; i++) { |
| | | var cookie = cookies[i]; |
| | | cookie = Util.trim(cookie); |
| | | if (cookie && cookie.indexOf(cookieName) === 0) { |
| | | value = cookie.substring(cookieName.length, cookies[i].length); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | return value; |
| | | }; |
| | | Util.deleteCookie = function (name) { |
| | | Util.document.cookie = name + "=;path=/;expires=Thu, 01 Jan 1970 00:00:01 GMT;"; |
| | | }; |
| | | Util.trim = function (str) { |
| | | if (typeof str !== "string") |
| | | return str; |
| | | return str.replace(/^\s+|\s+$/g, ""); |
| | | }; |
| | | Util.newId = function () { |
| | | var base64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; |
| | | var result = ""; |
| | | var random = Math.random() * 1073741824; |
| | | while (random > 0) { |
| | | var char = base64chars.charAt(random % 64); |
| | | result += char; |
| | | random = Math.floor(random / 64); |
| | | } |
| | | return result; |
| | | }; |
| | | Util.isArray = function (obj) { |
| | | return Object.prototype.toString.call(obj) === "[object Array]"; |
| | | }; |
| | | Util.isError = function (obj) { |
| | | return Object.prototype.toString.call(obj) === "[object Error]"; |
| | | }; |
| | | Util.isDate = function (obj) { |
| | | return Object.prototype.toString.call(obj) === "[object Date]"; |
| | | }; |
| | | Util.toISOStringForIE8 = function (date) { |
| | | if (Util.isDate(date)) { |
| | | if (Date.prototype.toISOString) { |
| | | return date.toISOString(); |
| | | } |
| | | else { |
| | | function pad(number) { |
| | | var r = String(number); |
| | | if (r.length === 1) { |
| | | r = "0" + r; |
| | | } |
| | | return r; |
| | | } |
| | | return date.getUTCFullYear() |
| | | + "-" + pad(date.getUTCMonth() + 1) |
| | | + "-" + pad(date.getUTCDate()) |
| | | + "T" + pad(date.getUTCHours()) |
| | | + ":" + pad(date.getUTCMinutes()) |
| | | + ":" + pad(date.getUTCSeconds()) |
| | | + "." + String((date.getUTCMilliseconds() / 1000).toFixed(3)).slice(2, 5) |
| | | + "Z"; |
| | | } |
| | | } |
| | | }; |
| | | Util.getIEVersion = function (userAgentStr) { |
| | | if (userAgentStr === void 0) { userAgentStr = null; } |
| | | var myNav = userAgentStr ? userAgentStr.toLowerCase() : navigator.userAgent.toLowerCase(); |
| | | return (myNav.indexOf('msie') != -1) ? parseInt(myNav.split('msie')[1]) : null; |
| | | }; |
| | | Util.msToTimeSpan = function (totalms) { |
| | | if (isNaN(totalms) || totalms < 0) { |
| | | totalms = 0; |
| | | } |
| | | var ms = "" + totalms % 1000; |
| | | var sec = "" + Math.floor(totalms / 1000) % 60; |
| | | var min = "" + Math.floor(totalms / (1000 * 60)) % 60; |
| | | var hour = "" + Math.floor(totalms / (1000 * 60 * 60)) % 24; |
| | | ms = ms.length === 1 ? "00" + ms : ms.length === 2 ? "0" + ms : ms; |
| | | sec = sec.length < 2 ? "0" + sec : sec; |
| | | min = min.length < 2 ? "0" + min : min; |
| | | hour = hour.length < 2 ? "0" + hour : hour; |
| | | return hour + ":" + min + ":" + sec + "." + ms; |
| | | }; |
| | | Util.isCrossOriginError = function (message, url, lineNumber, columnNumber, error) { |
| | | return (message === "Script error." || message === "Script error") && error === null; |
| | | }; |
| | | Util.dump = function (object) { |
| | | var objectTypeDump = Object.prototype.toString.call(object); |
| | | var propertyValueDump = JSON.stringify(object); |
| | | if (objectTypeDump === "[object Error]") { |
| | | propertyValueDump = "{ stack: '" + object.stack + "', message: '" + object.message + "', name: '" + object.name + "'"; |
| | | } |
| | | return objectTypeDump + propertyValueDump; |
| | | }; |
| | | Util.getExceptionName = function (object) { |
| | | var objectTypeDump = Object.prototype.toString.call(object); |
| | | if (objectTypeDump === "[object Error]") { |
| | | return object.name; |
| | | } |
| | | return ""; |
| | | }; |
| | | Util.addEventHandler = function (eventName, callback) { |
| | | if (!window || typeof eventName !== 'string' || typeof callback !== 'function') { |
| | | return false; |
| | | } |
| | | var verbEventName = 'on' + eventName; |
| | | if (window.addEventListener) { |
| | | window.addEventListener(eventName, callback, false); |
| | | } |
| | | else if (window["attachEvent"]) { |
| | | window["attachEvent"].call(verbEventName, callback); |
| | | } |
| | | else { |
| | | return false; |
| | | } |
| | | return true; |
| | | }; |
| | | Util.document = typeof document !== "undefined" ? document : {}; |
| | | Util.NotSpecified = "not_specified"; |
| | | return Util; |
| | | })(); |
| | | ApplicationInsights.Util = Util; |
| | | var UrlHelper = (function () { |
| | | function UrlHelper() { |
| | | } |
| | | UrlHelper.parseUrl = function (url) { |
| | | if (!UrlHelper.htmlAnchorElement) { |
| | | UrlHelper.htmlAnchorElement = UrlHelper.document.createElement('a'); |
| | | } |
| | | UrlHelper.htmlAnchorElement.href = url; |
| | | return UrlHelper.htmlAnchorElement; |
| | | }; |
| | | UrlHelper.getAbsoluteUrl = function (url) { |
| | | var result; |
| | | var a = UrlHelper.parseUrl(url); |
| | | if (a) { |
| | | result = a.href; |
| | | } |
| | | return result; |
| | | }; |
| | | UrlHelper.getPathName = function (url) { |
| | | var result; |
| | | var a = UrlHelper.parseUrl(url); |
| | | if (a) { |
| | | result = a.pathname; |
| | | } |
| | | return result; |
| | | }; |
| | | UrlHelper.document = typeof document !== "undefined" ? document : {}; |
| | | return UrlHelper; |
| | | })(); |
| | | ApplicationInsights.UrlHelper = UrlHelper; |
| | | })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {})); |
| | | })(Microsoft || (Microsoft = {})); |
| | | /// <reference path="../logging.ts" /> |
| | | /// <reference path="../util.ts" /> |
| | | var Microsoft; |
| | | (function (Microsoft) { |
| | | var ApplicationInsights; |
| | | (function (ApplicationInsights) { |
| | | "use strict"; |
| | | var extensions = (function () { |
| | | function extensions() { |
| | | } |
| | | extensions.IsNullOrUndefined = function (obj) { |
| | | return typeof (obj) === "undefined" || obj === null; |
| | | }; |
| | | return extensions; |
| | | })(); |
| | | ApplicationInsights.extensions = extensions; |
| | | var stringUtils = (function () { |
| | | function stringUtils() { |
| | | } |
| | | stringUtils.GetLength = function (strObject) { |
| | | var res = 0; |
| | | if (!extensions.IsNullOrUndefined(strObject)) { |
| | | var stringified = ""; |
| | | try { |
| | | stringified = strObject.toString(); |
| | | } |
| | | catch (ex) { |
| | | } |
| | | res = stringified.length; |
| | | res = isNaN(res) ? 0 : res; |
| | | } |
| | | return res; |
| | | }; |
| | | return stringUtils; |
| | | })(); |
| | | ApplicationInsights.stringUtils = stringUtils; |
| | | var dateTime = (function () { |
| | | function dateTime() { |
| | | } |
| | | dateTime.Now = (window.performance && window.performance.now) ? |
| | | function () { |
| | | return performance.now(); |
| | | } |
| | | : |
| | | function () { |
| | | return new Date().getTime(); |
| | | }; |
| | | dateTime.GetDuration = function (start, end) { |
| | | var result = null; |
| | | if (start !== 0 && end !== 0 && !extensions.IsNullOrUndefined(start) && !extensions.IsNullOrUndefined(end)) { |
| | | result = end - start; |
| | | } |
| | | return result; |
| | | }; |
| | | return dateTime; |
| | | })(); |
| | | ApplicationInsights.dateTime = dateTime; |
| | | var EventHelper = (function () { |
| | | function EventHelper() { |
| | | } |
| | | EventHelper.AttachEvent = function (obj, eventNameWithoutOn, handlerRef) { |
| | | var result = false; |
| | | if (!extensions.IsNullOrUndefined(obj)) { |
| | | if (!extensions.IsNullOrUndefined(obj.attachEvent)) { |
| | | obj.attachEvent("on" + eventNameWithoutOn, handlerRef); |
| | | result = true; |
| | | } |
| | | else { |
| | | if (!extensions.IsNullOrUndefined(obj.addEventListener)) { |
| | | obj.addEventListener(eventNameWithoutOn, handlerRef, false); |
| | | result = true; |
| | | } |
| | | } |
| | | } |
| | | return result; |
| | | }; |
| | | EventHelper.DetachEvent = function (obj, eventNameWithoutOn, handlerRef) { |
| | | if (!extensions.IsNullOrUndefined(obj)) { |
| | | if (!extensions.IsNullOrUndefined(obj.detachEvent)) { |
| | | obj.detachEvent("on" + eventNameWithoutOn, handlerRef); |
| | | } |
| | | else { |
| | | if (!extensions.IsNullOrUndefined(obj.removeEventListener)) { |
| | | obj.removeEventListener(eventNameWithoutOn, handlerRef, false); |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | return EventHelper; |
| | | })(); |
| | | ApplicationInsights.EventHelper = EventHelper; |
| | | })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {})); |
| | | })(Microsoft || (Microsoft = {})); |
| | | /// <reference path="../logging.ts" /> |
| | | /// <reference path="../util.ts" /> |
| | | /// <reference path="./ajaxUtils.ts" /> |
| | | var Microsoft; |
| | | (function (Microsoft) { |
| | | var ApplicationInsights; |
| | | (function (ApplicationInsights) { |
| | | "use strict"; |
| | | var XHRMonitoringState = (function () { |
| | | function XHRMonitoringState() { |
| | | this.openDone = false; |
| | | this.setRequestHeaderDone = false; |
| | | this.sendDone = false; |
| | | this.abortDone = false; |
| | | this.onreadystatechangeCallbackAttached = false; |
| | | } |
| | | return XHRMonitoringState; |
| | | })(); |
| | | ApplicationInsights.XHRMonitoringState = XHRMonitoringState; |
| | | var ajaxRecord = (function () { |
| | | function ajaxRecord(id) { |
| | | this.completed = false; |
| | | this.requestHeadersSize = null; |
| | | this.ttfb = null; |
| | | this.responseReceivingDuration = null; |
| | | this.callbackDuration = null; |
| | | this.ajaxTotalDuration = null; |
| | | this.aborted = null; |
| | | this.pageUrl = null; |
| | | this.requestUrl = null; |
| | | this.requestSize = 0; |
| | | this.method = null; |
| | | this.status = null; |
| | | this.requestSentTime = null; |
| | | this.responseStartedTime = null; |
| | | this.responseFinishedTime = null; |
| | | this.callbackFinishedTime = null; |
| | | this.endTime = null; |
| | | this.originalOnreadystatechage = null; |
| | | this.xhrMonitoringState = new XHRMonitoringState(); |
| | | this.clientFailure = 0; |
| | | this.CalculateMetrics = function () { |
| | | var self = this; |
| | | self.ajaxTotalDuration = ApplicationInsights.dateTime.GetDuration(self.requestSentTime, self.responseFinishedTime); |
| | | }; |
| | | this.id = id; |
| | | } |
| | | ajaxRecord.prototype.getAbsoluteUrl = function () { |
| | | return this.requestUrl ? ApplicationInsights.UrlHelper.getAbsoluteUrl(this.requestUrl) : null; |
| | | }; |
| | | ajaxRecord.prototype.getPathName = function () { |
| | | return this.requestUrl ? ApplicationInsights.UrlHelper.getPathName(this.requestUrl) : null; |
| | | }; |
| | | return ajaxRecord; |
| | | })(); |
| | | ApplicationInsights.ajaxRecord = ajaxRecord; |
| | | ; |
| | | })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {})); |
| | | })(Microsoft || (Microsoft = {})); |
| | | ; |
| | | /// <reference path="../logging.ts" /> |
| | | /// <reference path="../util.ts" /> |
| | | /// <reference path="./ajaxUtils.ts" /> |
| | | /// <reference path="./ajaxRecord.ts" /> |
| | | var Microsoft; |
| | | (function (Microsoft) { |
| | | var ApplicationInsights; |
| | | (function (ApplicationInsights) { |
| | | "use strict"; |
| | | var AjaxMonitor = (function () { |
| | | function AjaxMonitor(appInsights) { |
| | | this.currentWindowHost = window.location.host; |
| | | this.appInsights = appInsights; |
| | | this.initialized = false; |
| | | this.Init(); |
| | | } |
| | | AjaxMonitor.prototype.Init = function () { |
| | | if (this.supportsMonitoring()) { |
| | | this.instrumentOpen(); |
| | | this.instrumentSend(); |
| | | this.instrumentAbort(); |
| | | this.initialized = true; |
| | | } |
| | | }; |
| | | AjaxMonitor.prototype.isMonitoredInstance = function (xhr, excludeAjaxDataValidation) { |
| | | return this.initialized |
| | | && (excludeAjaxDataValidation === true || !ApplicationInsights.extensions.IsNullOrUndefined(xhr.ajaxData)) |
| | | && xhr[AjaxMonitor.DisabledPropertyName] !== true; |
| | | }; |
| | | AjaxMonitor.prototype.supportsMonitoring = function () { |
| | | var result = false; |
| | | if (!ApplicationInsights.extensions.IsNullOrUndefined(XMLHttpRequest)) { |
| | | result = true; |
| | | } |
| | | return result; |
| | | }; |
| | | AjaxMonitor.prototype.instrumentOpen = function () { |
| | | var originalOpen = XMLHttpRequest.prototype.open; |
| | | var ajaxMonitorInstance = this; |
| | | XMLHttpRequest.prototype.open = function (method, url, async) { |
| | | try { |
| | | if (ajaxMonitorInstance.isMonitoredInstance(this, true) && |
| | | (!this.ajaxData || |
| | | !this.ajaxData.xhrMonitoringState.openDone)) { |
| | | ajaxMonitorInstance.openHandler(this, method, url, async); |
| | | } |
| | | } |
| | | catch (e) { |
| | | ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_FailedMonitorAjaxOpen, "Failed to monitor XMLHttpRequest.open, monitoring data for this ajax call may be incorrect.", { |
| | | ajaxDiagnosticsMessage: AjaxMonitor.getFailedAjaxDiagnosticsMessage(this), |
| | | exception: Microsoft.ApplicationInsights.Util.dump(e) |
| | | })); |
| | | } |
| | | return originalOpen.apply(this, arguments); |
| | | }; |
| | | }; |
| | | AjaxMonitor.prototype.openHandler = function (xhr, method, url, async) { |
| | | var ajaxData = new ApplicationInsights.ajaxRecord(ApplicationInsights.Util.newId()); |
| | | ajaxData.method = method; |
| | | ajaxData.requestUrl = url; |
| | | ajaxData.xhrMonitoringState.openDone = true; |
| | | xhr.ajaxData = ajaxData; |
| | | this.attachToOnReadyStateChange(xhr); |
| | | }; |
| | | AjaxMonitor.getFailedAjaxDiagnosticsMessage = function (xhr) { |
| | | var result = ""; |
| | | try { |
| | | if (!ApplicationInsights.extensions.IsNullOrUndefined(xhr) && |
| | | !ApplicationInsights.extensions.IsNullOrUndefined(xhr.ajaxData) && |
| | | !ApplicationInsights.extensions.IsNullOrUndefined(xhr.ajaxData.requestUrl)) { |
| | | result += "(url: '" + xhr.ajaxData.requestUrl + "')"; |
| | | } |
| | | } |
| | | catch (e) { } |
| | | return result; |
| | | }; |
| | | AjaxMonitor.prototype.instrumentSend = function () { |
| | | var originalSend = XMLHttpRequest.prototype.send; |
| | | var ajaxMonitorInstance = this; |
| | | XMLHttpRequest.prototype.send = function (content) { |
| | | try { |
| | | if (ajaxMonitorInstance.isMonitoredInstance(this) && !this.ajaxData.xhrMonitoringState.sendDone) { |
| | | ajaxMonitorInstance.sendHandler(this, content); |
| | | } |
| | | } |
| | | catch (e) { |
| | | ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_FailedMonitorAjaxSend, "Failed to monitor XMLHttpRequest, monitoring data for this ajax call may be incorrect.", { |
| | | ajaxDiagnosticsMessage: AjaxMonitor.getFailedAjaxDiagnosticsMessage(this), |
| | | exception: Microsoft.ApplicationInsights.Util.dump(e) |
| | | })); |
| | | } |
| | | return originalSend.apply(this, arguments); |
| | | }; |
| | | }; |
| | | AjaxMonitor.prototype.sendHandler = function (xhr, content) { |
| | | xhr.ajaxData.requestSentTime = ApplicationInsights.dateTime.Now(); |
| | | if (!this.appInsights.config.disableCorrelationHeaders && (ApplicationInsights.UrlHelper.parseUrl(xhr.ajaxData.getAbsoluteUrl()).host == this.currentWindowHost)) { |
| | | xhr.setRequestHeader("x-ms-request-id", xhr.ajaxData.id); |
| | | } |
| | | xhr.ajaxData.xhrMonitoringState.sendDone = true; |
| | | }; |
| | | AjaxMonitor.prototype.instrumentAbort = function () { |
| | | var originalAbort = XMLHttpRequest.prototype.abort; |
| | | var ajaxMonitorInstance = this; |
| | | XMLHttpRequest.prototype.abort = function () { |
| | | try { |
| | | if (ajaxMonitorInstance.isMonitoredInstance(this) && !this.ajaxData.xhrMonitoringState.abortDone) { |
| | | this.ajaxData.aborted = 1; |
| | | this.ajaxData.xhrMonitoringState.abortDone = true; |
| | | } |
| | | } |
| | | catch (e) { |
| | | ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_FailedMonitorAjaxAbort, "Failed to monitor XMLHttpRequest.abort, monitoring data for this ajax call may be incorrect.", { |
| | | ajaxDiagnosticsMessage: AjaxMonitor.getFailedAjaxDiagnosticsMessage(this), |
| | | exception: Microsoft.ApplicationInsights.Util.dump(e) |
| | | })); |
| | | } |
| | | return originalAbort.apply(this, arguments); |
| | | }; |
| | | }; |
| | | AjaxMonitor.prototype.attachToOnReadyStateChange = function (xhr) { |
| | | var ajaxMonitorInstance = this; |
| | | xhr.ajaxData.xhrMonitoringState.onreadystatechangeCallbackAttached = ApplicationInsights.EventHelper.AttachEvent(xhr, "readystatechange", function () { |
| | | try { |
| | | if (ajaxMonitorInstance.isMonitoredInstance(xhr)) { |
| | | if (xhr.readyState === 4) { |
| | | ajaxMonitorInstance.onAjaxComplete(xhr); |
| | | } |
| | | } |
| | | } |
| | | catch (e) { |
| | | var exceptionText = Microsoft.ApplicationInsights.Util.dump(e); |
| | | if (!exceptionText || exceptionText.toLowerCase().indexOf("c00c023f") == -1) { |
| | | ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_FailedMonitorAjaxRSC, "Failed to monitor XMLHttpRequest 'readystatechange' event handler, monitoring data for this ajax call may be incorrect.", { |
| | | ajaxDiagnosticsMessage: AjaxMonitor.getFailedAjaxDiagnosticsMessage(xhr), |
| | | exception: Microsoft.ApplicationInsights.Util.dump(e) |
| | | })); |
| | | } |
| | | } |
| | | }); |
| | | }; |
| | | AjaxMonitor.prototype.onAjaxComplete = function (xhr) { |
| | | xhr.ajaxData.responseFinishedTime = ApplicationInsights.dateTime.Now(); |
| | | xhr.ajaxData.status = xhr.status; |
| | | xhr.ajaxData.CalculateMetrics(); |
| | | if (xhr.ajaxData.ajaxTotalDuration < 0) { |
| | | ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.WARNING, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_FailedMonitorAjaxDur, "Failed to calculate the duration of the ajax call, monitoring data for this ajax call won't be sent.", { |
| | | ajaxDiagnosticsMessage: AjaxMonitor.getFailedAjaxDiagnosticsMessage(xhr), |
| | | requestSentTime: xhr.ajaxData.requestSentTime, |
| | | responseFinishedTime: xhr.ajaxData.responseFinishedTime |
| | | })); |
| | | } |
| | | else { |
| | | this.appInsights.trackAjax(xhr.ajaxData.id, xhr.ajaxData.getAbsoluteUrl(), xhr.ajaxData.getPathName(), xhr.ajaxData.ajaxTotalDuration, (+(xhr.ajaxData.status)) >= 200 && (+(xhr.ajaxData.status)) < 400, +xhr.ajaxData.status); |
| | | xhr.ajaxData = null; |
| | | } |
| | | }; |
| | | AjaxMonitor.instrumentedByAppInsightsName = "InstrumentedByAppInsights"; |
| | | AjaxMonitor.DisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation"; |
| | | return AjaxMonitor; |
| | | })(); |
| | | ApplicationInsights.AjaxMonitor = AjaxMonitor; |
| | | })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {})); |
| | | })(Microsoft || (Microsoft = {})); |
| | | var Microsoft; |
| | | (function (Microsoft) { |
| | | var ApplicationInsights; |
| | | (function (ApplicationInsights) { |
| | | var HashCodeScoreGenerator = (function () { |
| | | function HashCodeScoreGenerator() { |
| | | } |
| | | HashCodeScoreGenerator.prototype.getHashCodeScore = function (key) { |
| | | var score = this.getHashCode(key) / HashCodeScoreGenerator.INT_MAX_VALUE; |
| | | return score * 100; |
| | | }; |
| | | HashCodeScoreGenerator.prototype.getHashCode = function (input) { |
| | | if (input == "") { |
| | | return 0; |
| | | } |
| | | while (input.length < HashCodeScoreGenerator.MIN_INPUT_LENGTH) { |
| | | input = input.concat(input); |
| | | } |
| | | var hash = 5381; |
| | | for (var i = 0; i < input.length; ++i) { |
| | | hash = ((hash << 5) + hash) + input.charCodeAt(i); |
| | | hash = hash & hash; |
| | | } |
| | | return Math.abs(hash); |
| | | }; |
| | | HashCodeScoreGenerator.INT_MAX_VALUE = 2147483647; |
| | | HashCodeScoreGenerator.MIN_INPUT_LENGTH = 8; |
| | | return HashCodeScoreGenerator; |
| | | })(); |
| | | ApplicationInsights.HashCodeScoreGenerator = HashCodeScoreGenerator; |
| | | })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {})); |
| | | })(Microsoft || (Microsoft = {})); |
| | | /// <reference path="logging.ts" /> |
| | | /// <reference path="util.ts" /> |
| | | var Microsoft; |
| | | (function (Microsoft) { |
| | | var ApplicationInsights; |
| | | (function (ApplicationInsights) { |
| | | "use strict"; |
| | | (function (FieldType) { |
| | | FieldType[FieldType["Default"] = 0] = "Default"; |
| | | FieldType[FieldType["Required"] = 1] = "Required"; |
| | | FieldType[FieldType["Array"] = 2] = "Array"; |
| | | FieldType[FieldType["Hidden"] = 4] = "Hidden"; |
| | | })(ApplicationInsights.FieldType || (ApplicationInsights.FieldType = {})); |
| | | var FieldType = ApplicationInsights.FieldType; |
| | | ; |
| | | var Serializer = (function () { |
| | | function Serializer() { |
| | | } |
| | | Serializer.serialize = function (input) { |
| | | var output = Serializer._serializeObject(input, "root"); |
| | | return JSON.stringify(output); |
| | | }; |
| | | Serializer._serializeObject = function (source, name) { |
| | | var circularReferenceCheck = "__aiCircularRefCheck"; |
| | | var output = {}; |
| | | if (!source) { |
| | | ApplicationInsights._InternalLogging.throwInternalUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.USRACT_CannotSerializeObject, "cannot serialize object because it is null or undefined", { name: name })); |
| | | return output; |
| | | } |
| | | if (source[circularReferenceCheck]) { |
| | | ApplicationInsights._InternalLogging.throwInternalUserActionable(ApplicationInsights.LoggingSeverity.WARNING, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.USRACT_CircularReferenceDetected, "Circular reference detected while serializing object", { name: name })); |
| | | return output; |
| | | } |
| | | if (!source.aiDataContract) { |
| | | if (name === "measurements") { |
| | | output = Serializer._serializeStringMap(source, "number", name); |
| | | } |
| | | else if (name === "properties") { |
| | | output = Serializer._serializeStringMap(source, "string", name); |
| | | } |
| | | else if (name === "tags") { |
| | | output = Serializer._serializeStringMap(source, "string", name); |
| | | } |
| | | else if (ApplicationInsights.Util.isArray(source)) { |
| | | output = Serializer._serializeArray(source, name); |
| | | } |
| | | else { |
| | | ApplicationInsights._InternalLogging.throwInternalUserActionable(ApplicationInsights.LoggingSeverity.WARNING, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.USRACT_CannotSerializeObjectNonSerializable, "Attempting to serialize an object which does not implement ISerializable", { name: name })); |
| | | try { |
| | | JSON.stringify(source); |
| | | output = source; |
| | | } |
| | | catch (e) { |
| | | ApplicationInsights._InternalLogging.throwInternalUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, e && typeof e.toString === 'function' ? e.toString() : "Error serializing object"); |
| | | } |
| | | } |
| | | return output; |
| | | } |
| | | source[circularReferenceCheck] = true; |
| | | for (var field in source.aiDataContract) { |
| | | var contract = source.aiDataContract[field]; |
| | | var isRequired = (typeof contract === "function") ? (contract() & FieldType.Required) : (contract & FieldType.Required); |
| | | var isHidden = (typeof contract === "function") ? (contract() & FieldType.Hidden) : (contract & FieldType.Hidden); |
| | | var isArray = contract & FieldType.Array; |
| | | var isPresent = source[field] !== undefined; |
| | | var isObject = typeof source[field] === "object" && source[field] !== null; |
| | | if (isRequired && !isPresent && !isArray) { |
| | | ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_MissingRequiredFieldSpecification, "Missing required field specification. The field is required but not present on source", { field: field, name: name })); |
| | | continue; |
| | | } |
| | | if (isHidden) { |
| | | continue; |
| | | } |
| | | var value; |
| | | if (isObject) { |
| | | if (isArray) { |
| | | value = Serializer._serializeArray(source[field], field); |
| | | } |
| | | else { |
| | | value = Serializer._serializeObject(source[field], field); |
| | | } |
| | | } |
| | | else { |
| | | value = source[field]; |
| | | } |
| | | if (value !== undefined) { |
| | | output[field] = value; |
| | | } |
| | | } |
| | | delete source[circularReferenceCheck]; |
| | | return output; |
| | | }; |
| | | Serializer._serializeArray = function (sources, name) { |
| | | var output = undefined; |
| | | if (!!sources) { |
| | | if (!ApplicationInsights.Util.isArray(sources)) { |
| | | ApplicationInsights._InternalLogging.throwInternalUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.USRACT_ItemNotInArray, "This field was specified as an array in the contract but the item is not an array.\r\n", { name: name })); |
| | | } |
| | | else { |
| | | output = []; |
| | | for (var i = 0; i < sources.length; i++) { |
| | | var source = sources[i]; |
| | | var item = Serializer._serializeObject(source, name + "[" + i + "]"); |
| | | output.push(item); |
| | | } |
| | | } |
| | | } |
| | | return output; |
| | | }; |
| | | Serializer._serializeStringMap = function (map, expectedType, name) { |
| | | var output = undefined; |
| | | if (map) { |
| | | output = {}; |
| | | for (var field in map) { |
| | | var value = map[field]; |
| | | if (expectedType === "string") { |
| | | if (value === undefined) { |
| | | output[field] = "undefined"; |
| | | } |
| | | else if (value === null) { |
| | | output[field] = "null"; |
| | | } |
| | | else if (!value.toString) { |
| | | output[field] = "invalid field: toString() is not defined."; |
| | | } |
| | | else { |
| | | output[field] = value.toString(); |
| | | } |
| | | } |
| | | else if (expectedType === "number") { |
| | | if (value === undefined) { |
| | | output[field] = "undefined"; |
| | | } |
| | | else if (value === null) { |
| | | output[field] = "null"; |
| | | } |
| | | else { |
| | | var num = parseFloat(value); |
| | | if (isNaN(num)) { |
| | | output[field] = "NaN"; |
| | | } |
| | | else { |
| | | output[field] = num; |
| | | } |
| | | } |
| | | } |
| | | else { |
| | | output[field] = "invalid field: " + name + " is of unknown type."; |
| | | ApplicationInsights._InternalLogging.throwInternalUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, output[field]); |
| | | } |
| | | } |
| | | } |
| | | return output; |
| | | }; |
| | | return Serializer; |
| | | })(); |
| | | ApplicationInsights.Serializer = Serializer; |
| | | })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {})); |
| | | })(Microsoft || (Microsoft = {})); |
| | | var Microsoft; |
| | | (function (Microsoft) { |
| | | var Telemetry; |
| | | (function (Telemetry) { |
| | | "use strict"; |
| | | var Base = (function () { |
| | | function Base() { |
| | | } |
| | | return Base; |
| | | })(); |
| | | Telemetry.Base = Base; |
| | | })(Telemetry = Microsoft.Telemetry || (Microsoft.Telemetry = {})); |
| | | })(Microsoft || (Microsoft = {})); |
| | | /// <reference path="Base.ts" /> |
| | | var Microsoft; |
| | | (function (Microsoft) { |
| | | var Telemetry; |
| | | (function (Telemetry) { |
| | | "use strict"; |
| | | var Envelope = (function () { |
| | | function Envelope() { |
| | | this.ver = 1; |
| | | this.sampleRate = 100.0; |
| | | this.tags = {}; |
| | | } |
| | | return Envelope; |
| | | })(); |
| | | Telemetry.Envelope = Envelope; |
| | | })(Telemetry = Microsoft.Telemetry || (Microsoft.Telemetry = {})); |
| | | })(Microsoft || (Microsoft = {})); |
| | | /// <reference path="../../Contracts/Generated/Envelope.ts" /> |
| | | /// <reference path="../../Contracts/Generated/Base.ts" /> |
| | | /// <reference path="../../Util.ts"/> |
| | | var __extends = (this && this.__extends) || function (d, b) { |
| | | for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; |
| | | function __() { this.constructor = d; } |
| | | __.prototype = b.prototype; |
| | | d.prototype = new __(); |
| | | }; |
| | | var Microsoft; |
| | | (function (Microsoft) { |
| | | var ApplicationInsights; |
| | | (function (ApplicationInsights) { |
| | | var Telemetry; |
| | | (function (Telemetry) { |
| | | var Common; |
| | | (function (Common) { |
| | | "use strict"; |
| | | var Envelope = (function (_super) { |
| | | __extends(Envelope, _super); |
| | | function Envelope(data, name) { |
| | | var _this = this; |
| | | _super.call(this); |
| | | this.name = name; |
| | | this.data = data; |
| | | this.time = ApplicationInsights.Util.toISOStringForIE8(new Date()); |
| | | this.aiDataContract = { |
| | | time: ApplicationInsights.FieldType.Required, |
| | | iKey: ApplicationInsights.FieldType.Required, |
| | | name: ApplicationInsights.FieldType.Required, |
| | | sampleRate: function () { |
| | | return (_this.sampleRate == 100) ? ApplicationInsights.FieldType.Hidden : ApplicationInsights.FieldType.Required; |
| | | }, |
| | | tags: ApplicationInsights.FieldType.Required, |
| | | data: ApplicationInsights.FieldType.Required |
| | | }; |
| | | } |
| | | return Envelope; |
| | | })(Microsoft.Telemetry.Envelope); |
| | | Common.Envelope = Envelope; |
| | | })(Common = Telemetry.Common || (Telemetry.Common = {})); |
| | | })(Telemetry = ApplicationInsights.Telemetry || (ApplicationInsights.Telemetry = {})); |
| | | })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {})); |
| | | })(Microsoft || (Microsoft = {})); |
| | | /// <reference path="../../Contracts/Generated/Base.ts"/> |
| | | var Microsoft; |
| | | (function (Microsoft) { |
| | | var ApplicationInsights; |
| | | (function (ApplicationInsights) { |
| | | var Telemetry; |
| | | (function (Telemetry) { |
| | | var Common; |
| | | (function (Common) { |
| | | "use strict"; |
| | | var Base = (function (_super) { |
| | | __extends(Base, _super); |
| | | function Base() { |
| | | _super.apply(this, arguments); |
| | | this.aiDataContract = {}; |
| | | } |
| | | return Base; |
| | | })(Microsoft.Telemetry.Base); |
| | | Common.Base = Base; |
| | | })(Common = Telemetry.Common || (Telemetry.Common = {})); |
| | | })(Telemetry = ApplicationInsights.Telemetry || (ApplicationInsights.Telemetry = {})); |
| | | })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {})); |
| | | })(Microsoft || (Microsoft = {})); |
| | | var AI; |
| | | (function (AI) { |
| | | "use strict"; |
| | | var ContextTagKeys = (function () { |
| | | function ContextTagKeys() { |
| | | this.applicationVersion = "ai.application.ver"; |
| | | this.applicationBuild = "ai.application.build"; |
| | | this.applicationTypeId = "ai.application.typeId"; |
| | | this.applicationId = "ai.application.applicationId"; |
| | | this.deviceId = "ai.device.id"; |
| | | this.deviceIp = "ai.device.ip"; |
| | | this.deviceLanguage = "ai.device.language"; |
| | | this.deviceLocale = "ai.device.locale"; |
| | | this.deviceModel = "ai.device.model"; |
| | | this.deviceNetwork = "ai.device.network"; |
| | | this.deviceNetworkName = "ai.device.networkName"; |
| | | this.deviceOEMName = "ai.device.oemName"; |
| | | this.deviceOS = "ai.device.os"; |
| | | this.deviceOSVersion = "ai.device.osVersion"; |
| | | this.deviceRoleInstance = "ai.device.roleInstance"; |
| | | this.deviceRoleName = "ai.device.roleName"; |
| | | this.deviceScreenResolution = "ai.device.screenResolution"; |
| | | this.deviceType = "ai.device.type"; |
| | | this.deviceMachineName = "ai.device.machineName"; |
| | | this.deviceVMName = "ai.device.vmName"; |
| | | this.locationIp = "ai.location.ip"; |
| | | this.operationId = "ai.operation.id"; |
| | | this.operationName = "ai.operation.name"; |
| | | this.operationParentId = "ai.operation.parentId"; |
| | | this.operationRootId = "ai.operation.rootId"; |
| | | this.operationSyntheticSource = "ai.operation.syntheticSource"; |
| | | this.operationIsSynthetic = "ai.operation.isSynthetic"; |
| | | this.operationCorrelationVector = "ai.operation.correlationVector"; |
| | | this.sessionId = "ai.session.id"; |
| | | this.sessionIsFirst = "ai.session.isFirst"; |
| | | this.sessionIsNew = "ai.session.isNew"; |
| | | this.userAccountAcquisitionDate = "ai.user.accountAcquisitionDate"; |
| | | this.userAccountId = "ai.user.accountId"; |
| | | this.userAgent = "ai.user.userAgent"; |
| | | this.userId = "ai.user.id"; |
| | | this.userStoreRegion = "ai.user.storeRegion"; |
| | | this.userAuthUserId = "ai.user.authUserId"; |
| | | this.userAnonymousUserAcquisitionDate = "ai.user.anonUserAcquisitionDate"; |
| | | this.userAuthenticatedUserAcquisitionDate = "ai.user.authUserAcquisitionDate"; |
| | | this.sampleRate = "ai.sample.sampleRate"; |
| | | this.cloudName = "ai.cloud.name"; |
| | | this.cloudRoleVer = "ai.cloud.roleVer"; |
| | | this.cloudEnvironment = "ai.cloud.environment"; |
| | | this.cloudLocation = "ai.cloud.location"; |
| | | this.cloudDeploymentUnit = "ai.cloud.deploymentUnit"; |
| | | this.serverDeviceOS = "ai.serverDevice.os"; |
| | | this.serverDeviceOSVer = "ai.serverDevice.osVer"; |
| | | this.internalSdkVersion = "ai.internal.sdkVersion"; |
| | | this.internalAgentVersion = "ai.internal.agentVersion"; |
| | | this.internalDataCollectorReceivedTime = "ai.internal.dataCollectorReceivedTime"; |
| | | this.internalProfileId = "ai.internal.profileId"; |
| | | this.internalProfileClassId = "ai.internal.profileClassId"; |
| | | this.internalAccountId = "ai.internal.accountId"; |
| | | this.internalApplicationName = "ai.internal.applicationName"; |
| | | this.internalInstrumentationKey = "ai.internal.instrumentationKey"; |
| | | this.internalTelemetryItemId = "ai.internal.telemetryItemId"; |
| | | this.internalApplicationType = "ai.internal.applicationType"; |
| | | this.internalRequestSource = "ai.internal.requestSource"; |
| | | this.internalFlowType = "ai.internal.flowType"; |
| | | this.internalIsAudit = "ai.internal.isAudit"; |
| | | this.internalTrackingSourceId = "ai.internal.trackingSourceId"; |
| | | this.internalTrackingType = "ai.internal.trackingType"; |
| | | this.internalIsDiagnosticExample = "ai.internal.isDiagnosticExample"; |
| | | } |
| | | return ContextTagKeys; |
| | | })(); |
| | | AI.ContextTagKeys = ContextTagKeys; |
| | | })(AI || (AI = {})); |
| | | var Microsoft; |
| | | (function (Microsoft) { |
| | | var ApplicationInsights; |
| | | (function (ApplicationInsights) { |
| | | var Context; |
| | | (function (Context) { |
| | | "use strict"; |
| | | var Application = (function () { |
| | | function Application() { |
| | | } |
| | | return Application; |
| | | })(); |
| | | Context.Application = Application; |
| | | })(Context = ApplicationInsights.Context || (ApplicationInsights.Context = {})); |
| | | })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {})); |
| | | })(Microsoft || (Microsoft = {})); |
| | | var Microsoft; |
| | | (function (Microsoft) { |
| | | var ApplicationInsights; |
| | | (function (ApplicationInsights) { |
| | | var Context; |
| | | (function (Context) { |
| | | "use strict"; |
| | | var Device = (function () { |
| | | function Device() { |
| | | this.id = "browser"; |
| | | this.type = "Browser"; |
| | | } |
| | | return Device; |
| | | })(); |
| | | Context.Device = Device; |
| | | })(Context = ApplicationInsights.Context || (ApplicationInsights.Context = {})); |
| | | })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {})); |
| | | })(Microsoft || (Microsoft = {})); |
| | | var Microsoft; |
| | | (function (Microsoft) { |
| | | var ApplicationInsights; |
| | | (function (ApplicationInsights) { |
| | | var Context; |
| | | (function (Context) { |
| | | "use strict"; |
| | | var Internal = (function () { |
| | | function Internal() { |
| | | this.sdkVersion = "JavaScript:" + ApplicationInsights.Version; |
| | | } |
| | | return Internal; |
| | | })(); |
| | | Context.Internal = Internal; |
| | | })(Context = ApplicationInsights.Context || (ApplicationInsights.Context = {})); |
| | | })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {})); |
| | | })(Microsoft || (Microsoft = {})); |
| | | var Microsoft; |
| | | (function (Microsoft) { |
| | | var ApplicationInsights; |
| | | (function (ApplicationInsights) { |
| | | var Context; |
| | | (function (Context) { |
| | | "use strict"; |
| | | var Location = (function () { |
| | | function Location() { |
| | | } |
| | | return Location; |
| | | })(); |
| | | Context.Location = Location; |
| | | })(Context = ApplicationInsights.Context || (ApplicationInsights.Context = {})); |
| | | })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {})); |
| | | })(Microsoft || (Microsoft = {})); |
| | | /// <reference path="../util.ts" /> |
| | | var Microsoft; |
| | | (function (Microsoft) { |
| | | var ApplicationInsights; |
| | | (function (ApplicationInsights) { |
| | | var Context; |
| | | (function (Context) { |
| | | "use strict"; |
| | | var Operation = (function () { |
| | | function Operation() { |
| | | this.id = ApplicationInsights.Util.newId(); |
| | | if (window && window.location && window.location.pathname) { |
| | | this.name = window.location.pathname; |
| | | } |
| | | } |
| | | return Operation; |
| | | })(); |
| | | Context.Operation = Operation; |
| | | })(Context = ApplicationInsights.Context || (ApplicationInsights.Context = {})); |
| | | })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {})); |
| | | })(Microsoft || (Microsoft = {})); |
| | | /// <reference path="./HashCodeScoreGenerator.ts" /> |
| | | var Microsoft; |
| | | (function (Microsoft) { |
| | | var ApplicationInsights; |
| | | (function (ApplicationInsights) { |
| | | var SamplingScoreGenerator = (function () { |
| | | function SamplingScoreGenerator() { |
| | | this.hashCodeGeneragor = new ApplicationInsights.HashCodeScoreGenerator(); |
| | | } |
| | | SamplingScoreGenerator.prototype.getSamplingScore = function (envelope) { |
| | | var tagKeys = new AI.ContextTagKeys(); |
| | | var score = 0; |
| | | if (envelope.tags[tagKeys.userId]) { |
| | | score = this.hashCodeGeneragor.getHashCodeScore(envelope.tags[tagKeys.userId]); |
| | | } |
| | | else if (envelope.tags[tagKeys.operationId]) { |
| | | score = this.hashCodeGeneragor.getHashCodeScore(envelope.tags[tagKeys.operationId]); |
| | | } |
| | | else { |
| | | score = Math.random(); |
| | | } |
| | | return score; |
| | | }; |
| | | return SamplingScoreGenerator; |
| | | })(); |
| | | ApplicationInsights.SamplingScoreGenerator = SamplingScoreGenerator; |
| | | })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {})); |
| | | })(Microsoft || (Microsoft = {})); |
| | | /// <reference path="../SamplingScoreGenerator.ts" /> |
| | | var Microsoft; |
| | | (function (Microsoft) { |
| | | var ApplicationInsights; |
| | | (function (ApplicationInsights) { |
| | | var Context; |
| | | (function (Context) { |
| | | "use strict"; |
| | | var Sample = (function () { |
| | | function Sample(sampleRate) { |
| | | this.INT_MAX_VALUE = 2147483647; |
| | | if (sampleRate > 100 || sampleRate < 0) { |
| | | ApplicationInsights._InternalLogging.throwInternalUserActionable(ApplicationInsights.LoggingSeverity.WARNING, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.USRACT_SampleRateOutOfRange, "Sampling rate is out of range (0..100). Sampling will be disabled, you may be sending too much data which may affect your AI service level.", { samplingRate: sampleRate })); |
| | | this.sampleRate = 100; |
| | | } |
| | | this.sampleRate = sampleRate; |
| | | this.samplingScoreGenerator = new ApplicationInsights.SamplingScoreGenerator(); |
| | | } |
| | | Sample.prototype.isSampledIn = function (envelope) { |
| | | if (this.sampleRate == 100) |
| | | return true; |
| | | var score = this.samplingScoreGenerator.getSamplingScore(envelope); |
| | | return score < this.sampleRate; |
| | | }; |
| | | return Sample; |
| | | })(); |
| | | Context.Sample = Sample; |
| | | })(Context = ApplicationInsights.Context || (ApplicationInsights.Context = {})); |
| | | })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {})); |
| | | })(Microsoft || (Microsoft = {})); |
| | | var AI; |
| | | (function (AI) { |
| | | "use strict"; |
| | | (function (SessionState) { |
| | | SessionState[SessionState["Start"] = 0] = "Start"; |
| | | SessionState[SessionState["End"] = 1] = "End"; |
| | | })(AI.SessionState || (AI.SessionState = {})); |
| | | var SessionState = AI.SessionState; |
| | | })(AI || (AI = {})); |
| | | /// <reference path="../util.ts" /> |
| | | /// <reference path="../Contracts/Generated/SessionState.ts"/> |
| | | var Microsoft; |
| | | (function (Microsoft) { |
| | | var ApplicationInsights; |
| | | (function (ApplicationInsights) { |
| | | var Context; |
| | | (function (Context) { |
| | | "use strict"; |
| | | var Session = (function () { |
| | | function Session() { |
| | | } |
| | | return Session; |
| | | })(); |
| | | Context.Session = Session; |
| | | var _SessionManager = (function () { |
| | | function _SessionManager(config) { |
| | | if (!config) { |
| | | config = {}; |
| | | } |
| | | if (!(typeof config.sessionExpirationMs === "function")) { |
| | | config.sessionExpirationMs = function () { return _SessionManager.acquisitionSpan; }; |
| | | } |
| | | if (!(typeof config.sessionRenewalMs === "function")) { |
| | | config.sessionRenewalMs = function () { return _SessionManager.renewalSpan; }; |
| | | } |
| | | this.config = config; |
| | | this.automaticSession = new Session(); |
| | | } |
| | | _SessionManager.prototype.update = function () { |
| | | if (!this.automaticSession.id) { |
| | | this.initializeAutomaticSession(); |
| | | } |
| | | var now = +new Date; |
| | | var acquisitionExpired = now - this.automaticSession.acquisitionDate > this.config.sessionExpirationMs(); |
| | | var renewalExpired = now - this.automaticSession.renewalDate > this.config.sessionRenewalMs(); |
| | | if (acquisitionExpired || renewalExpired) { |
| | | this.automaticSession.isFirst = undefined; |
| | | this.renew(); |
| | | } |
| | | else { |
| | | this.automaticSession.renewalDate = +new Date; |
| | | this.setCookie(this.automaticSession.id, this.automaticSession.acquisitionDate, this.automaticSession.renewalDate); |
| | | } |
| | | }; |
| | | _SessionManager.prototype.backup = function () { |
| | | this.setStorage(this.automaticSession.id, this.automaticSession.acquisitionDate, this.automaticSession.renewalDate); |
| | | }; |
| | | _SessionManager.prototype.initializeAutomaticSession = function () { |
| | | var cookie = ApplicationInsights.Util.getCookie('ai_session'); |
| | | if (cookie && typeof cookie.split === "function") { |
| | | this.initializeAutomaticSessionWithData(cookie); |
| | | } |
| | | else { |
| | | var storage = ApplicationInsights.Util.getStorage('ai_session'); |
| | | if (storage) { |
| | | this.initializeAutomaticSessionWithData(storage); |
| | | } |
| | | } |
| | | if (!this.automaticSession.id) { |
| | | this.automaticSession.isFirst = true; |
| | | this.renew(); |
| | | } |
| | | }; |
| | | _SessionManager.prototype.initializeAutomaticSessionWithData = function (sessionData) { |
| | | var params = sessionData.split("|"); |
| | | if (params.length > 0) { |
| | | this.automaticSession.id = params[0]; |
| | | } |
| | | try { |
| | | if (params.length > 1) { |
| | | var acq = +params[1]; |
| | | this.automaticSession.acquisitionDate = +new Date(acq); |
| | | this.automaticSession.acquisitionDate = this.automaticSession.acquisitionDate > 0 ? this.automaticSession.acquisitionDate : 0; |
| | | } |
| | | if (params.length > 2) { |
| | | var renewal = +params[2]; |
| | | this.automaticSession.renewalDate = +new Date(renewal); |
| | | this.automaticSession.renewalDate = this.automaticSession.renewalDate > 0 ? this.automaticSession.renewalDate : 0; |
| | | } |
| | | } |
| | | catch (e) { |
| | | ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_ErrorParsingAISessionCookie, "Error parsing ai_session cookie, session will be reset: " + ApplicationInsights.Util.getExceptionName(e), { exception: ApplicationInsights.Util.dump(e) })); |
| | | } |
| | | if (this.automaticSession.renewalDate == 0) { |
| | | ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.WARNING, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_SessionRenewalDateIsZero, "AI session renewal date is 0, session will be reset.")); |
| | | } |
| | | }; |
| | | _SessionManager.prototype.renew = function () { |
| | | var now = +new Date; |
| | | this.automaticSession.id = ApplicationInsights.Util.newId(); |
| | | this.automaticSession.acquisitionDate = now; |
| | | this.automaticSession.renewalDate = now; |
| | | this.setCookie(this.automaticSession.id, this.automaticSession.acquisitionDate, this.automaticSession.renewalDate); |
| | | if (!ApplicationInsights.Util.canUseLocalStorage()) { |
| | | ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.WARNING, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_BrowserDoesNotSupportLocalStorage, "Browser does not support local storage. Session durations will be inaccurate.")); |
| | | } |
| | | }; |
| | | _SessionManager.prototype.setCookie = function (guid, acq, renewal) { |
| | | var acquisitionExpiry = acq + this.config.sessionExpirationMs(); |
| | | var renewalExpiry = renewal + this.config.sessionRenewalMs(); |
| | | var cookieExpiry = new Date(); |
| | | var cookie = [guid, acq, renewal]; |
| | | if (acquisitionExpiry < renewalExpiry) { |
| | | cookieExpiry.setTime(acquisitionExpiry); |
| | | } |
| | | else { |
| | | cookieExpiry.setTime(renewalExpiry); |
| | | } |
| | | var cookieDomnain = this.config.cookieDomain ? this.config.cookieDomain() : null; |
| | | ApplicationInsights.Util.setCookie('ai_session', cookie.join('|') + ';expires=' + cookieExpiry.toUTCString(), cookieDomnain); |
| | | }; |
| | | _SessionManager.prototype.setStorage = function (guid, acq, renewal) { |
| | | ApplicationInsights.Util.setStorage('ai_session', [guid, acq, renewal].join('|')); |
| | | }; |
| | | _SessionManager.acquisitionSpan = 86400000; |
| | | _SessionManager.renewalSpan = 1800000; |
| | | return _SessionManager; |
| | | })(); |
| | | Context._SessionManager = _SessionManager; |
| | | })(Context = ApplicationInsights.Context || (ApplicationInsights.Context = {})); |
| | | })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {})); |
| | | })(Microsoft || (Microsoft = {})); |
| | | /// <reference path="../util.ts" /> |
| | | var Microsoft; |
| | | (function (Microsoft) { |
| | | var ApplicationInsights; |
| | | (function (ApplicationInsights) { |
| | | var Context; |
| | | (function (Context) { |
| | | "use strict"; |
| | | var User = (function () { |
| | | function User(config) { |
| | | var cookie = ApplicationInsights.Util.getCookie(User.userCookieName); |
| | | if (cookie) { |
| | | var params = cookie.split(User.cookieSeparator); |
| | | if (params.length > 0) { |
| | | this.id = params[0]; |
| | | } |
| | | } |
| | | this.config = config; |
| | | if (!this.id) { |
| | | this.id = ApplicationInsights.Util.newId(); |
| | | var date = new Date(); |
| | | var acqStr = ApplicationInsights.Util.toISOStringForIE8(date); |
| | | this.accountAcquisitionDate = acqStr; |
| | | date.setTime(date.getTime() + 31536000000); |
| | | var newCookie = [this.id, acqStr]; |
| | | var cookieDomain = this.config.cookieDomain ? this.config.cookieDomain() : undefined; |
| | | ApplicationInsights.Util.setCookie(User.userCookieName, newCookie.join(User.cookieSeparator) + ';expires=' + date.toUTCString(), cookieDomain); |
| | | ApplicationInsights.Util.removeStorage('ai_session'); |
| | | } |
| | | this.accountId = config.accountId ? config.accountId() : undefined; |
| | | var authCookie = ApplicationInsights.Util.getCookie(User.authUserCookieName); |
| | | if (authCookie) { |
| | | authCookie = decodeURI(authCookie); |
| | | var authCookieString = authCookie.split(User.cookieSeparator); |
| | | if (authCookieString[0]) { |
| | | this.authenticatedId = authCookieString[0]; |
| | | } |
| | | if (authCookieString.length > 1 && authCookieString[1]) { |
| | | this.accountId = authCookieString[1]; |
| | | } |
| | | } |
| | | } |
| | | User.prototype.setAuthenticatedUserContext = function (authenticatedUserId, accountId) { |
| | | var isInvalidInput = !this.validateUserInput(authenticatedUserId) || (accountId && !this.validateUserInput(accountId)); |
| | | if (isInvalidInput) { |
| | | ApplicationInsights._InternalLogging.throwInternalUserActionable(ApplicationInsights.LoggingSeverity.WARNING, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.USRACT_SetAuthContextFailedAccountName, "Setting auth user context failed. " + |
| | | "User auth/account id should be of type string, and not contain commas, semi-colons, equal signs, spaces, or vertical-bars.")); |
| | | return; |
| | | } |
| | | this.authenticatedId = authenticatedUserId; |
| | | var authCookie = this.authenticatedId; |
| | | if (accountId) { |
| | | this.accountId = accountId; |
| | | authCookie = [this.authenticatedId, this.accountId].join(User.cookieSeparator); |
| | | } |
| | | ApplicationInsights.Util.setCookie(User.authUserCookieName, encodeURI(authCookie), this.config.cookieDomain()); |
| | | }; |
| | | User.prototype.clearAuthenticatedUserContext = function () { |
| | | this.authenticatedId = null; |
| | | this.accountId = null; |
| | | ApplicationInsights.Util.deleteCookie(User.authUserCookieName); |
| | | }; |
| | | User.prototype.validateUserInput = function (id) { |
| | | if (typeof id !== 'string' || |
| | | !id || |
| | | id.match(/,|;|=| |\|/)) { |
| | | return false; |
| | | } |
| | | return true; |
| | | }; |
| | | User.cookieSeparator = '|'; |
| | | User.userCookieName = 'ai_user'; |
| | | User.authUserCookieName = 'ai_authUser'; |
| | | return User; |
| | | })(); |
| | | Context.User = User; |
| | | })(Context = ApplicationInsights.Context || (ApplicationInsights.Context = {})); |
| | | })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {})); |
| | | })(Microsoft || (Microsoft = {})); |
| | | var Microsoft; |
| | | (function (Microsoft) { |
| | | var ApplicationInsights; |
| | | (function (ApplicationInsights) { |
| | | "use strict"; |
| | | var DataLossAnalyzer = (function () { |
| | | function DataLossAnalyzer() { |
| | | } |
| | | DataLossAnalyzer.reset = function () { |
| | | if (DataLossAnalyzer.isEnabled()) { |
| | | ApplicationInsights.Util.setSessionStorage(DataLossAnalyzer.ITEMS_QUEUED_KEY, "0"); |
| | | } |
| | | }; |
| | | DataLossAnalyzer.isEnabled = function () { |
| | | return DataLossAnalyzer.enabled && |
| | | DataLossAnalyzer.appInsights != null && |
| | | ApplicationInsights.Util.canUseSessionStorage(); |
| | | }; |
| | | DataLossAnalyzer.getIssuesReported = function () { |
| | | var result = (!DataLossAnalyzer.isEnabled() || isNaN(+ApplicationInsights.Util.getSessionStorage(DataLossAnalyzer.ISSUES_REPORTED_KEY))) ? |
| | | 0 : |
| | | +ApplicationInsights.Util.getSessionStorage(DataLossAnalyzer.ISSUES_REPORTED_KEY); |
| | | return result; |
| | | }; |
| | | DataLossAnalyzer.incrementItemsQueued = function () { |
| | | try { |
| | | if (DataLossAnalyzer.isEnabled()) { |
| | | var itemsQueued = DataLossAnalyzer.getNumberOfLostItems(); |
| | | ++itemsQueued; |
| | | ApplicationInsights.Util.setSessionStorage(DataLossAnalyzer.ITEMS_QUEUED_KEY, itemsQueued.toString()); |
| | | } |
| | | } |
| | | catch (e) { } |
| | | }; |
| | | DataLossAnalyzer.decrementItemsQueued = function (countOfItemsSentSuccessfully) { |
| | | try { |
| | | if (DataLossAnalyzer.isEnabled()) { |
| | | var itemsQueued = DataLossAnalyzer.getNumberOfLostItems(); |
| | | itemsQueued -= countOfItemsSentSuccessfully; |
| | | if (itemsQueued < 0) |
| | | itemsQueued = 0; |
| | | ApplicationInsights.Util.setSessionStorage(DataLossAnalyzer.ITEMS_QUEUED_KEY, itemsQueued.toString()); |
| | | } |
| | | } |
| | | catch (e) { } |
| | | }; |
| | | DataLossAnalyzer.getNumberOfLostItems = function () { |
| | | var result = 0; |
| | | try { |
| | | if (DataLossAnalyzer.isEnabled()) { |
| | | result = isNaN(+ApplicationInsights.Util.getSessionStorage(DataLossAnalyzer.ITEMS_QUEUED_KEY)) ? |
| | | 0 : |
| | | +ApplicationInsights.Util.getSessionStorage(DataLossAnalyzer.ITEMS_QUEUED_KEY); |
| | | } |
| | | } |
| | | catch (e) { |
| | | result = 0; |
| | | } |
| | | return result; |
| | | }; |
| | | DataLossAnalyzer.reportLostItems = function () { |
| | | try { |
| | | if (DataLossAnalyzer.isEnabled() && |
| | | DataLossAnalyzer.getIssuesReported() < DataLossAnalyzer.LIMIT_PER_SESSION && |
| | | DataLossAnalyzer.getNumberOfLostItems() > 0) { |
| | | DataLossAnalyzer.appInsights.trackTrace("AI (Internal): Internal report DATALOSS: " |
| | | + DataLossAnalyzer.getNumberOfLostItems(), null); |
| | | DataLossAnalyzer.appInsights.flush(); |
| | | var issuesReported = DataLossAnalyzer.getIssuesReported(); |
| | | ++issuesReported; |
| | | ApplicationInsights.Util.setSessionStorage(DataLossAnalyzer.ISSUES_REPORTED_KEY, issuesReported.toString()); |
| | | } |
| | | } |
| | | catch (e) { |
| | | ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_FailedToReportDataLoss, "Failed to report data loss: " + ApplicationInsights.Util.getExceptionName(e), { exception: ApplicationInsights.Util.dump(e) })); |
| | | } |
| | | finally { |
| | | try { |
| | | DataLossAnalyzer.reset(); |
| | | } |
| | | catch (e) { } |
| | | } |
| | | }; |
| | | DataLossAnalyzer.enabled = false; |
| | | DataLossAnalyzer.LIMIT_PER_SESSION = 10; |
| | | DataLossAnalyzer.ITEMS_QUEUED_KEY = "AI_itemsQueued"; |
| | | DataLossAnalyzer.ISSUES_REPORTED_KEY = "AI_lossIssuesReported"; |
| | | return DataLossAnalyzer; |
| | | })(); |
| | | ApplicationInsights.DataLossAnalyzer = DataLossAnalyzer; |
| | | })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {})); |
| | | })(Microsoft || (Microsoft = {})); |
| | | /// <reference path="serializer.ts" /> |
| | | /// <reference path="Telemetry/Common/Envelope.ts"/> |
| | | /// <reference path="Telemetry/Common/Base.ts" /> |
| | | /// <reference path="Contracts/Generated/ContextTagKeys.ts"/> |
| | | /// <reference path="Context/Application.ts"/> |
| | | /// <reference path="Context/Device.ts"/> |
| | | /// <reference path="Context/Internal.ts"/> |
| | | /// <reference path="Context/Location.ts"/> |
| | | /// <reference path="Context/Operation.ts"/> |
| | | /// <reference path="Context/Sample.ts"/> |
| | | /// <reference path="Context/Session.ts"/> |
| | | /// <reference path="Context/User.ts"/> |
| | | /// <reference path="ajax/ajax.ts"/> |
| | | /// <reference path="./DataLossAnalyzer.ts"/> |
| | | ; |
| | | var Microsoft; |
| | | (function (Microsoft) { |
| | | var ApplicationInsights; |
| | | (function (ApplicationInsights) { |
| | | "use strict"; |
| | | var Sender = (function () { |
| | | function Sender(config) { |
| | | this._buffer = []; |
| | | this._lastSend = 0; |
| | | this._config = config; |
| | | this._sender = null; |
| | | if (typeof XMLHttpRequest != "undefined") { |
| | | var testXhr = new XMLHttpRequest(); |
| | | if ("withCredentials" in testXhr) { |
| | | this._sender = this._xhrSender; |
| | | } |
| | | else if (typeof XDomainRequest !== "undefined") { |
| | | this._sender = this._xdrSender; |
| | | } |
| | | } |
| | | } |
| | | Sender.prototype.send = function (envelope) { |
| | | var _this = this; |
| | | try { |
| | | if (this._config.disableTelemetry()) { |
| | | return; |
| | | } |
| | | if (!envelope) { |
| | | ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_CannotSendEmptyTelemetry, "Cannot send empty telemetry")); |
| | | return; |
| | | } |
| | | if (!this._sender) { |
| | | ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_SenderNotInitialized, "Sender was not initialized")); |
| | | return; |
| | | } |
| | | var payload = ApplicationInsights.Serializer.serialize(envelope); |
| | | if (this._getSizeInBytes(this._buffer) + payload.length > this._config.maxBatchSizeInBytes()) { |
| | | this.triggerSend(); |
| | | } |
| | | this._buffer.push(payload); |
| | | if (!this._timeoutHandle) { |
| | | this._timeoutHandle = setTimeout(function () { |
| | | _this._timeoutHandle = null; |
| | | _this.triggerSend(); |
| | | }, this._config.maxBatchInterval()); |
| | | } |
| | | ApplicationInsights.DataLossAnalyzer.incrementItemsQueued(); |
| | | } |
| | | catch (e) { |
| | | ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_FailedAddingTelemetryToBuffer, "Failed adding telemetry to the sender's buffer, some telemetry will be lost: " + ApplicationInsights.Util.getExceptionName(e), { exception: ApplicationInsights.Util.dump(e) })); |
| | | } |
| | | }; |
| | | Sender.prototype._getSizeInBytes = function (list) { |
| | | var size = 0; |
| | | if (list && list.length) { |
| | | for (var i = 0; i < list.length; i++) { |
| | | var item = list[i]; |
| | | if (item && item.length) { |
| | | size += item.length; |
| | | } |
| | | } |
| | | } |
| | | return size; |
| | | }; |
| | | Sender.prototype.triggerSend = function (async) { |
| | | var isAsync = true; |
| | | if (typeof async === 'boolean') { |
| | | isAsync = async; |
| | | } |
| | | try { |
| | | if (!this._config.disableTelemetry()) { |
| | | if (this._buffer.length) { |
| | | var batch = this._config.emitLineDelimitedJson() ? |
| | | this._buffer.join("\n") : |
| | | "[" + this._buffer.join(",") + "]"; |
| | | this._sender(batch, isAsync, this._buffer.length); |
| | | } |
| | | this._lastSend = +new Date; |
| | | } |
| | | this._buffer.length = 0; |
| | | clearTimeout(this._timeoutHandle); |
| | | this._timeoutHandle = null; |
| | | } |
| | | catch (e) { |
| | | if (!ApplicationInsights.Util.getIEVersion() || ApplicationInsights.Util.getIEVersion() > 9) { |
| | | ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_TransmissionFailed, "Telemetry transmission failed, some telemetry will be lost: " + ApplicationInsights.Util.getExceptionName(e), { exception: ApplicationInsights.Util.dump(e) })); |
| | | } |
| | | } |
| | | }; |
| | | Sender.prototype._xhrSender = function (payload, isAsync, countOfItemsInPayload) { |
| | | var xhr = new XMLHttpRequest(); |
| | | xhr[ApplicationInsights.AjaxMonitor.DisabledPropertyName] = true; |
| | | xhr.open("POST", this._config.endpointUrl(), isAsync); |
| | | xhr.setRequestHeader("Content-type", "application/json"); |
| | | xhr.onreadystatechange = function () { return Sender._xhrReadyStateChange(xhr, payload, countOfItemsInPayload); }; |
| | | xhr.onerror = function (event) { return Sender._onError(payload, xhr.responseText || xhr.response || "", event); }; |
| | | xhr.send(payload); |
| | | }; |
| | | Sender.prototype._xdrSender = function (payload, isAsync) { |
| | | var xdr = new XDomainRequest(); |
| | | xdr.onload = function () { return Sender._xdrOnLoad(xdr, payload); }; |
| | | xdr.onerror = function (event) { return Sender._onError(payload, xdr.responseText || "", event); }; |
| | | xdr.open('POST', this._config.endpointUrl()); |
| | | xdr.send(payload); |
| | | }; |
| | | Sender._xhrReadyStateChange = function (xhr, payload, countOfItemsInPayload) { |
| | | if (xhr.readyState === 4) { |
| | | if ((xhr.status < 200 || xhr.status >= 300) && xhr.status !== 0) { |
| | | Sender._onError(payload, xhr.responseText || xhr.response || ""); |
| | | } |
| | | else { |
| | | Sender._onSuccess(payload, countOfItemsInPayload); |
| | | } |
| | | } |
| | | }; |
| | | Sender._xdrOnLoad = function (xdr, payload) { |
| | | if (xdr && (xdr.responseText + "" === "200" || xdr.responseText === "")) { |
| | | Sender._onSuccess(payload, 0); |
| | | } |
| | | else { |
| | | Sender._onError(payload, xdr && xdr.responseText || ""); |
| | | } |
| | | }; |
| | | Sender._onError = function (payload, message, event) { |
| | | ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.WARNING, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_OnError, "Failed to send telemetry.", { message: message })); |
| | | }; |
| | | Sender._onSuccess = function (payload, countOfItemsInPayload) { |
| | | ApplicationInsights.DataLossAnalyzer.decrementItemsQueued(countOfItemsInPayload); |
| | | }; |
| | | return Sender; |
| | | })(); |
| | | ApplicationInsights.Sender = Sender; |
| | | })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {})); |
| | | })(Microsoft || (Microsoft = {})); |
| | | /// <reference path="./HashCodeScoreGenerator.ts" /> |
| | | var Microsoft; |
| | | (function (Microsoft) { |
| | | var ApplicationInsights; |
| | | (function (ApplicationInsights) { |
| | | "use strict"; |
| | | var SplitTest = (function () { |
| | | function SplitTest() { |
| | | this.hashCodeGeneragor = new ApplicationInsights.HashCodeScoreGenerator(); |
| | | } |
| | | SplitTest.prototype.isEnabled = function (key, percentEnabled) { |
| | | return this.hashCodeGeneragor.getHashCodeScore(key) < percentEnabled; |
| | | }; |
| | | return SplitTest; |
| | | })(); |
| | | ApplicationInsights.SplitTest = SplitTest; |
| | | })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {})); |
| | | })(Microsoft || (Microsoft = {})); |
| | | var Microsoft; |
| | | (function (Microsoft) { |
| | | var Telemetry; |
| | | (function (Telemetry) { |
| | | "use strict"; |
| | | var Domain = (function () { |
| | | function Domain() { |
| | | } |
| | | return Domain; |
| | | })(); |
| | | Telemetry.Domain = Domain; |
| | | })(Telemetry = Microsoft.Telemetry || (Microsoft.Telemetry = {})); |
| | | })(Microsoft || (Microsoft = {})); |
| | | var AI; |
| | | (function (AI) { |
| | | "use strict"; |
| | | (function (SeverityLevel) { |
| | | SeverityLevel[SeverityLevel["Verbose"] = 0] = "Verbose"; |
| | | SeverityLevel[SeverityLevel["Information"] = 1] = "Information"; |
| | | SeverityLevel[SeverityLevel["Warning"] = 2] = "Warning"; |
| | | SeverityLevel[SeverityLevel["Error"] = 3] = "Error"; |
| | | SeverityLevel[SeverityLevel["Critical"] = 4] = "Critical"; |
| | | })(AI.SeverityLevel || (AI.SeverityLevel = {})); |
| | | var SeverityLevel = AI.SeverityLevel; |
| | | })(AI || (AI = {})); |
| | | /// <reference path="Domain.ts" /> |
| | | /// <reference path="SeverityLevel.ts" /> |
| | | var AI; |
| | | (function (AI) { |
| | | "use strict"; |
| | | var MessageData = (function (_super) { |
| | | __extends(MessageData, _super); |
| | | function MessageData() { |
| | | this.ver = 2; |
| | | this.properties = {}; |
| | | _super.call(this); |
| | | } |
| | | return MessageData; |
| | | })(Microsoft.Telemetry.Domain); |
| | | AI.MessageData = MessageData; |
| | | })(AI || (AI = {})); |
| | | /// <reference path="../../logging.ts" /> |
| | | /// <reference path="../../Util.ts"/> |
| | | var Microsoft; |
| | | (function (Microsoft) { |
| | | var ApplicationInsights; |
| | | (function (ApplicationInsights) { |
| | | var Telemetry; |
| | | (function (Telemetry) { |
| | | var Common; |
| | | (function (Common) { |
| | | "use strict"; |
| | | var DataSanitizer = (function () { |
| | | function DataSanitizer() { |
| | | } |
| | | DataSanitizer.sanitizeKeyAndAddUniqueness = function (key, map) { |
| | | var origLength = key.length; |
| | | var field = DataSanitizer.sanitizeKey(key); |
| | | if (field.length !== origLength) { |
| | | var i = 0; |
| | | var uniqueField = field; |
| | | while (map[uniqueField] !== undefined) { |
| | | i++; |
| | | uniqueField = field.substring(0, DataSanitizer.MAX_NAME_LENGTH - 3) + DataSanitizer.padNumber(i); |
| | | } |
| | | field = uniqueField; |
| | | } |
| | | return field; |
| | | }; |
| | | DataSanitizer.sanitizeKey = function (name) { |
| | | if (name) { |
| | | name = ApplicationInsights.Util.trim(name.toString()); |
| | | if (name.search(/[^0-9a-zA-Z-._()\/ ]/g) >= 0) { |
| | | name = name.replace(/[^0-9a-zA-Z-._()\/ ]/g, "_"); |
| | | ApplicationInsights._InternalLogging.throwInternalUserActionable(ApplicationInsights.LoggingSeverity.WARNING, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.USRACT_IllegalCharsInName, "name contains illegal characters. Illegal characters have been replaced with '_'.", { newName: name })); |
| | | } |
| | | if (name.length > DataSanitizer.MAX_NAME_LENGTH) { |
| | | name = name.substring(0, DataSanitizer.MAX_NAME_LENGTH); |
| | | ApplicationInsights._InternalLogging.throwInternalUserActionable(ApplicationInsights.LoggingSeverity.WARNING, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.USRACT_NameTooLong, "name is too long. It has been truncated to " + DataSanitizer.MAX_NAME_LENGTH + " characters.", { name: name })); |
| | | } |
| | | } |
| | | return name; |
| | | }; |
| | | DataSanitizer.sanitizeString = function (value) { |
| | | if (value) { |
| | | value = ApplicationInsights.Util.trim(value); |
| | | if (value.toString().length > DataSanitizer.MAX_STRING_LENGTH) { |
| | | value = value.toString().substring(0, DataSanitizer.MAX_STRING_LENGTH); |
| | | ApplicationInsights._InternalLogging.throwInternalUserActionable(ApplicationInsights.LoggingSeverity.WARNING, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.USRACT_StringValueTooLong, "string value is too long. It has been truncated to " + DataSanitizer.MAX_STRING_LENGTH + " characters.", { value: value })); |
| | | } |
| | | } |
| | | return value; |
| | | }; |
| | | DataSanitizer.sanitizeUrl = function (url) { |
| | | if (url) { |
| | | if (url.length > DataSanitizer.MAX_URL_LENGTH) { |
| | | url = url.substring(0, DataSanitizer.MAX_URL_LENGTH); |
| | | ApplicationInsights._InternalLogging.throwInternalUserActionable(ApplicationInsights.LoggingSeverity.WARNING, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.USRACT_UrlTooLong, "url is too long, it has been trucated to " + DataSanitizer.MAX_URL_LENGTH + " characters.", { url: url })); |
| | | } |
| | | } |
| | | return url; |
| | | }; |
| | | DataSanitizer.sanitizeMessage = function (message) { |
| | | if (message) { |
| | | if (message.length > DataSanitizer.MAX_MESSAGE_LENGTH) { |
| | | message = message.substring(0, DataSanitizer.MAX_MESSAGE_LENGTH); |
| | | ApplicationInsights._InternalLogging.throwInternalUserActionable(ApplicationInsights.LoggingSeverity.WARNING, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.USRACT_MessageTruncated, "message is too long, it has been trucated to " + DataSanitizer.MAX_MESSAGE_LENGTH + " characters.", { message: message })); |
| | | } |
| | | } |
| | | return message; |
| | | }; |
| | | DataSanitizer.sanitizeException = function (exception) { |
| | | if (exception) { |
| | | if (exception.length > DataSanitizer.MAX_EXCEPTION_LENGTH) { |
| | | exception = exception.substring(0, DataSanitizer.MAX_EXCEPTION_LENGTH); |
| | | ApplicationInsights._InternalLogging.throwInternalUserActionable(ApplicationInsights.LoggingSeverity.WARNING, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.USRACT_ExceptionTruncated, "exception is too long, it has been trucated to " + DataSanitizer.MAX_EXCEPTION_LENGTH + " characters.", { exception: exception })); |
| | | } |
| | | } |
| | | return exception; |
| | | }; |
| | | DataSanitizer.sanitizeProperties = function (properties) { |
| | | if (properties) { |
| | | var tempProps = {}; |
| | | for (var prop in properties) { |
| | | var value = DataSanitizer.sanitizeString(properties[prop]); |
| | | prop = DataSanitizer.sanitizeKeyAndAddUniqueness(prop, tempProps); |
| | | tempProps[prop] = value; |
| | | } |
| | | properties = tempProps; |
| | | } |
| | | return properties; |
| | | }; |
| | | DataSanitizer.sanitizeMeasurements = function (measurements) { |
| | | if (measurements) { |
| | | var tempMeasurements = {}; |
| | | for (var measure in measurements) { |
| | | var value = measurements[measure]; |
| | | measure = DataSanitizer.sanitizeKeyAndAddUniqueness(measure, tempMeasurements); |
| | | tempMeasurements[measure] = value; |
| | | } |
| | | measurements = tempMeasurements; |
| | | } |
| | | return measurements; |
| | | }; |
| | | DataSanitizer.padNumber = function (num) { |
| | | var s = "00" + num; |
| | | return s.substr(s.length - 3); |
| | | }; |
| | | DataSanitizer.MAX_NAME_LENGTH = 150; |
| | | DataSanitizer.MAX_STRING_LENGTH = 1024; |
| | | DataSanitizer.MAX_URL_LENGTH = 2048; |
| | | DataSanitizer.MAX_MESSAGE_LENGTH = 32768; |
| | | DataSanitizer.MAX_EXCEPTION_LENGTH = 32768; |
| | | return DataSanitizer; |
| | | })(); |
| | | Common.DataSanitizer = DataSanitizer; |
| | | })(Common = Telemetry.Common || (Telemetry.Common = {})); |
| | | })(Telemetry = ApplicationInsights.Telemetry || (ApplicationInsights.Telemetry = {})); |
| | | })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {})); |
| | | })(Microsoft || (Microsoft = {})); |
| | | /// <reference path="../Contracts/Generated/MessageData.ts" /> |
| | | /// <reference path="./Common/DataSanitizer.ts"/> |
| | | var Microsoft; |
| | | (function (Microsoft) { |
| | | var ApplicationInsights; |
| | | (function (ApplicationInsights) { |
| | | var Telemetry; |
| | | (function (Telemetry) { |
| | | "use strict"; |
| | | var Trace = (function (_super) { |
| | | __extends(Trace, _super); |
| | | function Trace(message, properties) { |
| | | _super.call(this); |
| | | this.aiDataContract = { |
| | | ver: ApplicationInsights.FieldType.Required, |
| | | message: ApplicationInsights.FieldType.Required, |
| | | severityLevel: ApplicationInsights.FieldType.Default, |
| | | measurements: ApplicationInsights.FieldType.Default, |
| | | properties: ApplicationInsights.FieldType.Default |
| | | }; |
| | | message = message || ApplicationInsights.Util.NotSpecified; |
| | | this.message = Telemetry.Common.DataSanitizer.sanitizeMessage(message); |
| | | this.properties = Telemetry.Common.DataSanitizer.sanitizeProperties(properties); |
| | | } |
| | | Trace.envelopeType = "Microsoft.ApplicationInsights.{0}.Message"; |
| | | Trace.dataType = "MessageData"; |
| | | return Trace; |
| | | })(AI.MessageData); |
| | | Telemetry.Trace = Trace; |
| | | })(Telemetry = ApplicationInsights.Telemetry || (ApplicationInsights.Telemetry = {})); |
| | | })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {})); |
| | | })(Microsoft || (Microsoft = {})); |
| | | /// <reference path="Domain.ts" /> |
| | | var AI; |
| | | (function (AI) { |
| | | "use strict"; |
| | | var EventData = (function (_super) { |
| | | __extends(EventData, _super); |
| | | function EventData() { |
| | | this.ver = 2; |
| | | this.properties = {}; |
| | | this.measurements = {}; |
| | | _super.call(this); |
| | | } |
| | | return EventData; |
| | | })(Microsoft.Telemetry.Domain); |
| | | AI.EventData = EventData; |
| | | })(AI || (AI = {})); |
| | | /// <reference path="../Contracts/Generated/EventData.ts" /> |
| | | /// <reference path="./Common/DataSanitizer.ts"/> |
| | | var Microsoft; |
| | | (function (Microsoft) { |
| | | var ApplicationInsights; |
| | | (function (ApplicationInsights) { |
| | | var Telemetry; |
| | | (function (Telemetry) { |
| | | "use strict"; |
| | | var Event = (function (_super) { |
| | | __extends(Event, _super); |
| | | function Event(name, properties, measurements) { |
| | | _super.call(this); |
| | | this.aiDataContract = { |
| | | ver: ApplicationInsights.FieldType.Required, |
| | | name: ApplicationInsights.FieldType.Required, |
| | | properties: ApplicationInsights.FieldType.Default, |
| | | measurements: ApplicationInsights.FieldType.Default |
| | | }; |
| | | this.name = ApplicationInsights.Telemetry.Common.DataSanitizer.sanitizeString(name); |
| | | this.properties = ApplicationInsights.Telemetry.Common.DataSanitizer.sanitizeProperties(properties); |
| | | this.measurements = ApplicationInsights.Telemetry.Common.DataSanitizer.sanitizeMeasurements(measurements); |
| | | } |
| | | Event.envelopeType = "Microsoft.ApplicationInsights.{0}.Event"; |
| | | Event.dataType = "EventData"; |
| | | return Event; |
| | | })(AI.EventData); |
| | | Telemetry.Event = Event; |
| | | })(Telemetry = ApplicationInsights.Telemetry || (ApplicationInsights.Telemetry = {})); |
| | | })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {})); |
| | | })(Microsoft || (Microsoft = {})); |
| | | var AI; |
| | | (function (AI) { |
| | | "use strict"; |
| | | var ExceptionDetails = (function () { |
| | | function ExceptionDetails() { |
| | | this.hasFullStack = true; |
| | | this.parsedStack = []; |
| | | } |
| | | return ExceptionDetails; |
| | | })(); |
| | | AI.ExceptionDetails = ExceptionDetails; |
| | | })(AI || (AI = {})); |
| | | /// <reference path="Domain.ts" /> |
| | | /// <reference path="SeverityLevel.ts" /> |
| | | /// <reference path="ExceptionDetails.ts"/> |
| | | var AI; |
| | | (function (AI) { |
| | | "use strict"; |
| | | var ExceptionData = (function (_super) { |
| | | __extends(ExceptionData, _super); |
| | | function ExceptionData() { |
| | | this.ver = 2; |
| | | this.exceptions = []; |
| | | this.properties = {}; |
| | | this.measurements = {}; |
| | | _super.call(this); |
| | | } |
| | | return ExceptionData; |
| | | })(Microsoft.Telemetry.Domain); |
| | | AI.ExceptionData = ExceptionData; |
| | | })(AI || (AI = {})); |
| | | var AI; |
| | | (function (AI) { |
| | | "use strict"; |
| | | var StackFrame = (function () { |
| | | function StackFrame() { |
| | | } |
| | | return StackFrame; |
| | | })(); |
| | | AI.StackFrame = StackFrame; |
| | | })(AI || (AI = {})); |
| | | /// <reference path="../Contracts/Generated/ExceptionData.ts" /> |
| | | /// <reference path="../Contracts/Generated/StackFrame.ts" /> |
| | | /// <reference path="./Common/DataSanitizer.ts"/> |
| | | var Microsoft; |
| | | (function (Microsoft) { |
| | | var ApplicationInsights; |
| | | (function (ApplicationInsights) { |
| | | var Telemetry; |
| | | (function (Telemetry) { |
| | | "use strict"; |
| | | var Exception = (function (_super) { |
| | | __extends(Exception, _super); |
| | | function Exception(exception, handledAt, properties, measurements) { |
| | | _super.call(this); |
| | | this.aiDataContract = { |
| | | ver: ApplicationInsights.FieldType.Required, |
| | | handledAt: ApplicationInsights.FieldType.Required, |
| | | exceptions: ApplicationInsights.FieldType.Required, |
| | | severityLevel: ApplicationInsights.FieldType.Default, |
| | | properties: ApplicationInsights.FieldType.Default, |
| | | measurements: ApplicationInsights.FieldType.Default |
| | | }; |
| | | this.properties = ApplicationInsights.Telemetry.Common.DataSanitizer.sanitizeProperties(properties); |
| | | this.measurements = ApplicationInsights.Telemetry.Common.DataSanitizer.sanitizeMeasurements(measurements); |
| | | this.handledAt = handledAt || "unhandled"; |
| | | this.exceptions = [new _ExceptionDetails(exception)]; |
| | | } |
| | | Exception.CreateSimpleException = function (message, typeName, assembly, fileName, details, line, handledAt) { |
| | | return { |
| | | handledAt: handledAt || "unhandled", |
| | | exceptions: [ |
| | | { |
| | | hasFullStack: true, |
| | | message: message, |
| | | stack: details, |
| | | typeName: typeName, |
| | | parsedStack: [ |
| | | { |
| | | level: 0, |
| | | assembly: assembly, |
| | | fileName: fileName, |
| | | line: line, |
| | | method: "unknown" |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | }; |
| | | }; |
| | | Exception.envelopeType = "Microsoft.ApplicationInsights.{0}.Exception"; |
| | | Exception.dataType = "ExceptionData"; |
| | | return Exception; |
| | | })(AI.ExceptionData); |
| | | Telemetry.Exception = Exception; |
| | | var _ExceptionDetails = (function (_super) { |
| | | __extends(_ExceptionDetails, _super); |
| | | function _ExceptionDetails(exception) { |
| | | _super.call(this); |
| | | this.aiDataContract = { |
| | | id: ApplicationInsights.FieldType.Default, |
| | | outerId: ApplicationInsights.FieldType.Default, |
| | | typeName: ApplicationInsights.FieldType.Required, |
| | | message: ApplicationInsights.FieldType.Required, |
| | | hasFullStack: ApplicationInsights.FieldType.Default, |
| | | stack: ApplicationInsights.FieldType.Default, |
| | | parsedStack: ApplicationInsights.FieldType.Array |
| | | }; |
| | | this.typeName = Telemetry.Common.DataSanitizer.sanitizeString(exception.name || ApplicationInsights.Util.NotSpecified); |
| | | this.message = Telemetry.Common.DataSanitizer.sanitizeMessage(exception.message || ApplicationInsights.Util.NotSpecified); |
| | | var stack = exception["stack"]; |
| | | this.parsedStack = this.parseStack(stack); |
| | | this.stack = Telemetry.Common.DataSanitizer.sanitizeException(stack); |
| | | this.hasFullStack = ApplicationInsights.Util.isArray(this.parsedStack) && this.parsedStack.length > 0; |
| | | } |
| | | _ExceptionDetails.prototype.parseStack = function (stack) { |
| | | var parsedStack = undefined; |
| | | if (typeof stack === "string") { |
| | | var frames = stack.split('\n'); |
| | | parsedStack = []; |
| | | var level = 0; |
| | | var totalSizeInBytes = 0; |
| | | for (var i = 0; i <= frames.length; i++) { |
| | | var frame = frames[i]; |
| | | if (_StackFrame.regex.test(frame)) { |
| | | var parsedFrame = new _StackFrame(frames[i], level++); |
| | | totalSizeInBytes += parsedFrame.sizeInBytes; |
| | | parsedStack.push(parsedFrame); |
| | | } |
| | | } |
| | | var exceptionParsedStackThreshold = 32 * 1024; |
| | | if (totalSizeInBytes > exceptionParsedStackThreshold) { |
| | | var left = 0; |
| | | var right = parsedStack.length - 1; |
| | | var size = 0; |
| | | var acceptedLeft = left; |
| | | var acceptedRight = right; |
| | | while (left < right) { |
| | | var lSize = parsedStack[left].sizeInBytes; |
| | | var rSize = parsedStack[right].sizeInBytes; |
| | | size += lSize + rSize; |
| | | if (size > exceptionParsedStackThreshold) { |
| | | var howMany = acceptedRight - acceptedLeft + 1; |
| | | parsedStack.splice(acceptedLeft, howMany); |
| | | break; |
| | | } |
| | | acceptedLeft = left; |
| | | acceptedRight = right; |
| | | left++; |
| | | right--; |
| | | } |
| | | } |
| | | } |
| | | return parsedStack; |
| | | }; |
| | | return _ExceptionDetails; |
| | | })(AI.ExceptionDetails); |
| | | var _StackFrame = (function (_super) { |
| | | __extends(_StackFrame, _super); |
| | | function _StackFrame(frame, level) { |
| | | _super.call(this); |
| | | this.sizeInBytes = 0; |
| | | this.aiDataContract = { |
| | | level: ApplicationInsights.FieldType.Required, |
| | | method: ApplicationInsights.FieldType.Required, |
| | | assembly: ApplicationInsights.FieldType.Default, |
| | | fileName: ApplicationInsights.FieldType.Default, |
| | | line: ApplicationInsights.FieldType.Default |
| | | }; |
| | | this.level = level; |
| | | this.method = "<no_method>"; |
| | | this.assembly = ApplicationInsights.Util.trim(frame); |
| | | var matches = frame.match(_StackFrame.regex); |
| | | if (matches && matches.length >= 5) { |
| | | this.method = ApplicationInsights.Util.trim(matches[2]) || this.method; |
| | | this.fileName = ApplicationInsights.Util.trim(matches[4]); |
| | | this.line = parseInt(matches[5]) || 0; |
| | | } |
| | | this.sizeInBytes += this.method.length; |
| | | this.sizeInBytes += this.fileName.length; |
| | | this.sizeInBytes += this.assembly.length; |
| | | this.sizeInBytes += _StackFrame.baseSize; |
| | | this.sizeInBytes += this.level.toString().length; |
| | | this.sizeInBytes += this.line.toString().length; |
| | | } |
| | | _StackFrame.regex = /^([\s]+at)?(.*?)(\@|\s\(|\s)([^\(\@\n]+):([0-9]+):([0-9]+)(\)?)$/; |
| | | _StackFrame.baseSize = 58; |
| | | return _StackFrame; |
| | | })(AI.StackFrame); |
| | | Telemetry._StackFrame = _StackFrame; |
| | | })(Telemetry = ApplicationInsights.Telemetry || (ApplicationInsights.Telemetry = {})); |
| | | })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {})); |
| | | })(Microsoft || (Microsoft = {})); |
| | | /// <reference path="Domain.ts" /> |
| | | var AI; |
| | | (function (AI) { |
| | | "use strict"; |
| | | var MetricData = (function (_super) { |
| | | __extends(MetricData, _super); |
| | | function MetricData() { |
| | | this.ver = 2; |
| | | this.metrics = []; |
| | | this.properties = {}; |
| | | _super.call(this); |
| | | } |
| | | return MetricData; |
| | | })(Microsoft.Telemetry.Domain); |
| | | AI.MetricData = MetricData; |
| | | })(AI || (AI = {})); |
| | | var AI; |
| | | (function (AI) { |
| | | "use strict"; |
| | | (function (DataPointType) { |
| | | DataPointType[DataPointType["Measurement"] = 0] = "Measurement"; |
| | | DataPointType[DataPointType["Aggregation"] = 1] = "Aggregation"; |
| | | })(AI.DataPointType || (AI.DataPointType = {})); |
| | | var DataPointType = AI.DataPointType; |
| | | })(AI || (AI = {})); |
| | | /// <reference path="DataPointType.ts" /> |
| | | var AI; |
| | | (function (AI) { |
| | | "use strict"; |
| | | var DataPoint = (function () { |
| | | function DataPoint() { |
| | | this.kind = AI.DataPointType.Measurement; |
| | | } |
| | | return DataPoint; |
| | | })(); |
| | | AI.DataPoint = DataPoint; |
| | | })(AI || (AI = {})); |
| | | /// <reference path="../../Contracts/Generated/DataPoint.ts"/> |
| | | var Microsoft; |
| | | (function (Microsoft) { |
| | | var ApplicationInsights; |
| | | (function (ApplicationInsights) { |
| | | var Telemetry; |
| | | (function (Telemetry) { |
| | | var Common; |
| | | (function (Common) { |
| | | "use strict"; |
| | | var DataPoint = (function (_super) { |
| | | __extends(DataPoint, _super); |
| | | function DataPoint() { |
| | | _super.apply(this, arguments); |
| | | this.aiDataContract = { |
| | | name: ApplicationInsights.FieldType.Required, |
| | | kind: ApplicationInsights.FieldType.Default, |
| | | value: ApplicationInsights.FieldType.Required, |
| | | count: ApplicationInsights.FieldType.Default, |
| | | min: ApplicationInsights.FieldType.Default, |
| | | max: ApplicationInsights.FieldType.Default, |
| | | stdDev: ApplicationInsights.FieldType.Default |
| | | }; |
| | | } |
| | | return DataPoint; |
| | | })(AI.DataPoint); |
| | | Common.DataPoint = DataPoint; |
| | | })(Common = Telemetry.Common || (Telemetry.Common = {})); |
| | | })(Telemetry = ApplicationInsights.Telemetry || (ApplicationInsights.Telemetry = {})); |
| | | })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {})); |
| | | })(Microsoft || (Microsoft = {})); |
| | | /// <reference path="../Contracts/Generated/MetricData.ts" /> |
| | | /// <reference path="./Common/DataSanitizer.ts" /> |
| | | /// <reference path="./Common/DataPoint.ts" /> |
| | | var Microsoft; |
| | | (function (Microsoft) { |
| | | var ApplicationInsights; |
| | | (function (ApplicationInsights) { |
| | | var Telemetry; |
| | | (function (Telemetry) { |
| | | "use strict"; |
| | | var Metric = (function (_super) { |
| | | __extends(Metric, _super); |
| | | function Metric(name, value, count, min, max, properties) { |
| | | _super.call(this); |
| | | this.aiDataContract = { |
| | | ver: ApplicationInsights.FieldType.Required, |
| | | metrics: ApplicationInsights.FieldType.Required, |
| | | properties: ApplicationInsights.FieldType.Default |
| | | }; |
| | | var dataPoint = new Microsoft.ApplicationInsights.Telemetry.Common.DataPoint(); |
| | | dataPoint.count = count > 0 ? count : undefined; |
| | | dataPoint.max = isNaN(max) || max === null ? undefined : max; |
| | | dataPoint.min = isNaN(min) || min === null ? undefined : min; |
| | | dataPoint.name = Telemetry.Common.DataSanitizer.sanitizeString(name); |
| | | dataPoint.value = value; |
| | | this.metrics = [dataPoint]; |
| | | this.properties = ApplicationInsights.Telemetry.Common.DataSanitizer.sanitizeProperties(properties); |
| | | } |
| | | Metric.envelopeType = "Microsoft.ApplicationInsights.{0}.Metric"; |
| | | Metric.dataType = "MetricData"; |
| | | return Metric; |
| | | })(AI.MetricData); |
| | | Telemetry.Metric = Metric; |
| | | })(Telemetry = ApplicationInsights.Telemetry || (ApplicationInsights.Telemetry = {})); |
| | | })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {})); |
| | | })(Microsoft || (Microsoft = {})); |
| | | /// <reference path="EventData.ts" /> |
| | | var AI; |
| | | (function (AI) { |
| | | "use strict"; |
| | | var PageViewData = (function (_super) { |
| | | __extends(PageViewData, _super); |
| | | function PageViewData() { |
| | | this.ver = 2; |
| | | this.properties = {}; |
| | | this.measurements = {}; |
| | | _super.call(this); |
| | | } |
| | | return PageViewData; |
| | | })(AI.EventData); |
| | | AI.PageViewData = PageViewData; |
| | | })(AI || (AI = {})); |
| | | /// <reference path="../Contracts/Generated/PageViewData.ts" /> |
| | | /// <reference path="./Common/DataSanitizer.ts"/> |
| | | var Microsoft; |
| | | (function (Microsoft) { |
| | | var ApplicationInsights; |
| | | (function (ApplicationInsights) { |
| | | var Telemetry; |
| | | (function (Telemetry) { |
| | | "use strict"; |
| | | var PageView = (function (_super) { |
| | | __extends(PageView, _super); |
| | | function PageView(name, url, durationMs, properties, measurements) { |
| | | _super.call(this); |
| | | this.aiDataContract = { |
| | | ver: ApplicationInsights.FieldType.Required, |
| | | name: ApplicationInsights.FieldType.Default, |
| | | url: ApplicationInsights.FieldType.Default, |
| | | duration: ApplicationInsights.FieldType.Default, |
| | | properties: ApplicationInsights.FieldType.Default, |
| | | measurements: ApplicationInsights.FieldType.Default |
| | | }; |
| | | this.url = Telemetry.Common.DataSanitizer.sanitizeUrl(url); |
| | | this.name = Telemetry.Common.DataSanitizer.sanitizeString(name || ApplicationInsights.Util.NotSpecified); |
| | | if (!isNaN(durationMs)) { |
| | | this.duration = ApplicationInsights.Util.msToTimeSpan(durationMs); |
| | | } |
| | | this.properties = ApplicationInsights.Telemetry.Common.DataSanitizer.sanitizeProperties(properties); |
| | | this.measurements = ApplicationInsights.Telemetry.Common.DataSanitizer.sanitizeMeasurements(measurements); |
| | | } |
| | | PageView.envelopeType = "Microsoft.ApplicationInsights.{0}.Pageview"; |
| | | PageView.dataType = "PageviewData"; |
| | | return PageView; |
| | | })(AI.PageViewData); |
| | | Telemetry.PageView = PageView; |
| | | })(Telemetry = ApplicationInsights.Telemetry || (ApplicationInsights.Telemetry = {})); |
| | | })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {})); |
| | | })(Microsoft || (Microsoft = {})); |
| | | /// <reference path="PageViewData.ts" /> |
| | | var AI; |
| | | (function (AI) { |
| | | "use strict"; |
| | | var PageViewPerfData = (function (_super) { |
| | | __extends(PageViewPerfData, _super); |
| | | function PageViewPerfData() { |
| | | this.ver = 2; |
| | | this.properties = {}; |
| | | this.measurements = {}; |
| | | _super.call(this); |
| | | } |
| | | return PageViewPerfData; |
| | | })(AI.PageViewData); |
| | | AI.PageViewPerfData = PageViewPerfData; |
| | | })(AI || (AI = {})); |
| | | /// <reference path="../Contracts/Generated/PageViewPerfData.ts"/> |
| | | /// <reference path="./Common/DataSanitizer.ts"/> |
| | | /// <reference path="../Util.ts"/> |
| | | var Microsoft; |
| | | (function (Microsoft) { |
| | | var ApplicationInsights; |
| | | (function (ApplicationInsights) { |
| | | var Telemetry; |
| | | (function (Telemetry) { |
| | | "use strict"; |
| | | var PageViewPerformance = (function (_super) { |
| | | __extends(PageViewPerformance, _super); |
| | | function PageViewPerformance(name, url, unused, properties, measurements) { |
| | | _super.call(this); |
| | | this.aiDataContract = { |
| | | ver: ApplicationInsights.FieldType.Required, |
| | | name: ApplicationInsights.FieldType.Default, |
| | | url: ApplicationInsights.FieldType.Default, |
| | | duration: ApplicationInsights.FieldType.Default, |
| | | perfTotal: ApplicationInsights.FieldType.Default, |
| | | networkConnect: ApplicationInsights.FieldType.Default, |
| | | sentRequest: ApplicationInsights.FieldType.Default, |
| | | receivedResponse: ApplicationInsights.FieldType.Default, |
| | | domProcessing: ApplicationInsights.FieldType.Default, |
| | | properties: ApplicationInsights.FieldType.Default, |
| | | measurements: ApplicationInsights.FieldType.Default |
| | | }; |
| | | this.isValid = false; |
| | | var timing = PageViewPerformance.getPerformanceTiming(); |
| | | if (timing) { |
| | | var total = PageViewPerformance.getDuration(timing.navigationStart, timing.loadEventEnd); |
| | | var network = PageViewPerformance.getDuration(timing.navigationStart, timing.connectEnd); |
| | | var request = PageViewPerformance.getDuration(timing.requestStart, timing.responseStart); |
| | | var response = PageViewPerformance.getDuration(timing.responseStart, timing.responseEnd); |
| | | var dom = PageViewPerformance.getDuration(timing.responseEnd, timing.loadEventEnd); |
| | | if (total == 0) { |
| | | ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.WARNING, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_ErrorPVCalc, "error calculating page view performance.", { total: total, network: network, request: request, response: response, dom: dom })); |
| | | } |
| | | else if (total < Math.floor(network) + Math.floor(request) + Math.floor(response) + Math.floor(dom)) { |
| | | ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.WARNING, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_ClientPerformanceMathError, "client performance math error.", { total: total, network: network, request: request, response: response, dom: dom })); |
| | | } |
| | | else { |
| | | this.durationMs = total; |
| | | this.perfTotal = this.duration = ApplicationInsights.Util.msToTimeSpan(total); |
| | | this.networkConnect = ApplicationInsights.Util.msToTimeSpan(network); |
| | | this.sentRequest = ApplicationInsights.Util.msToTimeSpan(request); |
| | | this.receivedResponse = ApplicationInsights.Util.msToTimeSpan(response); |
| | | this.domProcessing = ApplicationInsights.Util.msToTimeSpan(dom); |
| | | this.isValid = true; |
| | | } |
| | | } |
| | | this.url = Telemetry.Common.DataSanitizer.sanitizeUrl(url); |
| | | this.name = Telemetry.Common.DataSanitizer.sanitizeString(name || ApplicationInsights.Util.NotSpecified); |
| | | this.properties = ApplicationInsights.Telemetry.Common.DataSanitizer.sanitizeProperties(properties); |
| | | this.measurements = ApplicationInsights.Telemetry.Common.DataSanitizer.sanitizeMeasurements(measurements); |
| | | } |
| | | PageViewPerformance.prototype.getIsValid = function () { |
| | | return this.isValid; |
| | | }; |
| | | PageViewPerformance.prototype.getDurationMs = function () { |
| | | return this.durationMs; |
| | | }; |
| | | PageViewPerformance.getPerformanceTiming = function () { |
| | | if (typeof window != "undefined" && window.performance && window.performance.timing) { |
| | | return window.performance.timing; |
| | | } |
| | | return null; |
| | | }; |
| | | PageViewPerformance.isPerformanceTimingSupported = function () { |
| | | return typeof window != "undefined" && window.performance && window.performance.timing; |
| | | }; |
| | | PageViewPerformance.isPerformanceTimingDataReady = function () { |
| | | var timing = window.performance.timing; |
| | | return timing.domainLookupStart > 0 |
| | | && timing.navigationStart > 0 |
| | | && timing.responseStart > 0 |
| | | && timing.requestStart > 0 |
| | | && timing.loadEventEnd > 0 |
| | | && timing.responseEnd > 0 |
| | | && timing.connectEnd > 0 |
| | | && timing.domLoading > 0; |
| | | }; |
| | | PageViewPerformance.getDuration = function (start, end) { |
| | | var duration = 0; |
| | | if (!(isNaN(start) || isNaN(end))) { |
| | | duration = Math.max(end - start, 0); |
| | | } |
| | | return duration; |
| | | }; |
| | | PageViewPerformance.envelopeType = "Microsoft.ApplicationInsights.{0}.PageviewPerformance"; |
| | | PageViewPerformance.dataType = "PageviewPerformanceData"; |
| | | return PageViewPerformance; |
| | | })(AI.PageViewPerfData); |
| | | Telemetry.PageViewPerformance = PageViewPerformance; |
| | | })(Telemetry = ApplicationInsights.Telemetry || (ApplicationInsights.Telemetry = {})); |
| | | })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {})); |
| | | })(Microsoft || (Microsoft = {})); |
| | | /// <reference path="sender.ts"/> |
| | | /// <reference path="telemetry/trace.ts" /> |
| | | /// <reference path="telemetry/event.ts" /> |
| | | /// <reference path="telemetry/exception.ts" /> |
| | | /// <reference path="telemetry/metric.ts" /> |
| | | /// <reference path="telemetry/pageview.ts" /> |
| | | /// <reference path="telemetry/pageviewperformance.ts" /> |
| | | /// <reference path="./Util.ts"/> |
| | | /// <reference path="./Contracts/Generated/SessionState.ts"/> |
| | | var Microsoft; |
| | | (function (Microsoft) { |
| | | var ApplicationInsights; |
| | | (function (ApplicationInsights) { |
| | | "use strict"; |
| | | var TelemetryContext = (function () { |
| | | function TelemetryContext(config) { |
| | | this._config = config; |
| | | this._sender = new ApplicationInsights.Sender(config); |
| | | if (typeof window !== 'undefined') { |
| | | this._sessionManager = new ApplicationInsights.Context._SessionManager(config); |
| | | this.application = new ApplicationInsights.Context.Application(); |
| | | this.device = new ApplicationInsights.Context.Device(); |
| | | this.internal = new ApplicationInsights.Context.Internal(); |
| | | this.location = new ApplicationInsights.Context.Location(); |
| | | this.user = new ApplicationInsights.Context.User(config); |
| | | this.operation = new ApplicationInsights.Context.Operation(); |
| | | this.session = new ApplicationInsights.Context.Session(); |
| | | this.sample = new ApplicationInsights.Context.Sample(config.sampleRate()); |
| | | } |
| | | } |
| | | TelemetryContext.prototype.addTelemetryInitializer = function (telemetryInitializer) { |
| | | this.telemetryInitializers = this.telemetryInitializers || []; |
| | | this.telemetryInitializers.push(telemetryInitializer); |
| | | }; |
| | | TelemetryContext.prototype.track = function (envelope) { |
| | | if (!envelope) { |
| | | ApplicationInsights._InternalLogging.throwInternalUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.USRACT_TrackArgumentsNotSpecified, "cannot call .track() with a null or undefined argument")); |
| | | } |
| | | else { |
| | | if (envelope.name === ApplicationInsights.Telemetry.PageView.envelopeType) { |
| | | ApplicationInsights._InternalLogging.resetInternalMessageCount(); |
| | | } |
| | | if (this.session) { |
| | | if (typeof this.session.id !== "string") { |
| | | this._sessionManager.update(); |
| | | } |
| | | } |
| | | this._track(envelope); |
| | | } |
| | | return envelope; |
| | | }; |
| | | TelemetryContext.prototype._track = function (envelope) { |
| | | if (this.session) { |
| | | if (typeof this.session.id === "string") { |
| | | this._applySessionContext(envelope, this.session); |
| | | } |
| | | else { |
| | | this._applySessionContext(envelope, this._sessionManager.automaticSession); |
| | | } |
| | | } |
| | | this._applyApplicationContext(envelope, this.application); |
| | | this._applyDeviceContext(envelope, this.device); |
| | | this._applyInternalContext(envelope, this.internal); |
| | | this._applyLocationContext(envelope, this.location); |
| | | this._applySampleContext(envelope, this.sample); |
| | | this._applyUserContext(envelope, this.user); |
| | | this._applyOperationContext(envelope, this.operation); |
| | | envelope.iKey = this._config.instrumentationKey(); |
| | | var doNotSendItem = false; |
| | | try { |
| | | this.telemetryInitializers = this.telemetryInitializers || []; |
| | | var telemetryInitializersCount = this.telemetryInitializers.length; |
| | | for (var i = 0; i < telemetryInitializersCount; ++i) { |
| | | var telemetryInitializer = this.telemetryInitializers[i]; |
| | | if (telemetryInitializer) { |
| | | if (telemetryInitializer.apply(null, [envelope]) === false) { |
| | | doNotSendItem = true; |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | catch (e) { |
| | | doNotSendItem = true; |
| | | ApplicationInsights._InternalLogging.throwInternalUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.USRACT_TelemetryInitializerFailed, "One of telemetry initializers failed, telemetry item will not be sent: " + ApplicationInsights.Util.getExceptionName(e), { exception: ApplicationInsights.Util.dump(e) })); |
| | | } |
| | | if (!doNotSendItem) { |
| | | if (envelope.name === ApplicationInsights.Telemetry.Metric.envelopeType || |
| | | this.sample.isSampledIn(envelope)) { |
| | | var iKeyNoDashes = this._config.instrumentationKey().replace(/-/g, ""); |
| | | envelope.name = envelope.name.replace("{0}", iKeyNoDashes); |
| | | this._sender.send(envelope); |
| | | } |
| | | else { |
| | | ApplicationInsights._InternalLogging.throwInternalUserActionable(ApplicationInsights.LoggingSeverity.WARNING, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_TelemetrySampledAndNotSent, "Telemetry is sampled and not sent to the AI service.", { SampleRate: this.sample.sampleRate })); |
| | | } |
| | | } |
| | | return envelope; |
| | | }; |
| | | TelemetryContext.prototype._applyApplicationContext = function (envelope, appContext) { |
| | | if (appContext) { |
| | | var tagKeys = new AI.ContextTagKeys(); |
| | | if (typeof appContext.ver === "string") { |
| | | envelope.tags[tagKeys.applicationVersion] = appContext.ver; |
| | | } |
| | | if (typeof appContext.build === "string") { |
| | | envelope.tags[tagKeys.applicationBuild] = appContext.build; |
| | | } |
| | | } |
| | | }; |
| | | TelemetryContext.prototype._applyDeviceContext = function (envelope, deviceContext) { |
| | | var tagKeys = new AI.ContextTagKeys(); |
| | | if (deviceContext) { |
| | | if (typeof deviceContext.id === "string") { |
| | | envelope.tags[tagKeys.deviceId] = deviceContext.id; |
| | | } |
| | | if (typeof deviceContext.ip === "string") { |
| | | envelope.tags[tagKeys.deviceIp] = deviceContext.ip; |
| | | } |
| | | if (typeof deviceContext.language === "string") { |
| | | envelope.tags[tagKeys.deviceLanguage] = deviceContext.language; |
| | | } |
| | | if (typeof deviceContext.locale === "string") { |
| | | envelope.tags[tagKeys.deviceLocale] = deviceContext.locale; |
| | | } |
| | | if (typeof deviceContext.model === "string") { |
| | | envelope.tags[tagKeys.deviceModel] = deviceContext.model; |
| | | } |
| | | if (typeof deviceContext.network !== "undefined") { |
| | | envelope.tags[tagKeys.deviceNetwork] = deviceContext.network; |
| | | } |
| | | if (typeof deviceContext.oemName === "string") { |
| | | envelope.tags[tagKeys.deviceOEMName] = deviceContext.oemName; |
| | | } |
| | | if (typeof deviceContext.os === "string") { |
| | | envelope.tags[tagKeys.deviceOS] = deviceContext.os; |
| | | } |
| | | if (typeof deviceContext.osversion === "string") { |
| | | envelope.tags[tagKeys.deviceOSVersion] = deviceContext.osversion; |
| | | } |
| | | if (typeof deviceContext.resolution === "string") { |
| | | envelope.tags[tagKeys.deviceScreenResolution] = deviceContext.resolution; |
| | | } |
| | | if (typeof deviceContext.type === "string") { |
| | | envelope.tags[tagKeys.deviceType] = deviceContext.type; |
| | | } |
| | | } |
| | | }; |
| | | TelemetryContext.prototype._applyInternalContext = function (envelope, internalContext) { |
| | | if (internalContext) { |
| | | var tagKeys = new AI.ContextTagKeys(); |
| | | if (typeof internalContext.agentVersion === "string") { |
| | | envelope.tags[tagKeys.internalAgentVersion] = internalContext.agentVersion; |
| | | } |
| | | if (typeof internalContext.sdkVersion === "string") { |
| | | envelope.tags[tagKeys.internalSdkVersion] = internalContext.sdkVersion; |
| | | } |
| | | } |
| | | }; |
| | | TelemetryContext.prototype._applyLocationContext = function (envelope, locationContext) { |
| | | if (locationContext) { |
| | | var tagKeys = new AI.ContextTagKeys(); |
| | | if (typeof locationContext.ip === "string") { |
| | | envelope.tags[tagKeys.locationIp] = locationContext.ip; |
| | | } |
| | | } |
| | | }; |
| | | TelemetryContext.prototype._applyOperationContext = function (envelope, operationContext) { |
| | | if (operationContext) { |
| | | var tagKeys = new AI.ContextTagKeys(); |
| | | if (typeof operationContext.id === "string") { |
| | | envelope.tags[tagKeys.operationId] = operationContext.id; |
| | | } |
| | | if (typeof operationContext.name === "string") { |
| | | envelope.tags[tagKeys.operationName] = operationContext.name; |
| | | } |
| | | if (typeof operationContext.parentId === "string") { |
| | | envelope.tags[tagKeys.operationParentId] = operationContext.parentId; |
| | | } |
| | | if (typeof operationContext.rootId === "string") { |
| | | envelope.tags[tagKeys.operationRootId] = operationContext.rootId; |
| | | } |
| | | if (typeof operationContext.syntheticSource === "string") { |
| | | envelope.tags[tagKeys.operationSyntheticSource] = operationContext.syntheticSource; |
| | | } |
| | | } |
| | | }; |
| | | TelemetryContext.prototype._applySampleContext = function (envelope, sampleContext) { |
| | | if (sampleContext) { |
| | | envelope.sampleRate = sampleContext.sampleRate; |
| | | } |
| | | }; |
| | | TelemetryContext.prototype._applySessionContext = function (envelope, sessionContext) { |
| | | if (sessionContext) { |
| | | var tagKeys = new AI.ContextTagKeys(); |
| | | if (typeof sessionContext.id === "string") { |
| | | envelope.tags[tagKeys.sessionId] = sessionContext.id; |
| | | } |
| | | if (typeof sessionContext.isFirst !== "undefined") { |
| | | envelope.tags[tagKeys.sessionIsFirst] = sessionContext.isFirst; |
| | | } |
| | | } |
| | | }; |
| | | TelemetryContext.prototype._applyUserContext = function (envelope, userContext) { |
| | | if (userContext) { |
| | | var tagKeys = new AI.ContextTagKeys(); |
| | | if (typeof userContext.accountId === "string") { |
| | | envelope.tags[tagKeys.userAccountId] = userContext.accountId; |
| | | } |
| | | if (typeof userContext.agent === "string") { |
| | | envelope.tags[tagKeys.userAgent] = userContext.agent; |
| | | } |
| | | if (typeof userContext.id === "string") { |
| | | envelope.tags[tagKeys.userId] = userContext.id; |
| | | } |
| | | if (typeof userContext.authenticatedId === "string") { |
| | | envelope.tags[tagKeys.userAuthUserId] = userContext.authenticatedId; |
| | | } |
| | | if (typeof userContext.storeRegion === "string") { |
| | | envelope.tags[tagKeys.userStoreRegion] = userContext.storeRegion; |
| | | } |
| | | } |
| | | }; |
| | | return TelemetryContext; |
| | | })(); |
| | | ApplicationInsights.TelemetryContext = TelemetryContext; |
| | | })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {})); |
| | | })(Microsoft || (Microsoft = {})); |
| | | /// <reference path="Base.ts" /> |
| | | var Microsoft; |
| | | (function (Microsoft) { |
| | | var Telemetry; |
| | | (function (Telemetry) { |
| | | "use strict"; |
| | | var Data = (function (_super) { |
| | | __extends(Data, _super); |
| | | function Data() { |
| | | _super.call(this); |
| | | } |
| | | return Data; |
| | | })(Microsoft.Telemetry.Base); |
| | | Telemetry.Data = Data; |
| | | })(Telemetry = Microsoft.Telemetry || (Microsoft.Telemetry = {})); |
| | | })(Microsoft || (Microsoft = {})); |
| | | /// <reference path="../../Contracts/Generated/Data.ts"/> |
| | | var Microsoft; |
| | | (function (Microsoft) { |
| | | var ApplicationInsights; |
| | | (function (ApplicationInsights) { |
| | | var Telemetry; |
| | | (function (Telemetry) { |
| | | var Common; |
| | | (function (Common) { |
| | | "use strict"; |
| | | var Data = (function (_super) { |
| | | __extends(Data, _super); |
| | | function Data(type, data) { |
| | | _super.call(this); |
| | | this.aiDataContract = { |
| | | baseType: ApplicationInsights.FieldType.Required, |
| | | baseData: ApplicationInsights.FieldType.Required |
| | | }; |
| | | this.baseType = type; |
| | | this.baseData = data; |
| | | } |
| | | return Data; |
| | | })(Microsoft.Telemetry.Data); |
| | | Common.Data = Data; |
| | | })(Common = Telemetry.Common || (Telemetry.Common = {})); |
| | | })(Telemetry = ApplicationInsights.Telemetry || (ApplicationInsights.Telemetry = {})); |
| | | })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {})); |
| | | })(Microsoft || (Microsoft = {})); |
| | | /// <reference path="../Contracts/Generated/PageViewData.ts" /> |
| | | /// <reference path="./Common/DataSanitizer.ts"/> |
| | | var Microsoft; |
| | | (function (Microsoft) { |
| | | var ApplicationInsights; |
| | | (function (ApplicationInsights) { |
| | | var Telemetry; |
| | | (function (Telemetry) { |
| | | "use strict"; |
| | | var PageViewManager = (function () { |
| | | function PageViewManager(appInsights, overridePageViewDuration) { |
| | | this.pageViewPerformanceSent = false; |
| | | this.overridePageViewDuration = false; |
| | | this.overridePageViewDuration = overridePageViewDuration; |
| | | this.appInsights = appInsights; |
| | | } |
| | | PageViewManager.prototype.trackPageView = function (name, url, properties, measurements, duration) { |
| | | var _this = this; |
| | | if (typeof name !== "string") { |
| | | name = window.document && window.document.title || ""; |
| | | } |
| | | if (typeof url !== "string") { |
| | | url = window.location && window.location.href || ""; |
| | | } |
| | | var pageViewSent = false; |
| | | var customDuration = 0; |
| | | if (Telemetry.PageViewPerformance.isPerformanceTimingSupported()) { |
| | | var start = Telemetry.PageViewPerformance.getPerformanceTiming().navigationStart; |
| | | customDuration = Telemetry.PageViewPerformance.getDuration(start, +new Date); |
| | | } |
| | | else { |
| | | this.appInsights.sendPageViewInternal(name, url, !isNaN(duration) ? duration : 0, properties, measurements); |
| | | this.appInsights.flush(); |
| | | pageViewSent = true; |
| | | } |
| | | if (this.overridePageViewDuration || !isNaN(duration)) { |
| | | this.appInsights.sendPageViewInternal(name, url, !isNaN(duration) ? duration : customDuration, properties, measurements); |
| | | this.appInsights.flush(); |
| | | pageViewSent = true; |
| | | } |
| | | var maxDurationLimit = 60000; |
| | | if (!Telemetry.PageViewPerformance.isPerformanceTimingSupported()) { |
| | | ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.WARNING, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_NavigationTimingNotSupported, "trackPageView: navigation timing API used for calculation of page duration is not supported in this browser. This page view will be collected without duration and timing info.")); |
| | | return; |
| | | } |
| | | var handle = setInterval(function () { |
| | | try { |
| | | if (Telemetry.PageViewPerformance.isPerformanceTimingDataReady()) { |
| | | clearInterval(handle); |
| | | var pageViewPerformance = new Telemetry.PageViewPerformance(name, url, null, properties, measurements); |
| | | if (!pageViewPerformance.getIsValid() && !pageViewSent) { |
| | | _this.appInsights.sendPageViewInternal(name, url, customDuration, properties, measurements); |
| | | _this.appInsights.flush(); |
| | | } |
| | | else { |
| | | if (!pageViewSent) { |
| | | _this.appInsights.sendPageViewInternal(name, url, pageViewPerformance.getDurationMs(), properties, measurements); |
| | | } |
| | | if (!_this.pageViewPerformanceSent) { |
| | | _this.appInsights.sendPageViewPerformanceInternal(pageViewPerformance); |
| | | _this.pageViewPerformanceSent = true; |
| | | } |
| | | _this.appInsights.flush(); |
| | | } |
| | | } |
| | | else if (Telemetry.PageViewPerformance.getDuration(start, +new Date) > maxDurationLimit) { |
| | | clearInterval(handle); |
| | | if (!pageViewSent) { |
| | | _this.appInsights.sendPageViewInternal(name, url, maxDurationLimit, properties, measurements); |
| | | _this.appInsights.flush(); |
| | | } |
| | | } |
| | | } |
| | | catch (e) { |
| | | ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_TrackPVFailedCalc, "trackPageView failed on page load calculation: " + ApplicationInsights.Util.getExceptionName(e), { exception: ApplicationInsights.Util.dump(e) })); |
| | | } |
| | | }, 100); |
| | | }; |
| | | return PageViewManager; |
| | | })(); |
| | | Telemetry.PageViewManager = PageViewManager; |
| | | })(Telemetry = ApplicationInsights.Telemetry || (ApplicationInsights.Telemetry = {})); |
| | | })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {})); |
| | | })(Microsoft || (Microsoft = {})); |
| | | /// <reference path="../AppInsights.ts" /> |
| | | var Microsoft; |
| | | (function (Microsoft) { |
| | | var ApplicationInsights; |
| | | (function (ApplicationInsights) { |
| | | var Telemetry; |
| | | (function (Telemetry) { |
| | | "use strict"; |
| | | var PageVisitTimeManager = (function () { |
| | | function PageVisitTimeManager(pageVisitTimeTrackingHandler) { |
| | | this.prevPageVisitDataKeyName = "prevPageVisitData"; |
| | | this.pageVisitTimeTrackingHandler = pageVisitTimeTrackingHandler; |
| | | } |
| | | PageVisitTimeManager.prototype.trackPreviousPageVisit = function (currentPageName, currentPageUrl) { |
| | | try { |
| | | var prevPageVisitTimeData = this.restartPageVisitTimer(currentPageName, currentPageUrl); |
| | | if (prevPageVisitTimeData) { |
| | | this.pageVisitTimeTrackingHandler(prevPageVisitTimeData.pageName, prevPageVisitTimeData.pageUrl, prevPageVisitTimeData.pageVisitTime); |
| | | } |
| | | } |
| | | catch (e) { |
| | | ApplicationInsights._InternalLogging.warnToConsole("Auto track page visit time failed, metric will not be collected: " + ApplicationInsights.Util.dump(e)); |
| | | } |
| | | }; |
| | | PageVisitTimeManager.prototype.restartPageVisitTimer = function (pageName, pageUrl) { |
| | | try { |
| | | var prevPageVisitData = this.stopPageVisitTimer(); |
| | | this.startPageVisitTimer(pageName, pageUrl); |
| | | return prevPageVisitData; |
| | | } |
| | | catch (e) { |
| | | ApplicationInsights._InternalLogging.warnToConsole("Call to restart failed: " + ApplicationInsights.Util.dump(e)); |
| | | return null; |
| | | } |
| | | }; |
| | | PageVisitTimeManager.prototype.startPageVisitTimer = function (pageName, pageUrl) { |
| | | try { |
| | | if (ApplicationInsights.Util.canUseSessionStorage()) { |
| | | if (ApplicationInsights.Util.getSessionStorage(this.prevPageVisitDataKeyName) != null) { |
| | | throw new Error("Cannot call startPageVisit consecutively without first calling stopPageVisit"); |
| | | } |
| | | var currPageVisitData = new PageVisitData(pageName, pageUrl); |
| | | var currPageVisitDataStr = JSON.stringify(currPageVisitData); |
| | | ApplicationInsights.Util.setSessionStorage(this.prevPageVisitDataKeyName, currPageVisitDataStr); |
| | | } |
| | | } |
| | | catch (e) { |
| | | ApplicationInsights._InternalLogging.warnToConsole("Call to start failed: " + ApplicationInsights.Util.dump(e)); |
| | | } |
| | | }; |
| | | PageVisitTimeManager.prototype.stopPageVisitTimer = function () { |
| | | try { |
| | | if (ApplicationInsights.Util.canUseSessionStorage()) { |
| | | var pageVisitEndTime = Date.now(); |
| | | var pageVisitDataJsonStr = ApplicationInsights.Util.getSessionStorage(this.prevPageVisitDataKeyName); |
| | | if (pageVisitDataJsonStr) { |
| | | var prevPageVisitData = JSON.parse(pageVisitDataJsonStr); |
| | | prevPageVisitData.pageVisitTime = pageVisitEndTime - prevPageVisitData.pageVisitStartTime; |
| | | ApplicationInsights.Util.removeSessionStorage(this.prevPageVisitDataKeyName); |
| | | return prevPageVisitData; |
| | | } |
| | | else { |
| | | return null; |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | catch (e) { |
| | | ApplicationInsights._InternalLogging.warnToConsole("Stop page visit timer failed: " + ApplicationInsights.Util.dump(e)); |
| | | return null; |
| | | } |
| | | }; |
| | | return PageVisitTimeManager; |
| | | })(); |
| | | Telemetry.PageVisitTimeManager = PageVisitTimeManager; |
| | | var PageVisitData = (function () { |
| | | function PageVisitData(pageName, pageUrl) { |
| | | this.pageVisitStartTime = Date.now(); |
| | | this.pageName = pageName; |
| | | this.pageUrl = pageUrl; |
| | | } |
| | | return PageVisitData; |
| | | })(); |
| | | Telemetry.PageVisitData = PageVisitData; |
| | | })(Telemetry = ApplicationInsights.Telemetry || (ApplicationInsights.Telemetry = {})); |
| | | })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {})); |
| | | })(Microsoft || (Microsoft = {})); |
| | | var AI; |
| | | (function (AI) { |
| | | "use strict"; |
| | | (function (DependencyKind) { |
| | | DependencyKind[DependencyKind["SQL"] = 0] = "SQL"; |
| | | DependencyKind[DependencyKind["Http"] = 1] = "Http"; |
| | | DependencyKind[DependencyKind["Other"] = 2] = "Other"; |
| | | })(AI.DependencyKind || (AI.DependencyKind = {})); |
| | | var DependencyKind = AI.DependencyKind; |
| | | })(AI || (AI = {})); |
| | | var AI; |
| | | (function (AI) { |
| | | "use strict"; |
| | | (function (DependencySourceType) { |
| | | DependencySourceType[DependencySourceType["Undefined"] = 0] = "Undefined"; |
| | | DependencySourceType[DependencySourceType["Aic"] = 1] = "Aic"; |
| | | DependencySourceType[DependencySourceType["Apmc"] = 2] = "Apmc"; |
| | | })(AI.DependencySourceType || (AI.DependencySourceType = {})); |
| | | var DependencySourceType = AI.DependencySourceType; |
| | | })(AI || (AI = {})); |
| | | /// <reference path="Domain.ts" /> |
| | | /// <reference path="DataPointType.ts" /> |
| | | /// <reference path="DependencyKind.ts" /> |
| | | /// <reference path="DependencySourceType.ts" /> |
| | | var AI; |
| | | (function (AI) { |
| | | "use strict"; |
| | | var RemoteDependencyData = (function (_super) { |
| | | __extends(RemoteDependencyData, _super); |
| | | function RemoteDependencyData() { |
| | | this.ver = 2; |
| | | this.kind = AI.DataPointType.Aggregation; |
| | | this.dependencyKind = AI.DependencyKind.Other; |
| | | this.success = true; |
| | | this.dependencySource = AI.DependencySourceType.Apmc; |
| | | this.properties = {}; |
| | | _super.call(this); |
| | | } |
| | | return RemoteDependencyData; |
| | | })(Microsoft.Telemetry.Domain); |
| | | AI.RemoteDependencyData = RemoteDependencyData; |
| | | })(AI || (AI = {})); |
| | | /// <reference path="../Contracts/Generated/PageViewData.ts" /> |
| | | /// <reference path="./Common/DataSanitizer.ts"/> |
| | | /// <reference path="../Contracts/Generated/RemoteDependencyData.ts"/> |
| | | var Microsoft; |
| | | (function (Microsoft) { |
| | | var ApplicationInsights; |
| | | (function (ApplicationInsights) { |
| | | var Telemetry; |
| | | (function (Telemetry) { |
| | | "use strict"; |
| | | var RemoteDependencyData = (function (_super) { |
| | | __extends(RemoteDependencyData, _super); |
| | | function RemoteDependencyData(id, name, commandName, value, success, resultCode) { |
| | | _super.call(this); |
| | | this.aiDataContract = { |
| | | id: ApplicationInsights.FieldType.Required, |
| | | ver: ApplicationInsights.FieldType.Required, |
| | | name: ApplicationInsights.FieldType.Default, |
| | | kind: ApplicationInsights.FieldType.Required, |
| | | value: ApplicationInsights.FieldType.Default, |
| | | count: ApplicationInsights.FieldType.Default, |
| | | min: ApplicationInsights.FieldType.Default, |
| | | max: ApplicationInsights.FieldType.Default, |
| | | stdDev: ApplicationInsights.FieldType.Default, |
| | | dependencyKind: ApplicationInsights.FieldType.Default, |
| | | success: ApplicationInsights.FieldType.Default, |
| | | async: ApplicationInsights.FieldType.Default, |
| | | dependencySource: ApplicationInsights.FieldType.Default, |
| | | commandName: ApplicationInsights.FieldType.Default, |
| | | dependencyTypeName: ApplicationInsights.FieldType.Default, |
| | | properties: ApplicationInsights.FieldType.Default, |
| | | resultCode: ApplicationInsights.FieldType.Default |
| | | }; |
| | | this.id = id; |
| | | this.name = name; |
| | | this.commandName = commandName; |
| | | this.value = value; |
| | | this.success = success; |
| | | this.resultCode = resultCode + ""; |
| | | this.dependencyKind = AI.DependencyKind.Http; |
| | | this.dependencyTypeName = "Ajax"; |
| | | } |
| | | RemoteDependencyData.envelopeType = "Microsoft.ApplicationInsights.{0}.RemoteDependency"; |
| | | RemoteDependencyData.dataType = "RemoteDependencyData"; |
| | | return RemoteDependencyData; |
| | | })(AI.RemoteDependencyData); |
| | | Telemetry.RemoteDependencyData = RemoteDependencyData; |
| | | })(Telemetry = ApplicationInsights.Telemetry || (ApplicationInsights.Telemetry = {})); |
| | | })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {})); |
| | | })(Microsoft || (Microsoft = {})); |
| | | /// <reference path="telemetrycontext.ts" /> |
| | | /// <reference path="./Telemetry/Common/Data.ts"/> |
| | | /// <reference path="./Util.ts"/> |
| | | /// <reference path="./Contracts/Generated/SessionState.ts"/> |
| | | /// <reference path="./Telemetry/PageViewManager.ts"/> |
| | | /// <reference path="./Telemetry/PageVisitTimeManager.ts"/> |
| | | /// <reference path="./Telemetry/RemoteDependencyData.ts"/> |
| | | /// <reference path="./ajax/ajax.ts"/> |
| | | /// <reference path="./DataLossAnalyzer.ts"/> |
| | | /// <reference path="./SplitTest.ts"/> |
| | | var Microsoft; |
| | | (function (Microsoft) { |
| | | var ApplicationInsights; |
| | | (function (ApplicationInsights) { |
| | | "use strict"; |
| | | ApplicationInsights.Version = "0.22.9"; |
| | | var AppInsights = (function () { |
| | | function AppInsights(config) { |
| | | var _this = this; |
| | | this._trackAjaxAttempts = 0; |
| | | this.config = config || {}; |
| | | var defaults = AppInsights.defaultConfig; |
| | | if (defaults !== undefined) { |
| | | for (var field in defaults) { |
| | | if (this.config[field] === undefined) { |
| | | this.config[field] = defaults[field]; |
| | | } |
| | | } |
| | | } |
| | | ApplicationInsights._InternalLogging.verboseLogging = function () { return _this.config.verboseLogging; }; |
| | | ApplicationInsights._InternalLogging.enableDebugExceptions = function () { return _this.config.enableDebug; }; |
| | | var configGetters = { |
| | | instrumentationKey: function () { return _this.config.instrumentationKey; }, |
| | | accountId: function () { return _this.config.accountId; }, |
| | | sessionRenewalMs: function () { return _this.config.sessionRenewalMs; }, |
| | | sessionExpirationMs: function () { return _this.config.sessionExpirationMs; }, |
| | | endpointUrl: function () { return _this.config.endpointUrl; }, |
| | | emitLineDelimitedJson: function () { return _this.config.emitLineDelimitedJson; }, |
| | | maxBatchSizeInBytes: function () { return _this.config.maxBatchSizeInBytes; }, |
| | | maxBatchInterval: function () { return _this.config.maxBatchInterval; }, |
| | | disableTelemetry: function () { return _this.config.disableTelemetry; }, |
| | | sampleRate: function () { return _this.config.samplingPercentage; }, |
| | | cookieDomain: function () { return _this.config.cookieDomain; } |
| | | }; |
| | | this.context = new ApplicationInsights.TelemetryContext(configGetters); |
| | | this._pageViewManager = new Microsoft.ApplicationInsights.Telemetry.PageViewManager(this, this.config.overridePageViewDuration); |
| | | this._eventTracking = new Timing("trackEvent"); |
| | | this._eventTracking.action = function (name, url, duration, properties, measurements) { |
| | | if (!measurements) { |
| | | measurements = { duration: duration }; |
| | | } |
| | | else { |
| | | if (isNaN(measurements["duration"])) { |
| | | measurements["duration"] = duration; |
| | | } |
| | | } |
| | | var event = new ApplicationInsights.Telemetry.Event(name, properties, measurements); |
| | | var data = new ApplicationInsights.Telemetry.Common.Data(ApplicationInsights.Telemetry.Event.dataType, event); |
| | | var envelope = new ApplicationInsights.Telemetry.Common.Envelope(data, ApplicationInsights.Telemetry.Event.envelopeType); |
| | | _this.context.track(envelope); |
| | | }; |
| | | this._pageTracking = new Timing("trackPageView"); |
| | | this._pageTracking.action = function (name, url, duration, properties, measurements) { |
| | | _this.sendPageViewInternal(name, url, duration, properties, measurements); |
| | | }; |
| | | this._pageVisitTimeManager = new ApplicationInsights.Telemetry.PageVisitTimeManager(function (pageName, pageUrl, pageVisitTime) { return _this.trackPageVisitTime(pageName, pageUrl, pageVisitTime); }); |
| | | if (!this.config.disableAjaxTracking) { |
| | | new Microsoft.ApplicationInsights.AjaxMonitor(this); |
| | | } |
| | | } |
| | | AppInsights.prototype.sendPageViewInternal = function (name, url, duration, properties, measurements) { |
| | | var pageView = new ApplicationInsights.Telemetry.PageView(name, url, duration, properties, measurements); |
| | | var data = new ApplicationInsights.Telemetry.Common.Data(ApplicationInsights.Telemetry.PageView.dataType, pageView); |
| | | var envelope = new ApplicationInsights.Telemetry.Common.Envelope(data, ApplicationInsights.Telemetry.PageView.envelopeType); |
| | | this.context.track(envelope); |
| | | this._trackAjaxAttempts = 0; |
| | | }; |
| | | AppInsights.prototype.sendPageViewPerformanceInternal = function (pageViewPerformance) { |
| | | var pageViewPerformanceData = new ApplicationInsights.Telemetry.Common.Data(ApplicationInsights.Telemetry.PageViewPerformance.dataType, pageViewPerformance); |
| | | var pageViewPerformanceEnvelope = new ApplicationInsights.Telemetry.Common.Envelope(pageViewPerformanceData, ApplicationInsights.Telemetry.PageViewPerformance.envelopeType); |
| | | this.context.track(pageViewPerformanceEnvelope); |
| | | }; |
| | | AppInsights.prototype.startTrackPage = function (name) { |
| | | try { |
| | | if (typeof name !== "string") { |
| | | name = window.document && window.document.title || ""; |
| | | } |
| | | this._pageTracking.start(name); |
| | | } |
| | | catch (e) { |
| | | ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_StartTrackFailed, "startTrackPage failed, page view may not be collected: " + ApplicationInsights.Util.getExceptionName(e), { exception: ApplicationInsights.Util.dump(e) })); |
| | | } |
| | | }; |
| | | AppInsights.prototype.stopTrackPage = function (name, url, properties, measurements) { |
| | | try { |
| | | if (typeof name !== "string") { |
| | | name = window.document && window.document.title || ""; |
| | | } |
| | | if (typeof url !== "string") { |
| | | url = window.location && window.location.href || ""; |
| | | } |
| | | this._pageTracking.stop(name, url, properties, measurements); |
| | | if (this.config.autoTrackPageVisitTime) { |
| | | this._pageVisitTimeManager.trackPreviousPageVisit(name, url); |
| | | } |
| | | } |
| | | catch (e) { |
| | | ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_StopTrackFailed, "stopTrackPage failed, page view will not be collected: " + ApplicationInsights.Util.getExceptionName(e), { exception: ApplicationInsights.Util.dump(e) })); |
| | | } |
| | | }; |
| | | AppInsights.prototype.trackPageView = function (name, url, properties, measurements, duration) { |
| | | try { |
| | | this._pageViewManager.trackPageView(name, url, properties, measurements, duration); |
| | | if (this.config.autoTrackPageVisitTime) { |
| | | this._pageVisitTimeManager.trackPreviousPageVisit(name, url); |
| | | } |
| | | } |
| | | catch (e) { |
| | | ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_TrackPVFailed, "trackPageView failed, page view will not be collected: " + ApplicationInsights.Util.getExceptionName(e), { exception: ApplicationInsights.Util.dump(e) })); |
| | | } |
| | | }; |
| | | AppInsights.prototype.startTrackEvent = function (name) { |
| | | try { |
| | | this._eventTracking.start(name); |
| | | } |
| | | catch (e) { |
| | | ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_StartTrackEventFailed, "startTrackEvent failed, event will not be collected: " + ApplicationInsights.Util.getExceptionName(e), { exception: ApplicationInsights.Util.dump(e) })); |
| | | } |
| | | }; |
| | | AppInsights.prototype.stopTrackEvent = function (name, properties, measurements) { |
| | | try { |
| | | this._eventTracking.stop(name, undefined, properties, measurements); |
| | | } |
| | | catch (e) { |
| | | ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_StopTrackEventFailed, "stopTrackEvent failed, event will not be collected: " + ApplicationInsights.Util.getExceptionName(e), { exception: ApplicationInsights.Util.dump(e) })); |
| | | } |
| | | }; |
| | | AppInsights.prototype.trackEvent = function (name, properties, measurements) { |
| | | try { |
| | | var eventTelemetry = new ApplicationInsights.Telemetry.Event(name, properties, measurements); |
| | | var data = new ApplicationInsights.Telemetry.Common.Data(ApplicationInsights.Telemetry.Event.dataType, eventTelemetry); |
| | | var envelope = new ApplicationInsights.Telemetry.Common.Envelope(data, ApplicationInsights.Telemetry.Event.envelopeType); |
| | | this.context.track(envelope); |
| | | } |
| | | catch (e) { |
| | | ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_TrackEventFailed, "trackEvent failed, event will not be collected: " + ApplicationInsights.Util.getExceptionName(e), { exception: ApplicationInsights.Util.dump(e) })); |
| | | } |
| | | }; |
| | | AppInsights.prototype.trackAjax = function (id, absoluteUrl, pathName, totalTime, success, resultCode) { |
| | | if (this.config.maxAjaxCallsPerView === -1 || |
| | | this._trackAjaxAttempts < this.config.maxAjaxCallsPerView) { |
| | | var dependency = new ApplicationInsights.Telemetry.RemoteDependencyData(id, absoluteUrl, pathName, totalTime, success, resultCode); |
| | | var dependencyData = new ApplicationInsights.Telemetry.Common.Data(ApplicationInsights.Telemetry.RemoteDependencyData.dataType, dependency); |
| | | var envelope = new ApplicationInsights.Telemetry.Common.Envelope(dependencyData, ApplicationInsights.Telemetry.RemoteDependencyData.envelopeType); |
| | | this.context.track(envelope); |
| | | } |
| | | else if (this._trackAjaxAttempts === this.config.maxAjaxCallsPerView) { |
| | | ApplicationInsights._InternalLogging.throwInternalUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.USRACT_MaxAjaxPerPVExceeded, "Maximum ajax per page view limit reached, ajax monitoring is paused until the next trackPageView(). In order to increase the limit set the maxAjaxCallsPerView configuration parameter.")); |
| | | } |
| | | ++this._trackAjaxAttempts; |
| | | }; |
| | | AppInsights.prototype.trackException = function (exception, handledAt, properties, measurements) { |
| | | try { |
| | | if (!ApplicationInsights.Util.isError(exception)) { |
| | | try { |
| | | throw new Error(exception); |
| | | } |
| | | catch (error) { |
| | | exception = error; |
| | | } |
| | | } |
| | | var exceptionTelemetry = new ApplicationInsights.Telemetry.Exception(exception, handledAt, properties, measurements); |
| | | var data = new ApplicationInsights.Telemetry.Common.Data(ApplicationInsights.Telemetry.Exception.dataType, exceptionTelemetry); |
| | | var envelope = new ApplicationInsights.Telemetry.Common.Envelope(data, ApplicationInsights.Telemetry.Exception.envelopeType); |
| | | this.context.track(envelope); |
| | | } |
| | | catch (e) { |
| | | ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_TrackExceptionFailed, "trackException failed, exception will not be collected: " + ApplicationInsights.Util.getExceptionName(e), { exception: ApplicationInsights.Util.dump(e) })); |
| | | } |
| | | }; |
| | | AppInsights.prototype.trackMetric = function (name, average, sampleCount, min, max, properties) { |
| | | try { |
| | | var telemetry = new ApplicationInsights.Telemetry.Metric(name, average, sampleCount, min, max, properties); |
| | | var data = new ApplicationInsights.Telemetry.Common.Data(ApplicationInsights.Telemetry.Metric.dataType, telemetry); |
| | | var envelope = new ApplicationInsights.Telemetry.Common.Envelope(data, ApplicationInsights.Telemetry.Metric.envelopeType); |
| | | this.context.track(envelope); |
| | | } |
| | | catch (e) { |
| | | ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_TrackMetricFailed, "trackMetric failed, metric will not be collected: " + ApplicationInsights.Util.getExceptionName(e), { exception: ApplicationInsights.Util.dump(e) })); |
| | | } |
| | | }; |
| | | AppInsights.prototype.trackTrace = function (message, properties) { |
| | | try { |
| | | var telemetry = new ApplicationInsights.Telemetry.Trace(message, properties); |
| | | var data = new ApplicationInsights.Telemetry.Common.Data(ApplicationInsights.Telemetry.Trace.dataType, telemetry); |
| | | var envelope = new ApplicationInsights.Telemetry.Common.Envelope(data, ApplicationInsights.Telemetry.Trace.envelopeType); |
| | | this.context.track(envelope); |
| | | } |
| | | catch (e) { |
| | | ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.WARNING, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_TrackTraceFailed, "trackTrace failed, trace will not be collected: " + ApplicationInsights.Util.getExceptionName(e), { exception: ApplicationInsights.Util.dump(e) })); |
| | | } |
| | | }; |
| | | AppInsights.prototype.trackPageVisitTime = function (pageName, pageUrl, pageVisitTime) { |
| | | var properties = { PageName: pageName, PageUrl: pageUrl }; |
| | | this.trackMetric("PageVisitTime", pageVisitTime, 1, pageVisitTime, pageVisitTime, properties); |
| | | }; |
| | | AppInsights.prototype.flush = function () { |
| | | try { |
| | | this.context._sender.triggerSend(); |
| | | } |
| | | catch (e) { |
| | | ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_FlushFailed, "flush failed, telemetry will not be collected: " + ApplicationInsights.Util.getExceptionName(e), { exception: ApplicationInsights.Util.dump(e) })); |
| | | } |
| | | }; |
| | | AppInsights.prototype.setAuthenticatedUserContext = function (authenticatedUserId, accountId) { |
| | | try { |
| | | this.context.user.setAuthenticatedUserContext(authenticatedUserId, accountId); |
| | | } |
| | | catch (e) { |
| | | ApplicationInsights._InternalLogging.throwInternalUserActionable(ApplicationInsights.LoggingSeverity.WARNING, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.USRACT_SetAuthContextFailed, "Setting auth user context failed. " + ApplicationInsights.Util.getExceptionName(e), { exception: ApplicationInsights.Util.dump(e) })); |
| | | } |
| | | }; |
| | | AppInsights.prototype.clearAuthenticatedUserContext = function () { |
| | | try { |
| | | this.context.user.clearAuthenticatedUserContext(); |
| | | } |
| | | catch (e) { |
| | | ApplicationInsights._InternalLogging.throwInternalUserActionable(ApplicationInsights.LoggingSeverity.WARNING, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.USRACT_SetAuthContextFailed, "Clearing auth user context failed. " + ApplicationInsights.Util.getExceptionName(e), { exception: ApplicationInsights.Util.dump(e) })); |
| | | } |
| | | }; |
| | | AppInsights.prototype.SendCORSException = function (properties) { |
| | | var exceptionData = Microsoft.ApplicationInsights.Telemetry.Exception.CreateSimpleException("Script error.", "Error", "unknown", "unknown", "The browser’s same-origin policy prevents us from getting the details of this exception.The exception occurred in a script loaded from an origin different than the web page.For cross- domain error reporting you can use crossorigin attribute together with appropriate CORS HTTP headers.For more information please see http://www.w3.org/TR/cors/.", 0, null); |
| | | exceptionData.properties = properties; |
| | | var data = new ApplicationInsights.Telemetry.Common.Data(ApplicationInsights.Telemetry.Exception.dataType, exceptionData); |
| | | var envelope = new ApplicationInsights.Telemetry.Common.Envelope(data, ApplicationInsights.Telemetry.Exception.envelopeType); |
| | | this.context.track(envelope); |
| | | }; |
| | | AppInsights.prototype._onerror = function (message, url, lineNumber, columnNumber, error) { |
| | | try { |
| | | var properties = { url: url ? url : document.URL }; |
| | | if (ApplicationInsights.Util.isCrossOriginError(message, url, lineNumber, columnNumber, error)) { |
| | | this.SendCORSException(properties); |
| | | } |
| | | else { |
| | | if (!ApplicationInsights.Util.isError(error)) { |
| | | var stack = "window.onerror@" + properties.url + ":" + lineNumber + ":" + (columnNumber || 0); |
| | | error = new Error(message); |
| | | error["stack"] = stack; |
| | | } |
| | | this.trackException(error, null, properties); |
| | | } |
| | | } |
| | | catch (exception) { |
| | | var errorString = error ? (error.name + ", " + error.message) : "null"; |
| | | var exceptionDump = ApplicationInsights.Util.dump(exception); |
| | | ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_ExceptionWhileLoggingError, "_onerror threw exception while logging error, error will not be collected: " + ApplicationInsights.Util.getExceptionName(exception), { exception: exceptionDump, errorString: errorString })); |
| | | } |
| | | }; |
| | | return AppInsights; |
| | | })(); |
| | | ApplicationInsights.AppInsights = AppInsights; |
| | | var Timing = (function () { |
| | | function Timing(name) { |
| | | this._name = name; |
| | | this._events = {}; |
| | | } |
| | | Timing.prototype.start = function (name) { |
| | | if (typeof this._events[name] !== "undefined") { |
| | | ApplicationInsights._InternalLogging.throwInternalUserActionable(ApplicationInsights.LoggingSeverity.WARNING, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.USRACT_StartCalledMoreThanOnce, "start was called more than once for this event without calling stop.", { name: this._name, key: name })); |
| | | } |
| | | this._events[name] = +new Date; |
| | | }; |
| | | Timing.prototype.stop = function (name, url, properties, measurements) { |
| | | var start = this._events[name]; |
| | | if (isNaN(start)) { |
| | | ApplicationInsights._InternalLogging.throwInternalUserActionable(ApplicationInsights.LoggingSeverity.WARNING, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.USRACT_StopCalledWithoutStart, "stop was called without a corresponding start.", { name: this._name, key: name })); |
| | | } |
| | | else { |
| | | var end = +new Date; |
| | | var duration = ApplicationInsights.Telemetry.PageViewPerformance.getDuration(start, end); |
| | | this.action(name, url, duration, properties, measurements); |
| | | } |
| | | delete this._events[name]; |
| | | this._events[name] = undefined; |
| | | }; |
| | | return Timing; |
| | | })(); |
| | | })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {})); |
| | | })(Microsoft || (Microsoft = {})); |
| | | /// <reference path="PageViewData.ts" /> |
| | | var AI; |
| | | (function (AI) { |
| | | "use strict"; |
| | | var AjaxCallData = (function (_super) { |
| | | __extends(AjaxCallData, _super); |
| | | function AjaxCallData() { |
| | | this.ver = 2; |
| | | this.properties = {}; |
| | | this.measurements = {}; |
| | | _super.call(this); |
| | | } |
| | | return AjaxCallData; |
| | | })(AI.PageViewData); |
| | | AI.AjaxCallData = AjaxCallData; |
| | | })(AI || (AI = {})); |
| | | /// <reference path="Domain.ts" /> |
| | | var AI; |
| | | (function (AI) { |
| | | "use strict"; |
| | | var RequestData = (function (_super) { |
| | | __extends(RequestData, _super); |
| | | function RequestData() { |
| | | this.ver = 2; |
| | | this.properties = {}; |
| | | this.measurements = {}; |
| | | _super.call(this); |
| | | } |
| | | return RequestData; |
| | | })(Microsoft.Telemetry.Domain); |
| | | AI.RequestData = RequestData; |
| | | })(AI || (AI = {})); |
| | | /// <reference path="Domain.ts" /> |
| | | /// <reference path="SessionState.ts" /> |
| | | var AI; |
| | | (function (AI) { |
| | | "use strict"; |
| | | var SessionStateData = (function (_super) { |
| | | __extends(SessionStateData, _super); |
| | | function SessionStateData() { |
| | | this.ver = 2; |
| | | this.state = AI.SessionState.Start; |
| | | _super.call(this); |
| | | } |
| | | return SessionStateData; |
| | | })(Microsoft.Telemetry.Domain); |
| | | AI.SessionStateData = SessionStateData; |
| | | })(AI || (AI = {})); |
| | | /// <reference path="appinsights.ts" /> |
| | | var Microsoft; |
| | | (function (Microsoft) { |
| | | var ApplicationInsights; |
| | | (function (ApplicationInsights) { |
| | | "use strict"; |
| | | var Initialization = (function () { |
| | | function Initialization(snippet) { |
| | | snippet.queue = snippet.queue || []; |
| | | var config = snippet.config || {}; |
| | | if (config && !config.instrumentationKey) { |
| | | config = snippet; |
| | | if (config["iKey"]) { |
| | | Microsoft.ApplicationInsights.Version = "0.10.0.0"; |
| | | config.instrumentationKey = config["iKey"]; |
| | | } |
| | | else if (config["applicationInsightsId"]) { |
| | | Microsoft.ApplicationInsights.Version = "0.7.2.0"; |
| | | config.instrumentationKey = config["applicationInsightsId"]; |
| | | } |
| | | else { |
| | | throw new Error("Cannot load Application Insights SDK, no instrumentationKey was provided."); |
| | | } |
| | | } |
| | | config = Initialization.getDefaultConfig(config); |
| | | this.snippet = snippet; |
| | | this.config = config; |
| | | } |
| | | Initialization.prototype.loadAppInsights = function () { |
| | | var appInsights = new Microsoft.ApplicationInsights.AppInsights(this.config); |
| | | if (this.config["iKey"]) { |
| | | var originalTrackPageView = appInsights.trackPageView; |
| | | appInsights.trackPageView = function (pagePath, properties, measurements) { |
| | | originalTrackPageView.apply(appInsights, [null, pagePath, properties, measurements]); |
| | | }; |
| | | } |
| | | var legacyPageView = "logPageView"; |
| | | if (typeof this.snippet[legacyPageView] === "function") { |
| | | appInsights[legacyPageView] = function (pagePath, properties, measurements) { |
| | | appInsights.trackPageView(null, pagePath, properties, measurements); |
| | | }; |
| | | } |
| | | var legacyEvent = "logEvent"; |
| | | if (typeof this.snippet[legacyEvent] === "function") { |
| | | appInsights[legacyEvent] = function (name, properties, measurements) { |
| | | appInsights.trackEvent(name, properties, measurements); |
| | | }; |
| | | } |
| | | return appInsights; |
| | | }; |
| | | Initialization.prototype.emptyQueue = function () { |
| | | try { |
| | | if (Microsoft.ApplicationInsights.Util.isArray(this.snippet.queue)) { |
| | | var length = this.snippet.queue.length; |
| | | for (var i = 0; i < length; i++) { |
| | | var call = this.snippet.queue[i]; |
| | | call(); |
| | | } |
| | | this.snippet.queue = undefined; |
| | | delete this.snippet.queue; |
| | | } |
| | | } |
| | | catch (exception) { |
| | | var properties = {}; |
| | | if (exception && typeof exception.toString === "function") { |
| | | properties.exception = exception.toString(); |
| | | } |
| | | var message = new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_FailedToSendQueuedTelemetry, "Failed to send queued telemetry", properties); |
| | | Microsoft.ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.WARNING, message); |
| | | } |
| | | }; |
| | | Initialization.prototype.pollInteralLogs = function (appInsightsInstance) { |
| | | return setInterval(function () { |
| | | var queue = Microsoft.ApplicationInsights._InternalLogging.queue; |
| | | var length = queue.length; |
| | | for (var i = 0; i < length; i++) { |
| | | appInsightsInstance.trackTrace(queue[i].message); |
| | | } |
| | | queue.length = 0; |
| | | }, this.config.diagnosticLogInterval); |
| | | }; |
| | | Initialization.prototype.addHousekeepingBeforeUnload = function (appInsightsInstance) { |
| | | // Add callback to push events when the user navigates away |
| | | if (!appInsightsInstance.config.disableFlushOnBeforeUnload && ('onbeforeunload' in window)) { |
| | | var performHousekeeping = function () { |
| | | appInsightsInstance.context._sender.triggerSend(); |
| | | appInsightsInstance.context._sessionManager.backup(); |
| | | }; |
| | | if (!Microsoft.ApplicationInsights.Util.addEventHandler('beforeunload', performHousekeeping)) { |
| | | Microsoft.ApplicationInsights._InternalLogging.throwInternalNonUserActionable(Microsoft.ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_FailedToAddHandlerForOnBeforeUnload, 'Could not add handler for beforeunload')); |
| | | } |
| | | } |
| | | }; |
| | | Initialization.getDefaultConfig = function (config) { |
| | | if (!config) { |
| | | config = {}; |
| | | } |
| | | config.endpointUrl = config.endpointUrl || "//dc.services.visualstudio.com/v2/track"; |
| | | config.sessionRenewalMs = 30 * 60 * 1000; |
| | | config.sessionExpirationMs = 24 * 60 * 60 * 1000; |
| | | config.maxBatchSizeInBytes = config.maxBatchSizeInBytes > 0 ? config.maxBatchSizeInBytes : 1000000; |
| | | config.maxBatchInterval = !isNaN(config.maxBatchInterval) ? config.maxBatchInterval : 15000; |
| | | config.enableDebug = ApplicationInsights.Util.stringToBoolOrDefault(config.enableDebug); |
| | | config.disableExceptionTracking = (config.disableExceptionTracking !== undefined && config.disableExceptionTracking !== null) ? |
| | | ApplicationInsights.Util.stringToBoolOrDefault(config.disableExceptionTracking) : |
| | | false; |
| | | config.disableTelemetry = ApplicationInsights.Util.stringToBoolOrDefault(config.disableTelemetry); |
| | | config.verboseLogging = ApplicationInsights.Util.stringToBoolOrDefault(config.verboseLogging); |
| | | config.emitLineDelimitedJson = ApplicationInsights.Util.stringToBoolOrDefault(config.emitLineDelimitedJson); |
| | | config.diagnosticLogInterval = config.diagnosticLogInterval || 10000; |
| | | config.autoTrackPageVisitTime = ApplicationInsights.Util.stringToBoolOrDefault(config.autoTrackPageVisitTime); |
| | | if (isNaN(config.samplingPercentage) || config.samplingPercentage <= 0 || config.samplingPercentage >= 100) { |
| | | config.samplingPercentage = 100; |
| | | } |
| | | config.disableAjaxTracking = (config.disableAjaxTracking !== undefined && config.disableAjaxTracking !== null) ? |
| | | ApplicationInsights.Util.stringToBoolOrDefault(config.disableAjaxTracking) : |
| | | false; |
| | | config.maxAjaxCallsPerView = !isNaN(config.maxAjaxCallsPerView) ? config.maxAjaxCallsPerView : 500; |
| | | config.disableCorrelationHeaders = (config.disableCorrelationHeaders !== undefined && config.disableCorrelationHeaders !== null) ? |
| | | ApplicationInsights.Util.stringToBoolOrDefault(config.disableCorrelationHeaders) : |
| | | true; |
| | | config.disableFlushOnBeforeUnload = (config.disableFlushOnBeforeUnload !== undefined && config.disableFlushOnBeforeUnload !== null) ? |
| | | ApplicationInsights.Util.stringToBoolOrDefault(config.disableFlushOnBeforeUnload) : |
| | | false; |
| | | return config; |
| | | }; |
| | | return Initialization; |
| | | })(); |
| | | ApplicationInsights.Initialization = Initialization; |
| | | })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {})); |
| | | })(Microsoft || (Microsoft = {})); |
| | | /// <reference path="initialization.ts" /> |
| | | var Microsoft; |
| | | (function (Microsoft) { |
| | | var ApplicationInsights; |
| | | (function (ApplicationInsights) { |
| | | "use strict"; |
| | | try { |
| | | if (typeof window !== "undefined" && typeof JSON !== "undefined") { |
| | | var aiName = "appInsights"; |
| | | if (window[aiName] === undefined) { |
| | | Microsoft.ApplicationInsights.AppInsights.defaultConfig = Microsoft.ApplicationInsights.Initialization.getDefaultConfig(); |
| | | } |
| | | else { |
| | | var snippet = window[aiName] || {}; |
| | | var init = new Microsoft.ApplicationInsights.Initialization(snippet); |
| | | var appInsightsLocal = init.loadAppInsights(); |
| | | for (var field in appInsightsLocal) { |
| | | snippet[field] = appInsightsLocal[field]; |
| | | } |
| | | init.emptyQueue(); |
| | | init.pollInteralLogs(appInsightsLocal); |
| | | init.addHousekeepingBeforeUnload(appInsightsLocal); |
| | | } |
| | | } |
| | | } |
| | | catch (e) { |
| | | Microsoft.ApplicationInsights._InternalLogging.warnToConsole('Failed to initialize AppInsights JS SDK: ' + e.message); |
| | | } |
| | | })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {})); |
| | | })(Microsoft || (Microsoft = {})); |
| New file |
| | |
| | | var __extends,AI,Microsoft;(function(n){var t;(function(n){var r,t,i,u;(function(n){n[n.CRITICAL=0]="CRITICAL";n[n.WARNING=1]="WARNING"})(n.LoggingSeverity||(n.LoggingSeverity={}));r=n.LoggingSeverity,function(n){n[n.NONUSRACT_BrowserDoesNotSupportLocalStorage=0]="NONUSRACT_BrowserDoesNotSupportLocalStorage";n[n.NONUSRACT_BrowserCannotReadLocalStorage=1]="NONUSRACT_BrowserCannotReadLocalStorage";n[n.NONUSRACT_BrowserCannotReadSessionStorage=2]="NONUSRACT_BrowserCannotReadSessionStorage";n[n.NONUSRACT_BrowserCannotWriteLocalStorage=3]="NONUSRACT_BrowserCannotWriteLocalStorage";n[n.NONUSRACT_BrowserCannotWriteSessionStorage=4]="NONUSRACT_BrowserCannotWriteSessionStorage";n[n.NONUSRACT_BrowserFailedRemovalFromLocalStorage=5]="NONUSRACT_BrowserFailedRemovalFromLocalStorage";n[n.NONUSRACT_BrowserFailedRemovalFromSessionStorage=6]="NONUSRACT_BrowserFailedRemovalFromSessionStorage";n[n.NONUSRACT_CannotSendEmptyTelemetry=7]="NONUSRACT_CannotSendEmptyTelemetry";n[n.NONUSRACT_ClientPerformanceMathError=8]="NONUSRACT_ClientPerformanceMathError";n[n.NONUSRACT_ErrorParsingAISessionCookie=9]="NONUSRACT_ErrorParsingAISessionCookie";n[n.NONUSRACT_ErrorPVCalc=10]="NONUSRACT_ErrorPVCalc";n[n.NONUSRACT_ExceptionWhileLoggingError=11]="NONUSRACT_ExceptionWhileLoggingError";n[n.NONUSRACT_FailedAddingTelemetryToBuffer=12]="NONUSRACT_FailedAddingTelemetryToBuffer";n[n.NONUSRACT_FailedMonitorAjaxAbort=13]="NONUSRACT_FailedMonitorAjaxAbort";n[n.NONUSRACT_FailedMonitorAjaxDur=14]="NONUSRACT_FailedMonitorAjaxDur";n[n.NONUSRACT_FailedMonitorAjaxOpen=15]="NONUSRACT_FailedMonitorAjaxOpen";n[n.NONUSRACT_FailedMonitorAjaxRSC=16]="NONUSRACT_FailedMonitorAjaxRSC";n[n.NONUSRACT_FailedMonitorAjaxSend=17]="NONUSRACT_FailedMonitorAjaxSend";n[n.NONUSRACT_FailedToAddHandlerForOnBeforeUnload=18]="NONUSRACT_FailedToAddHandlerForOnBeforeUnload";n[n.NONUSRACT_FailedToSendQueuedTelemetry=19]="NONUSRACT_FailedToSendQueuedTelemetry";n[n.NONUSRACT_FailedToReportDataLoss=20]="NONUSRACT_FailedToReportDataLoss";n[n.NONUSRACT_FlushFailed=21]="NONUSRACT_FlushFailed";n[n.NONUSRACT_MessageLimitPerPVExceeded=22]="NONUSRACT_MessageLimitPerPVExceeded";n[n.NONUSRACT_MissingRequiredFieldSpecification=23]="NONUSRACT_MissingRequiredFieldSpecification";n[n.NONUSRACT_NavigationTimingNotSupported=24]="NONUSRACT_NavigationTimingNotSupported";n[n.NONUSRACT_OnError=25]="NONUSRACT_OnError";n[n.NONUSRACT_SessionRenewalDateIsZero=26]="NONUSRACT_SessionRenewalDateIsZero";n[n.NONUSRACT_SenderNotInitialized=27]="NONUSRACT_SenderNotInitialized";n[n.NONUSRACT_StartTrackEventFailed=28]="NONUSRACT_StartTrackEventFailed";n[n.NONUSRACT_StopTrackEventFailed=29]="NONUSRACT_StopTrackEventFailed";n[n.NONUSRACT_StartTrackFailed=30]="NONUSRACT_StartTrackFailed";n[n.NONUSRACT_StopTrackFailed=31]="NONUSRACT_StopTrackFailed";n[n.NONUSRACT_TelemetrySampledAndNotSent=32]="NONUSRACT_TelemetrySampledAndNotSent";n[n.NONUSRACT_TrackEventFailed=33]="NONUSRACT_TrackEventFailed";n[n.NONUSRACT_TrackExceptionFailed=34]="NONUSRACT_TrackExceptionFailed";n[n.NONUSRACT_TrackMetricFailed=35]="NONUSRACT_TrackMetricFailed";n[n.NONUSRACT_TrackPVFailed=36]="NONUSRACT_TrackPVFailed";n[n.NONUSRACT_TrackPVFailedCalc=37]="NONUSRACT_TrackPVFailedCalc";n[n.NONUSRACT_TrackTraceFailed=38]="NONUSRACT_TrackTraceFailed";n[n.NONUSRACT_TransmissionFailed=39]="NONUSRACT_TransmissionFailed";n[n.USRACT_CannotSerializeObject=40]="USRACT_CannotSerializeObject";n[n.USRACT_CannotSerializeObjectNonSerializable=41]="USRACT_CannotSerializeObjectNonSerializable";n[n.USRACT_CircularReferenceDetected=42]="USRACT_CircularReferenceDetected";n[n.USRACT_ClearAuthContextFailed=43]="USRACT_ClearAuthContextFailed";n[n.USRACT_ExceptionTruncated=44]="USRACT_ExceptionTruncated";n[n.USRACT_IllegalCharsInName=45]="USRACT_IllegalCharsInName";n[n.USRACT_ItemNotInArray=46]="USRACT_ItemNotInArray";n[n.USRACT_MaxAjaxPerPVExceeded=47]="USRACT_MaxAjaxPerPVExceeded";n[n.USRACT_MessageTruncated=48]="USRACT_MessageTruncated";n[n.USRACT_NameTooLong=49]="USRACT_NameTooLong";n[n.USRACT_SampleRateOutOfRange=50]="USRACT_SampleRateOutOfRange";n[n.USRACT_SetAuthContextFailed=51]="USRACT_SetAuthContextFailed";n[n.USRACT_SetAuthContextFailedAccountName=52]="USRACT_SetAuthContextFailedAccountName";n[n.USRACT_StringValueTooLong=53]="USRACT_StringValueTooLong";n[n.USRACT_StartCalledMoreThanOnce=54]="USRACT_StartCalledMoreThanOnce";n[n.USRACT_StopCalledWithoutStart=55]="USRACT_StopCalledWithoutStart";n[n.USRACT_TelemetryInitializerFailed=56]="USRACT_TelemetryInitializerFailed";n[n.USRACT_TrackArgumentsNotSpecified=57]="USRACT_TrackArgumentsNotSpecified";n[n.USRACT_UrlTooLong=58]="USRACT_UrlTooLong"}(n._InternalMessageId||(n._InternalMessageId={}));t=n._InternalMessageId;i=function(){function n(i,r,u){this.message=t[i].toString();this.messageId=i;var f=(r?" message:"+n.sanitizeDiagnosticText(r):"")+(u?" props:"+n.sanitizeDiagnosticText(JSON.stringify(u)):"");this.message+=f}return n.sanitizeDiagnosticText=function(n){return'"'+n.replace(/\"/g,"")+'"'},n}();n._InternalLogMessage=i;u=function(){function u(){}return u.throwInternalNonUserActionable=function(n,t){if(this.enableDebugExceptions())throw t;else typeof t=="undefined"||!t||typeof t.message!="undefined"&&(t.message=this.AiNonUserActionablePrefix+t.message,this.warnToConsole(t.message),this.logInternalMessage(n,t))},u.throwInternalUserActionable=function(n,t){if(this.enableDebugExceptions())throw t;else typeof t=="undefined"||!t||typeof t.message!="undefined"&&(t.message=this.AiUserActionablePrefix+t.message,this.warnToConsole(t.message),this.logInternalMessage(n,t))},u.warnToConsole=function(n){typeof console=="undefined"||!console||(typeof console.warn=="function"?console.warn(n):typeof console.log=="function"&&console.log(n))},u.resetInternalMessageCount=function(){this._messageCount=0},u.clearInternalMessageLoggedTypes=function(){var i,t;if(n.Util.canUseSessionStorage())for(i=n.Util.getSessionStorageKeys(),t=0;t<i.length;t++)i[t].indexOf(u.AIInternalMessagePrefix)===0&&n.Util.removeSessionStorage(i[t])},u.setMaxInternalMessageLimit=function(n){if(!n)throw new Error("limit cannot be undefined.");this.MAX_INTERNAL_MESSAGE_LIMIT=n},u.logInternalMessage=function(f,e){var o,s,c,h,l;this._areInternalMessagesThrottled()||(o=!0,n.Util.canUseSessionStorage()&&(s=u.AIInternalMessagePrefix+t[e.messageId],c=n.Util.getSessionStorage(s),c?o=!1:n.Util.setSessionStorage(s,"1")),o&&((this.verboseLogging()||f===r.CRITICAL)&&(this.queue.push(e),this._messageCount++),this._messageCount==this.MAX_INTERNAL_MESSAGE_LIMIT&&(h="Internal events throttle limit per PageView reached for this app.",l=new i(t.NONUSRACT_MessageLimitPerPVExceeded,h),this.queue.push(l),this.warnToConsole(h))))},u._areInternalMessagesThrottled=function(){return this._messageCount>=this.MAX_INTERNAL_MESSAGE_LIMIT},u.AiUserActionablePrefix="AI: ",u.AIInternalMessagePrefix="AITR_",u.AiNonUserActionablePrefix="AI (Internal): ",u.enableDebugExceptions=function(){return!1},u.verboseLogging=function(){return!1},u.queue=[],u.MAX_INTERNAL_MESSAGE_LIMIT=25,u._messageCount=0,u}();n._InternalLogging=u})(t=n.ApplicationInsights||(n.ApplicationInsights={}))})(Microsoft||(Microsoft={})),function(n){var t;(function(n){var t,i,r;(function(n){n[n.LocalStorage=0]="LocalStorage";n[n.SessionStorage=1]="SessionStorage"})(t||(t={}));i=function(){function i(){}return i._getLocalStorageObject=function(){return i._getVerifiedStorageObject(t.LocalStorage)},i._getVerifiedStorageObject=function(n){var i=null,u,r;try{r=new Date;i=n===t.LocalStorage?window.localStorage:window.sessionStorage;i.setItem(r,r);u=i.getItem(r)!=r;i.removeItem(r);u&&(i=null)}catch(f){i=null}return i},i.canUseLocalStorage=function(){return!!i._getLocalStorageObject()},i.getStorage=function(t){var r=i._getLocalStorageObject(),f;if(r!==null)try{return r.getItem(t)}catch(u){f=new n._InternalLogMessage(n._InternalMessageId.NONUSRACT_BrowserCannotReadLocalStorage,"Browser failed read of local storage. "+i.getExceptionName(u),{exception:i.dump(u)});n._InternalLogging.throwInternalNonUserActionable(n.LoggingSeverity.WARNING,f)}return null},i.setStorage=function(t,r){var u=i._getLocalStorageObject(),e;if(u!==null)try{return u.setItem(t,r),!0}catch(f){e=new n._InternalLogMessage(n._InternalMessageId.NONUSRACT_BrowserCannotWriteLocalStorage,"Browser failed write to local storage. "+i.getExceptionName(f),{exception:i.dump(f)});n._InternalLogging.throwInternalNonUserActionable(n.LoggingSeverity.WARNING,e)}return!1},i.removeStorage=function(t){var r=i._getLocalStorageObject(),f;if(r!==null)try{return r.removeItem(t),!0}catch(u){f=new n._InternalLogMessage(n._InternalMessageId.NONUSRACT_BrowserFailedRemovalFromLocalStorage,"Browser failed removal of local storage item. "+i.getExceptionName(u),{exception:i.dump(u)});n._InternalLogging.throwInternalNonUserActionable(n.LoggingSeverity.WARNING,f)}return!1},i._getSessionStorageObject=function(){return i._getVerifiedStorageObject(t.SessionStorage)},i.canUseSessionStorage=function(){return!!i._getSessionStorageObject()},i.getSessionStorageKeys=function(){var n=[],t;if(i.canUseSessionStorage())for(t in window.sessionStorage)n.push(t);return n},i.getSessionStorage=function(t){var r=i._getSessionStorageObject(),f;if(r!==null)try{return r.getItem(t)}catch(u){f=new n._InternalLogMessage(n._InternalMessageId.NONUSRACT_BrowserCannotReadSessionStorage,"Browser failed read of session storage. "+i.getExceptionName(u),{exception:i.dump(u)});n._InternalLogging.throwInternalNonUserActionable(n.LoggingSeverity.CRITICAL,f)}return null},i.setSessionStorage=function(t,r){var u=i._getSessionStorageObject(),e;if(u!==null)try{return u.setItem(t,r),!0}catch(f){e=new n._InternalLogMessage(n._InternalMessageId.NONUSRACT_BrowserCannotWriteSessionStorage,"Browser failed write to session storage. "+i.getExceptionName(f),{exception:i.dump(f)});n._InternalLogging.throwInternalNonUserActionable(n.LoggingSeverity.CRITICAL,e)}return!1},i.removeSessionStorage=function(t){var r=i._getSessionStorageObject(),f;if(r!==null)try{return r.removeItem(t),!0}catch(u){f=new n._InternalLogMessage(n._InternalMessageId.NONUSRACT_BrowserFailedRemovalFromSessionStorage,"Browser failed removal of session storage item. "+i.getExceptionName(u),{exception:i.dump(u)});n._InternalLogging.throwInternalNonUserActionable(n.LoggingSeverity.CRITICAL,f)}return!1},i.setCookie=function(n,t,r){var u="";r&&(u=";domain="+r);i.document.cookie=n+"="+t+u+";path=/"},i.stringToBoolOrDefault=function(n){return n?n.toString().toLowerCase()==="true":!1},i.getCookie=function(n){var e="",f,u,r,t;if(n&&n.length)for(f=n+"=",u=i.document.cookie.split(";"),r=0;r<u.length;r++)if(t=u[r],t=i.trim(t),t&&t.indexOf(f)===0){e=t.substring(f.length,u[r].length);break}return e},i.deleteCookie=function(n){i.document.cookie=n+"=;path=/;expires=Thu, 01 Jan 1970 00:00:01 GMT;"},i.trim=function(n){return typeof n!="string"?n:n.replace(/^\s+|\s+$/g,"")},i.newId=function(){for(var t="",n=Math.random()*1073741824,i;n>0;)i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(n%64),t+=i,n=Math.floor(n/64);return t},i.isArray=function(n){return Object.prototype.toString.call(n)==="[object Array]"},i.isError=function(n){return Object.prototype.toString.call(n)==="[object Error]"},i.isDate=function(n){return Object.prototype.toString.call(n)==="[object Date]"},i.toISOStringForIE8=function(n){if(i.isDate(n)){function t(n){var t=String(n);return t.length===1&&(t="0"+t),t}return Date.prototype.toISOString?n.toISOString():n.getUTCFullYear()+"-"+t(n.getUTCMonth()+1)+"-"+t(n.getUTCDate())+"T"+t(n.getUTCHours())+":"+t(n.getUTCMinutes())+":"+t(n.getUTCSeconds())+"."+String((n.getUTCMilliseconds()/1e3).toFixed(3)).slice(2,5)+"Z"}},i.getIEVersion=function(n){n===void 0&&(n=null);var t=n?n.toLowerCase():navigator.userAgent.toLowerCase();return t.indexOf("msie")!=-1?parseInt(t.split("msie")[1]):null},i.msToTimeSpan=function(n){(isNaN(n)||n<0)&&(n=0);var t=""+n%1e3,i=""+Math.floor(n/1e3)%60,r=""+Math.floor(n/6e4)%60,u=""+Math.floor(n/36e5)%24;return t=t.length===1?"00"+t:t.length===2?"0"+t:t,i=i.length<2?"0"+i:i,r=r.length<2?"0"+r:r,u=u.length<2?"0"+u:u,u+":"+r+":"+i+"."+t},i.isCrossOriginError=function(n,t,i,r,u){return(n==="Script error."||n==="Script error")&&u===null},i.dump=function(n){var t=Object.prototype.toString.call(n),i=JSON.stringify(n);return t==="[object Error]"&&(i="{ stack: '"+n.stack+"', message: '"+n.message+"', name: '"+n.name+"'"),t+i},i.getExceptionName=function(n){var t=Object.prototype.toString.call(n);return t==="[object Error]"?n.name:""},i.addEventHandler=function(n,t){if(!window||typeof n!="string"||typeof t!="function")return!1;var i="on"+n;if(window.addEventListener)window.addEventListener(n,t,!1);else if(window.attachEvent)window.attachEvent.call(i,t);else return!1;return!0},i.document=typeof document!="undefined"?document:{},i.NotSpecified="not_specified",i}();n.Util=i;r=function(){function n(){}return n.parseUrl=function(t){return n.htmlAnchorElement||(n.htmlAnchorElement=n.document.createElement("a")),n.htmlAnchorElement.href=t,n.htmlAnchorElement},n.getAbsoluteUrl=function(t){var i,r=n.parseUrl(t);return r&&(i=r.href),i},n.getPathName=function(t){var i,r=n.parseUrl(t);return r&&(i=r.pathname),i},n.document=typeof document!="undefined"?document:{},n}();n.UrlHelper=r})(t=n.ApplicationInsights||(n.ApplicationInsights={}))}(Microsoft||(Microsoft={})),function(n){var t;(function(n){"use strict";var t=function(){function n(){}return n.IsNullOrUndefined=function(n){return typeof n=="undefined"||n===null},n}(),i,r,u;n.extensions=t;i=function(){function n(){}return n.GetLength=function(n){var i=0,r;if(!t.IsNullOrUndefined(n)){r="";try{r=n.toString()}catch(u){}i=r.length;i=isNaN(i)?0:i}return i},n}();n.stringUtils=i;r=function(){function n(){}return n.Now=window.performance&&window.performance.now?function(){return performance.now()}:function(){return(new Date).getTime()},n.GetDuration=function(n,i){var r=null;return n===0||i===0||t.IsNullOrUndefined(n)||t.IsNullOrUndefined(i)||(r=i-n),r},n}();n.dateTime=r;u=function(){function n(){}return n.AttachEvent=function(n,i,r){var u=!1;return t.IsNullOrUndefined(n)||(t.IsNullOrUndefined(n.attachEvent)?t.IsNullOrUndefined(n.addEventListener)||(n.addEventListener(i,r,!1),u=!0):(n.attachEvent("on"+i,r),u=!0)),u},n.DetachEvent=function(n,i,r){t.IsNullOrUndefined(n)||(t.IsNullOrUndefined(n.detachEvent)?t.IsNullOrUndefined(n.removeEventListener)||n.removeEventListener(i,r,!1):n.detachEvent("on"+i,r))},n}();n.EventHelper=u})(t=n.ApplicationInsights||(n.ApplicationInsights={}))}(Microsoft||(Microsoft={})),function(n){var t;(function(n){"use strict";var t=function(){function n(){this.openDone=!1;this.setRequestHeaderDone=!1;this.sendDone=!1;this.abortDone=!1;this.onreadystatechangeCallbackAttached=!1}return n}(),i;n.XHRMonitoringState=t;i=function(){function i(i){this.completed=!1;this.requestHeadersSize=null;this.ttfb=null;this.responseReceivingDuration=null;this.callbackDuration=null;this.ajaxTotalDuration=null;this.aborted=null;this.pageUrl=null;this.requestUrl=null;this.requestSize=0;this.method=null;this.status=null;this.requestSentTime=null;this.responseStartedTime=null;this.responseFinishedTime=null;this.callbackFinishedTime=null;this.endTime=null;this.originalOnreadystatechage=null;this.xhrMonitoringState=new t;this.clientFailure=0;this.CalculateMetrics=function(){var t=this;t.ajaxTotalDuration=n.dateTime.GetDuration(t.requestSentTime,t.responseFinishedTime)};this.id=i}return i.prototype.getAbsoluteUrl=function(){return this.requestUrl?n.UrlHelper.getAbsoluteUrl(this.requestUrl):null},i.prototype.getPathName=function(){return this.requestUrl?n.UrlHelper.getPathName(this.requestUrl):null},i}();n.ajaxRecord=i})(t=n.ApplicationInsights||(n.ApplicationInsights={}))}(Microsoft||(Microsoft={})),function(n){var t;(function(t){"use strict";var i=function(){function i(n){this.currentWindowHost=window.location.host;this.appInsights=n;this.initialized=!1;this.Init()}return i.prototype.Init=function(){this.supportsMonitoring()&&(this.instrumentOpen(),this.instrumentSend(),this.instrumentAbort(),this.initialized=!0)},i.prototype.isMonitoredInstance=function(n,r){return this.initialized&&(r===!0||!t.extensions.IsNullOrUndefined(n.ajaxData))&&n[i.DisabledPropertyName]!==!0},i.prototype.supportsMonitoring=function(){var n=!1;return t.extensions.IsNullOrUndefined(XMLHttpRequest)||(n=!0),n},i.prototype.instrumentOpen=function(){var u=XMLHttpRequest.prototype.open,r=this;XMLHttpRequest.prototype.open=function(f,e,o){try{!r.isMonitoredInstance(this,!0)||this.ajaxData&&this.ajaxData.xhrMonitoringState.openDone||r.openHandler(this,f,e,o)}catch(s){t._InternalLogging.throwInternalNonUserActionable(t.LoggingSeverity.CRITICAL,new t._InternalLogMessage(t._InternalMessageId.NONUSRACT_FailedMonitorAjaxOpen,"Failed to monitor XMLHttpRequest.open, monitoring data for this ajax call may be incorrect.",{ajaxDiagnosticsMessage:i.getFailedAjaxDiagnosticsMessage(this),exception:n.ApplicationInsights.Util.dump(s)}))}return u.apply(this,arguments)}},i.prototype.openHandler=function(n,i,r){var u=new t.ajaxRecord(t.Util.newId());u.method=i;u.requestUrl=r;u.xhrMonitoringState.openDone=!0;n.ajaxData=u;this.attachToOnReadyStateChange(n)},i.getFailedAjaxDiagnosticsMessage=function(n){var i="";try{t.extensions.IsNullOrUndefined(n)||t.extensions.IsNullOrUndefined(n.ajaxData)||t.extensions.IsNullOrUndefined(n.ajaxData.requestUrl)||(i+="(url: '"+n.ajaxData.requestUrl+"')")}catch(r){}return i},i.prototype.instrumentSend=function(){var u=XMLHttpRequest.prototype.send,r=this;XMLHttpRequest.prototype.send=function(f){try{r.isMonitoredInstance(this)&&!this.ajaxData.xhrMonitoringState.sendDone&&r.sendHandler(this,f)}catch(e){t._InternalLogging.throwInternalNonUserActionable(t.LoggingSeverity.CRITICAL,new t._InternalLogMessage(t._InternalMessageId.NONUSRACT_FailedMonitorAjaxSend,"Failed to monitor XMLHttpRequest, monitoring data for this ajax call may be incorrect.",{ajaxDiagnosticsMessage:i.getFailedAjaxDiagnosticsMessage(this),exception:n.ApplicationInsights.Util.dump(e)}))}return u.apply(this,arguments)}},i.prototype.sendHandler=function(n){n.ajaxData.requestSentTime=t.dateTime.Now();this.appInsights.config.disableCorrelationHeaders||t.UrlHelper.parseUrl(n.ajaxData.getAbsoluteUrl()).host!=this.currentWindowHost||n.setRequestHeader("x-ms-request-id",n.ajaxData.id);n.ajaxData.xhrMonitoringState.sendDone=!0},i.prototype.instrumentAbort=function(){var r=XMLHttpRequest.prototype.abort,u=this;XMLHttpRequest.prototype.abort=function(){try{u.isMonitoredInstance(this)&&!this.ajaxData.xhrMonitoringState.abortDone&&(this.ajaxData.aborted=1,this.ajaxData.xhrMonitoringState.abortDone=!0)}catch(f){t._InternalLogging.throwInternalNonUserActionable(t.LoggingSeverity.CRITICAL,new t._InternalLogMessage(t._InternalMessageId.NONUSRACT_FailedMonitorAjaxAbort,"Failed to monitor XMLHttpRequest.abort, monitoring data for this ajax call may be incorrect.",{ajaxDiagnosticsMessage:i.getFailedAjaxDiagnosticsMessage(this),exception:n.ApplicationInsights.Util.dump(f)}))}return r.apply(this,arguments)}},i.prototype.attachToOnReadyStateChange=function(r){var u=this;r.ajaxData.xhrMonitoringState.onreadystatechangeCallbackAttached=t.EventHelper.AttachEvent(r,"readystatechange",function(){try{if(u.isMonitoredInstance(r)&&r.readyState===4)u.onAjaxComplete(r)}catch(f){var e=n.ApplicationInsights.Util.dump(f);e&&e.toLowerCase().indexOf("c00c023f")!=-1||t._InternalLogging.throwInternalNonUserActionable(t.LoggingSeverity.CRITICAL,new t._InternalLogMessage(t._InternalMessageId.NONUSRACT_FailedMonitorAjaxRSC,"Failed to monitor XMLHttpRequest 'readystatechange' event handler, monitoring data for this ajax call may be incorrect.",{ajaxDiagnosticsMessage:i.getFailedAjaxDiagnosticsMessage(r),exception:n.ApplicationInsights.Util.dump(f)}))}})},i.prototype.onAjaxComplete=function(n){n.ajaxData.responseFinishedTime=t.dateTime.Now();n.ajaxData.status=n.status;n.ajaxData.CalculateMetrics();n.ajaxData.ajaxTotalDuration<0?t._InternalLogging.throwInternalNonUserActionable(t.LoggingSeverity.WARNING,new t._InternalLogMessage(t._InternalMessageId.NONUSRACT_FailedMonitorAjaxDur,"Failed to calculate the duration of the ajax call, monitoring data for this ajax call won't be sent.",{ajaxDiagnosticsMessage:i.getFailedAjaxDiagnosticsMessage(n),requestSentTime:n.ajaxData.requestSentTime,responseFinishedTime:n.ajaxData.responseFinishedTime})):(this.appInsights.trackAjax(n.ajaxData.id,n.ajaxData.getAbsoluteUrl(),n.ajaxData.getPathName(),n.ajaxData.ajaxTotalDuration,+n.ajaxData.status>=200&&+n.ajaxData.status<400,+n.ajaxData.status),n.ajaxData=null)},i.instrumentedByAppInsightsName="InstrumentedByAppInsights",i.DisabledPropertyName="Microsoft_ApplicationInsights_BypassAjaxInstrumentation",i}();t.AjaxMonitor=i})(t=n.ApplicationInsights||(n.ApplicationInsights={}))}(Microsoft||(Microsoft={})),function(n){var t;(function(n){var t=function(){function n(){}return n.prototype.getHashCodeScore=function(t){var i=this.getHashCode(t)/n.INT_MAX_VALUE;return i*100},n.prototype.getHashCode=function(t){var i,r;if(t=="")return 0;while(t.length<n.MIN_INPUT_LENGTH)t=t.concat(t);for(i=5381,r=0;r<t.length;++r)i=(i<<5)+i+t.charCodeAt(r),i=i&i;return Math.abs(i)},n.INT_MAX_VALUE=2147483647,n.MIN_INPUT_LENGTH=8,n}();n.HashCodeScoreGenerator=t})(t=n.ApplicationInsights||(n.ApplicationInsights={}))}(Microsoft||(Microsoft={})),function(n){var t;(function(n){"use strict";(function(n){n[n.Default=0]="Default";n[n.Required=1]="Required";n[n.Array=2]="Array";n[n.Hidden=4]="Hidden"})(n.FieldType||(n.FieldType={}));var t=n.FieldType,i=function(){function i(){}return i.serialize=function(n){var t=i._serializeObject(n,"root");return JSON.stringify(t)},i._serializeObject=function(r,u){var s="__aiCircularRefCheck",e={},f,c;if(!r)return n._InternalLogging.throwInternalUserActionable(n.LoggingSeverity.CRITICAL,new n._InternalLogMessage(n._InternalMessageId.USRACT_CannotSerializeObject,"cannot serialize object because it is null or undefined",{name:u})),e;if(r[s])return n._InternalLogging.throwInternalUserActionable(n.LoggingSeverity.WARNING,new n._InternalLogMessage(n._InternalMessageId.USRACT_CircularReferenceDetected,"Circular reference detected while serializing object",{name:u})),e;if(!r.aiDataContract){if(u==="measurements")e=i._serializeStringMap(r,"number",u);else if(u==="properties")e=i._serializeStringMap(r,"string",u);else if(u==="tags")e=i._serializeStringMap(r,"string",u);else if(n.Util.isArray(r))e=i._serializeArray(r,u);else{n._InternalLogging.throwInternalUserActionable(n.LoggingSeverity.WARNING,new n._InternalLogMessage(n._InternalMessageId.USRACT_CannotSerializeObjectNonSerializable,"Attempting to serialize an object which does not implement ISerializable",{name:u}));try{JSON.stringify(r);e=r}catch(h){n._InternalLogging.throwInternalUserActionable(n.LoggingSeverity.CRITICAL,h&&typeof h.toString=="function"?h.toString():"Error serializing object")}}return e}r[s]=!0;for(f in r.aiDataContract){var o=r.aiDataContract[f],a=typeof o=="function"?o()&t.Required:o&t.Required,v=typeof o=="function"?o()&t.Hidden:o&t.Hidden,l=o&t.Array,y=r[f]!==undefined,p=typeof r[f]=="object"&&r[f]!==null;if(a&&!y&&!l){n._InternalLogging.throwInternalNonUserActionable(n.LoggingSeverity.CRITICAL,new n._InternalLogMessage(n._InternalMessageId.NONUSRACT_MissingRequiredFieldSpecification,"Missing required field specification. The field is required but not present on source",{field:f,name:u}));continue}v||(c=p?l?i._serializeArray(r[f],f):i._serializeObject(r[f],f):r[f],c!==undefined&&(e[f]=c))}return delete r[s],e},i._serializeArray=function(t,r){var f=undefined,u,e,o;if(!!t)if(n.Util.isArray(t))for(f=[],u=0;u<t.length;u++)e=t[u],o=i._serializeObject(e,r+"["+u+"]"),f.push(o);else n._InternalLogging.throwInternalUserActionable(n.LoggingSeverity.CRITICAL,new n._InternalLogMessage(n._InternalMessageId.USRACT_ItemNotInArray,"This field was specified as an array in the contract but the item is not an array.\r\n",{name:r}));return f},i._serializeStringMap=function(t,i,r){var u=undefined,f,e,o;if(t){u={};for(f in t)e=t[f],i==="string"?u[f]=e===undefined?"undefined":e===null?"null":e.toString?e.toString():"invalid field: toString() is not defined.":i==="number"?e===undefined?u[f]="undefined":e===null?u[f]="null":(o=parseFloat(e),u[f]=isNaN(o)?"NaN":o):(u[f]="invalid field: "+r+" is of unknown type.",n._InternalLogging.throwInternalUserActionable(n.LoggingSeverity.CRITICAL,u[f]))}return u},i}();n.Serializer=i})(t=n.ApplicationInsights||(n.ApplicationInsights={}))}(Microsoft||(Microsoft={})),function(n){var t;(function(n){"use strict";var t=function(){function n(){}return n}();n.Base=t})(t=n.Telemetry||(n.Telemetry={}))}(Microsoft||(Microsoft={})),function(n){var t;(function(n){"use strict";var t=function(){function n(){this.ver=1;this.sampleRate=100;this.tags={}}return n}();n.Envelope=t})(t=n.Telemetry||(n.Telemetry={}))}(Microsoft||(Microsoft={}));__extends=this&&this.__extends||function(n,t){function r(){this.constructor=n}for(var i in t)t.hasOwnProperty(i)&&(n[i]=t[i]);r.prototype=t.prototype;n.prototype=new r},function(n){var t;(function(t){var i;(function(i){var r;(function(i){"use strict";var r=function(n){function i(i,r){var u=this;n.call(this);this.name=r;this.data=i;this.time=t.Util.toISOStringForIE8(new Date);this.aiDataContract={time:t.FieldType.Required,iKey:t.FieldType.Required,name:t.FieldType.Required,sampleRate:function(){return u.sampleRate==100?t.FieldType.Hidden:t.FieldType.Required},tags:t.FieldType.Required,data:t.FieldType.Required}}return __extends(i,n),i}(n.Telemetry.Envelope);i.Envelope=r})(r=i.Common||(i.Common={}))})(i=t.Telemetry||(t.Telemetry={}))})(t=n.ApplicationInsights||(n.ApplicationInsights={}))}(Microsoft||(Microsoft={})),function(n){var t;(function(t){var i;(function(t){var i;(function(t){"use strict";var i=function(n){function t(){n.apply(this,arguments);this.aiDataContract={}}return __extends(t,n),t}(n.Telemetry.Base);t.Base=i})(i=t.Common||(t.Common={}))})(i=t.Telemetry||(t.Telemetry={}))})(t=n.ApplicationInsights||(n.ApplicationInsights={}))}(Microsoft||(Microsoft={})),function(n){"use strict";var t=function(){function n(){this.applicationVersion="ai.application.ver";this.applicationBuild="ai.application.build";this.applicationTypeId="ai.application.typeId";this.applicationId="ai.application.applicationId";this.deviceId="ai.device.id";this.deviceIp="ai.device.ip";this.deviceLanguage="ai.device.language";this.deviceLocale="ai.device.locale";this.deviceModel="ai.device.model";this.deviceNetwork="ai.device.network";this.deviceNetworkName="ai.device.networkName";this.deviceOEMName="ai.device.oemName";this.deviceOS="ai.device.os";this.deviceOSVersion="ai.device.osVersion";this.deviceRoleInstance="ai.device.roleInstance";this.deviceRoleName="ai.device.roleName";this.deviceScreenResolution="ai.device.screenResolution";this.deviceType="ai.device.type";this.deviceMachineName="ai.device.machineName";this.deviceVMName="ai.device.vmName";this.locationIp="ai.location.ip";this.operationId="ai.operation.id";this.operationName="ai.operation.name";this.operationParentId="ai.operation.parentId";this.operationRootId="ai.operation.rootId";this.operationSyntheticSource="ai.operation.syntheticSource";this.operationIsSynthetic="ai.operation.isSynthetic";this.operationCorrelationVector="ai.operation.correlationVector";this.sessionId="ai.session.id";this.sessionIsFirst="ai.session.isFirst";this.sessionIsNew="ai.session.isNew";this.userAccountAcquisitionDate="ai.user.accountAcquisitionDate";this.userAccountId="ai.user.accountId";this.userAgent="ai.user.userAgent";this.userId="ai.user.id";this.userStoreRegion="ai.user.storeRegion";this.userAuthUserId="ai.user.authUserId";this.userAnonymousUserAcquisitionDate="ai.user.anonUserAcquisitionDate";this.userAuthenticatedUserAcquisitionDate="ai.user.authUserAcquisitionDate";this.sampleRate="ai.sample.sampleRate";this.cloudName="ai.cloud.name";this.cloudRoleVer="ai.cloud.roleVer";this.cloudEnvironment="ai.cloud.environment";this.cloudLocation="ai.cloud.location";this.cloudDeploymentUnit="ai.cloud.deploymentUnit";this.serverDeviceOS="ai.serverDevice.os";this.serverDeviceOSVer="ai.serverDevice.osVer";this.internalSdkVersion="ai.internal.sdkVersion";this.internalAgentVersion="ai.internal.agentVersion";this.internalDataCollectorReceivedTime="ai.internal.dataCollectorReceivedTime";this.internalProfileId="ai.internal.profileId";this.internalProfileClassId="ai.internal.profileClassId";this.internalAccountId="ai.internal.accountId";this.internalApplicationName="ai.internal.applicationName";this.internalInstrumentationKey="ai.internal.instrumentationKey";this.internalTelemetryItemId="ai.internal.telemetryItemId";this.internalApplicationType="ai.internal.applicationType";this.internalRequestSource="ai.internal.requestSource";this.internalFlowType="ai.internal.flowType";this.internalIsAudit="ai.internal.isAudit";this.internalTrackingSourceId="ai.internal.trackingSourceId";this.internalTrackingType="ai.internal.trackingType";this.internalIsDiagnosticExample="ai.internal.isDiagnosticExample"}return n}();n.ContextTagKeys=t}(AI||(AI={})),function(n){var t;(function(n){var t;(function(n){"use strict";var t=function(){function n(){}return n}();n.Application=t})(t=n.Context||(n.Context={}))})(t=n.ApplicationInsights||(n.ApplicationInsights={}))}(Microsoft||(Microsoft={})),function(n){var t;(function(n){var t;(function(n){"use strict";var t=function(){function n(){this.id="browser";this.type="Browser"}return n}();n.Device=t})(t=n.Context||(n.Context={}))})(t=n.ApplicationInsights||(n.ApplicationInsights={}))}(Microsoft||(Microsoft={})),function(n){var t;(function(n){var t;(function(t){"use strict";var i=function(){function t(){this.sdkVersion="JavaScript:"+n.Version}return t}();t.Internal=i})(t=n.Context||(n.Context={}))})(t=n.ApplicationInsights||(n.ApplicationInsights={}))}(Microsoft||(Microsoft={})),function(n){var t;(function(n){var t;(function(n){"use strict";var t=function(){function n(){}return n}();n.Location=t})(t=n.Context||(n.Context={}))})(t=n.ApplicationInsights||(n.ApplicationInsights={}))}(Microsoft||(Microsoft={})),function(n){var t;(function(n){var t;(function(t){"use strict";var i=function(){function t(){this.id=n.Util.newId();window&&window.location&&window.location.pathname&&(this.name=window.location.pathname)}return t}();t.Operation=i})(t=n.Context||(n.Context={}))})(t=n.ApplicationInsights||(n.ApplicationInsights={}))}(Microsoft||(Microsoft={})),function(n){var t;(function(n){var t=function(){function t(){this.hashCodeGeneragor=new n.HashCodeScoreGenerator}return t.prototype.getSamplingScore=function(n){var t=new AI.ContextTagKeys;return n.tags[t.userId]?this.hashCodeGeneragor.getHashCodeScore(n.tags[t.userId]):n.tags[t.operationId]?this.hashCodeGeneragor.getHashCodeScore(n.tags[t.operationId]):Math.random()},t}();n.SamplingScoreGenerator=t})(t=n.ApplicationInsights||(n.ApplicationInsights={}))}(Microsoft||(Microsoft={})),function(n){var t;(function(n){var t;(function(t){"use strict";var i=function(){function t(t){this.INT_MAX_VALUE=2147483647;(t>100||t<0)&&(n._InternalLogging.throwInternalUserActionable(n.LoggingSeverity.WARNING,new n._InternalLogMessage(n._InternalMessageId.USRACT_SampleRateOutOfRange,"Sampling rate is out of range (0..100). Sampling will be disabled, you may be sending too much data which may affect your AI service level.",{samplingRate:t})),this.sampleRate=100);this.sampleRate=t;this.samplingScoreGenerator=new n.SamplingScoreGenerator}return t.prototype.isSampledIn=function(n){if(this.sampleRate==100)return!0;var t=this.samplingScoreGenerator.getSamplingScore(n);return t<this.sampleRate},t}();t.Sample=i})(t=n.Context||(n.Context={}))})(t=n.ApplicationInsights||(n.ApplicationInsights={}))}(Microsoft||(Microsoft={})),function(n){"use strict";(function(n){n[n.Start=0]="Start";n[n.End=1]="End"})(n.SessionState||(n.SessionState={}));var t=n.SessionState}(AI||(AI={})),function(n){var t;(function(n){var t;(function(t){"use strict";var i=function(){function n(){}return n}(),r;t.Session=i;r=function(){function t(n){n||(n={});typeof n.sessionExpirationMs=="function"||(n.sessionExpirationMs=function(){return t.acquisitionSpan});typeof n.sessionRenewalMs=="function"||(n.sessionRenewalMs=function(){return t.renewalSpan});this.config=n;this.automaticSession=new i}return t.prototype.update=function(){this.automaticSession.id||this.initializeAutomaticSession();var n=+new Date,t=n-this.automaticSession.acquisitionDate>this.config.sessionExpirationMs(),i=n-this.automaticSession.renewalDate>this.config.sessionRenewalMs();t||i?(this.automaticSession.isFirst=undefined,this.renew()):(this.automaticSession.renewalDate=+new Date,this.setCookie(this.automaticSession.id,this.automaticSession.acquisitionDate,this.automaticSession.renewalDate))},t.prototype.backup=function(){this.setStorage(this.automaticSession.id,this.automaticSession.acquisitionDate,this.automaticSession.renewalDate)},t.prototype.initializeAutomaticSession=function(){var t=n.Util.getCookie("ai_session"),i;t&&typeof t.split=="function"?this.initializeAutomaticSessionWithData(t):(i=n.Util.getStorage("ai_session"),i&&this.initializeAutomaticSessionWithData(i));this.automaticSession.id||(this.automaticSession.isFirst=!0,this.renew())},t.prototype.initializeAutomaticSessionWithData=function(t){var i=t.split("|"),r,u;i.length>0&&(this.automaticSession.id=i[0]);try{i.length>1&&(r=+i[1],this.automaticSession.acquisitionDate=+new Date(r),this.automaticSession.acquisitionDate=this.automaticSession.acquisitionDate>0?this.automaticSession.acquisitionDate:0);i.length>2&&(u=+i[2],this.automaticSession.renewalDate=+new Date(u),this.automaticSession.renewalDate=this.automaticSession.renewalDate>0?this.automaticSession.renewalDate:0)}catch(f){n._InternalLogging.throwInternalNonUserActionable(n.LoggingSeverity.CRITICAL,new n._InternalLogMessage(n._InternalMessageId.NONUSRACT_ErrorParsingAISessionCookie,"Error parsing ai_session cookie, session will be reset: "+n.Util.getExceptionName(f),{exception:n.Util.dump(f)}))}this.automaticSession.renewalDate==0&&n._InternalLogging.throwInternalNonUserActionable(n.LoggingSeverity.WARNING,new n._InternalLogMessage(n._InternalMessageId.NONUSRACT_SessionRenewalDateIsZero,"AI session renewal date is 0, session will be reset."))},t.prototype.renew=function(){var t=+new Date;this.automaticSession.id=n.Util.newId();this.automaticSession.acquisitionDate=t;this.automaticSession.renewalDate=t;this.setCookie(this.automaticSession.id,this.automaticSession.acquisitionDate,this.automaticSession.renewalDate);n.Util.canUseLocalStorage()||n._InternalLogging.throwInternalNonUserActionable(n.LoggingSeverity.WARNING,new n._InternalLogMessage(n._InternalMessageId.NONUSRACT_BrowserDoesNotSupportLocalStorage,"Browser does not support local storage. Session durations will be inaccurate."))},t.prototype.setCookie=function(t,i,r){var f=i+this.config.sessionExpirationMs(),e=r+this.config.sessionRenewalMs(),u=new Date,s=[t,i,r],o;f<e?u.setTime(f):u.setTime(e);o=this.config.cookieDomain?this.config.cookieDomain():null;n.Util.setCookie("ai_session",s.join("|")+";expires="+u.toUTCString(),o)},t.prototype.setStorage=function(t,i,r){n.Util.setStorage("ai_session",[t,i,r].join("|"))},t.acquisitionSpan=864e5,t.renewalSpan=18e5,t}();t._SessionManager=r})(t=n.Context||(n.Context={}))})(t=n.ApplicationInsights||(n.ApplicationInsights={}))}(Microsoft||(Microsoft={})),function(n){var t;(function(n){var t;(function(t){"use strict";var i=function(){function t(i){var s=n.Util.getCookie(t.userCookieName),e,u,o,h,c,f,r;s&&(e=s.split(t.cookieSeparator),e.length>0&&(this.id=e[0]));this.config=i;this.id||(this.id=n.Util.newId(),u=new Date,o=n.Util.toISOStringForIE8(u),this.accountAcquisitionDate=o,u.setTime(u.getTime()+31536e6),h=[this.id,o],c=this.config.cookieDomain?this.config.cookieDomain():undefined,n.Util.setCookie(t.userCookieName,h.join(t.cookieSeparator)+";expires="+u.toUTCString(),c),n.Util.removeStorage("ai_session"));this.accountId=i.accountId?i.accountId():undefined;f=n.Util.getCookie(t.authUserCookieName);f&&(f=decodeURI(f),r=f.split(t.cookieSeparator),r[0]&&(this.authenticatedId=r[0]),r.length>1&&r[1]&&(this.accountId=r[1]))}return t.prototype.setAuthenticatedUserContext=function(i,r){var f=!this.validateUserInput(i)||r&&!this.validateUserInput(r),u;if(f){n._InternalLogging.throwInternalUserActionable(n.LoggingSeverity.WARNING,new n._InternalLogMessage(n._InternalMessageId.USRACT_SetAuthContextFailedAccountName,"Setting auth user context failed. User auth/account id should be of type string, and not contain commas, semi-colons, equal signs, spaces, or vertical-bars."));return}this.authenticatedId=i;u=this.authenticatedId;r&&(this.accountId=r,u=[this.authenticatedId,this.accountId].join(t.cookieSeparator));n.Util.setCookie(t.authUserCookieName,encodeURI(u),this.config.cookieDomain())},t.prototype.clearAuthenticatedUserContext=function(){this.authenticatedId=null;this.accountId=null;n.Util.deleteCookie(t.authUserCookieName)},t.prototype.validateUserInput=function(n){return typeof n!="string"||!n||n.match(/,|;|=| |\|/)?!1:!0},t.cookieSeparator="|",t.userCookieName="ai_user",t.authUserCookieName="ai_authUser",t}();t.User=i})(t=n.Context||(n.Context={}))})(t=n.ApplicationInsights||(n.ApplicationInsights={}))}(Microsoft||(Microsoft={})),function(n){var t;(function(n){"use strict";var t=function(){function t(){}return t.reset=function(){t.isEnabled()&&n.Util.setSessionStorage(t.ITEMS_QUEUED_KEY,"0")},t.isEnabled=function(){return t.enabled&&t.appInsights!=null&&n.Util.canUseSessionStorage()},t.getIssuesReported=function(){return!t.isEnabled()||isNaN(+n.Util.getSessionStorage(t.ISSUES_REPORTED_KEY))?0:+n.Util.getSessionStorage(t.ISSUES_REPORTED_KEY)},t.incrementItemsQueued=function(){try{if(t.isEnabled()){var i=t.getNumberOfLostItems();++i;n.Util.setSessionStorage(t.ITEMS_QUEUED_KEY,i.toString())}}catch(r){}},t.decrementItemsQueued=function(i){try{if(t.isEnabled()){var r=t.getNumberOfLostItems();r-=i;r<0&&(r=0);n.Util.setSessionStorage(t.ITEMS_QUEUED_KEY,r.toString())}}catch(u){}},t.getNumberOfLostItems=function(){var i=0;try{t.isEnabled()&&(i=isNaN(+n.Util.getSessionStorage(t.ITEMS_QUEUED_KEY))?0:+n.Util.getSessionStorage(t.ITEMS_QUEUED_KEY))}catch(r){i=0}return i},t.reportLostItems=function(){try{if(t.isEnabled()&&t.getIssuesReported()<t.LIMIT_PER_SESSION&&t.getNumberOfLostItems()>0){t.appInsights.trackTrace("AI (Internal): Internal report DATALOSS: "+t.getNumberOfLostItems(),null);t.appInsights.flush();var i=t.getIssuesReported();++i;n.Util.setSessionStorage(t.ISSUES_REPORTED_KEY,i.toString())}}catch(r){n._InternalLogging.throwInternalNonUserActionable(n.LoggingSeverity.CRITICAL,new n._InternalLogMessage(n._InternalMessageId.NONUSRACT_FailedToReportDataLoss,"Failed to report data loss: "+n.Util.getExceptionName(r),{exception:n.Util.dump(r)}))}finally{try{t.reset()}catch(r){}}},t.enabled=!1,t.LIMIT_PER_SESSION=10,t.ITEMS_QUEUED_KEY="AI_itemsQueued",t.ISSUES_REPORTED_KEY="AI_lossIssuesReported",t}();n.DataLossAnalyzer=t})(t=n.ApplicationInsights||(n.ApplicationInsights={}))}(Microsoft||(Microsoft={})),function(n){var t;(function(n){"use strict";var t=function(){function t(n){if(this._buffer=[],this._lastSend=0,this._config=n,this._sender=null,typeof XMLHttpRequest!="undefined"){var t=new XMLHttpRequest;"withCredentials"in t?this._sender=this._xhrSender:typeof XDomainRequest!="undefined"&&(this._sender=this._xdrSender)}}return t.prototype.send=function(t){var r=this,i;try{if(this._config.disableTelemetry())return;if(!t){n._InternalLogging.throwInternalNonUserActionable(n.LoggingSeverity.CRITICAL,new n._InternalLogMessage(n._InternalMessageId.NONUSRACT_CannotSendEmptyTelemetry,"Cannot send empty telemetry"));return}if(!this._sender){n._InternalLogging.throwInternalNonUserActionable(n.LoggingSeverity.CRITICAL,new n._InternalLogMessage(n._InternalMessageId.NONUSRACT_SenderNotInitialized,"Sender was not initialized"));return}i=n.Serializer.serialize(t);this._getSizeInBytes(this._buffer)+i.length>this._config.maxBatchSizeInBytes()&&this.triggerSend();this._buffer.push(i);this._timeoutHandle||(this._timeoutHandle=setTimeout(function(){r._timeoutHandle=null;r.triggerSend()},this._config.maxBatchInterval()));n.DataLossAnalyzer.incrementItemsQueued()}catch(u){n._InternalLogging.throwInternalNonUserActionable(n.LoggingSeverity.CRITICAL,new n._InternalLogMessage(n._InternalMessageId.NONUSRACT_FailedAddingTelemetryToBuffer,"Failed adding telemetry to the sender's buffer, some telemetry will be lost: "+n.Util.getExceptionName(u),{exception:n.Util.dump(u)}))}},t.prototype._getSizeInBytes=function(n){var r=0,t,i;if(n&&n.length)for(t=0;t<n.length;t++)i=n[t],i&&i.length&&(r+=i.length);return r},t.prototype.triggerSend=function(t){var i=!0,r;typeof t=="boolean"&&(i=t);try{this._config.disableTelemetry()||(this._buffer.length&&(r=this._config.emitLineDelimitedJson()?this._buffer.join("\n"):"["+this._buffer.join(",")+"]",this._sender(r,i,this._buffer.length)),this._lastSend=+new Date);this._buffer.length=0;clearTimeout(this._timeoutHandle);this._timeoutHandle=null}catch(u){(!n.Util.getIEVersion()||n.Util.getIEVersion()>9)&&n._InternalLogging.throwInternalNonUserActionable(n.LoggingSeverity.CRITICAL,new n._InternalLogMessage(n._InternalMessageId.NONUSRACT_TransmissionFailed,"Telemetry transmission failed, some telemetry will be lost: "+n.Util.getExceptionName(u),{exception:n.Util.dump(u)}))}},t.prototype._xhrSender=function(i,r,u){var f=new XMLHttpRequest;f[n.AjaxMonitor.DisabledPropertyName]=!0;f.open("POST",this._config.endpointUrl(),r);f.setRequestHeader("Content-type","application/json");f.onreadystatechange=function(){return t._xhrReadyStateChange(f,i,u)};f.onerror=function(n){return t._onError(i,f.responseText||f.response||"",n)};f.send(i)},t.prototype._xdrSender=function(n){var i=new XDomainRequest;i.onload=function(){return t._xdrOnLoad(i,n)};i.onerror=function(r){return t._onError(n,i.responseText||"",r)};i.open("POST",this._config.endpointUrl());i.send(n)},t._xhrReadyStateChange=function(n,i,r){n.readyState===4&&((n.status<200||n.status>=300)&&n.status!==0?t._onError(i,n.responseText||n.response||""):t._onSuccess(i,r))},t._xdrOnLoad=function(n,i){n&&(n.responseText+""=="200"||n.responseText==="")?t._onSuccess(i,0):t._onError(i,n&&n.responseText||"")},t._onError=function(t,i){n._InternalLogging.throwInternalNonUserActionable(n.LoggingSeverity.WARNING,new n._InternalLogMessage(n._InternalMessageId.NONUSRACT_OnError,"Failed to send telemetry.",{message:i}))},t._onSuccess=function(t,i){n.DataLossAnalyzer.decrementItemsQueued(i)},t}();n.Sender=t})(t=n.ApplicationInsights||(n.ApplicationInsights={}))}(Microsoft||(Microsoft={})),function(n){var t;(function(n){"use strict";var t=function(){function t(){this.hashCodeGeneragor=new n.HashCodeScoreGenerator}return t.prototype.isEnabled=function(n,t){return this.hashCodeGeneragor.getHashCodeScore(n)<t},t}();n.SplitTest=t})(t=n.ApplicationInsights||(n.ApplicationInsights={}))}(Microsoft||(Microsoft={})),function(n){var t;(function(n){"use strict";var t=function(){function n(){}return n}();n.Domain=t})(t=n.Telemetry||(n.Telemetry={}))}(Microsoft||(Microsoft={})),function(n){"use strict";(function(n){n[n.Verbose=0]="Verbose";n[n.Information=1]="Information";n[n.Warning=2]="Warning";n[n.Error=3]="Error";n[n.Critical=4]="Critical"})(n.SeverityLevel||(n.SeverityLevel={}));var t=n.SeverityLevel}(AI||(AI={})),function(n){"use strict";var t=function(n){function t(){this.ver=2;this.properties={};n.call(this)}return __extends(t,n),t}(Microsoft.Telemetry.Domain);n.MessageData=t}(AI||(AI={})),function(n){var t;(function(n){var t;(function(t){var i;(function(t){"use strict";var i=function(){function t(){}return t.sanitizeKeyAndAddUniqueness=function(n,i){var e=n.length,r=t.sanitizeKey(n),f,u;if(r.length!==e){for(f=0,u=r;i[u]!==undefined;)f++,u=r.substring(0,t.MAX_NAME_LENGTH-3)+t.padNumber(f);r=u}return r},t.sanitizeKey=function(i){return i&&(i=n.Util.trim(i.toString()),i.search(/[^0-9a-zA-Z-._()\/ ]/g)>=0&&(i=i.replace(/[^0-9a-zA-Z-._()\/ ]/g,"_"),n._InternalLogging.throwInternalUserActionable(n.LoggingSeverity.WARNING,new n._InternalLogMessage(n._InternalMessageId.USRACT_IllegalCharsInName,"name contains illegal characters. Illegal characters have been replaced with '_'.",{newName:i}))),i.length>t.MAX_NAME_LENGTH&&(i=i.substring(0,t.MAX_NAME_LENGTH),n._InternalLogging.throwInternalUserActionable(n.LoggingSeverity.WARNING,new n._InternalLogMessage(n._InternalMessageId.USRACT_NameTooLong,"name is too long. It has been truncated to "+t.MAX_NAME_LENGTH+" characters.",{name:i})))),i},t.sanitizeString=function(i){return i&&(i=n.Util.trim(i),i.toString().length>t.MAX_STRING_LENGTH&&(i=i.toString().substring(0,t.MAX_STRING_LENGTH),n._InternalLogging.throwInternalUserActionable(n.LoggingSeverity.WARNING,new n._InternalLogMessage(n._InternalMessageId.USRACT_StringValueTooLong,"string value is too long. It has been truncated to "+t.MAX_STRING_LENGTH+" characters.",{value:i})))),i},t.sanitizeUrl=function(i){return i&&i.length>t.MAX_URL_LENGTH&&(i=i.substring(0,t.MAX_URL_LENGTH),n._InternalLogging.throwInternalUserActionable(n.LoggingSeverity.WARNING,new n._InternalLogMessage(n._InternalMessageId.USRACT_UrlTooLong,"url is too long, it has been trucated to "+t.MAX_URL_LENGTH+" characters.",{url:i}))),i},t.sanitizeMessage=function(i){return i&&i.length>t.MAX_MESSAGE_LENGTH&&(i=i.substring(0,t.MAX_MESSAGE_LENGTH),n._InternalLogging.throwInternalUserActionable(n.LoggingSeverity.WARNING,new n._InternalLogMessage(n._InternalMessageId.USRACT_MessageTruncated,"message is too long, it has been trucated to "+t.MAX_MESSAGE_LENGTH+" characters.",{message:i}))),i},t.sanitizeException=function(i){return i&&i.length>t.MAX_EXCEPTION_LENGTH&&(i=i.substring(0,t.MAX_EXCEPTION_LENGTH),n._InternalLogging.throwInternalUserActionable(n.LoggingSeverity.WARNING,new n._InternalLogMessage(n._InternalMessageId.USRACT_ExceptionTruncated,"exception is too long, it has been trucated to "+t.MAX_EXCEPTION_LENGTH+" characters.",{exception:i}))),i},t.sanitizeProperties=function(n){var r,i,u;if(n){r={};for(i in n)u=t.sanitizeString(n[i]),i=t.sanitizeKeyAndAddUniqueness(i,r),r[i]=u;n=r}return n},t.sanitizeMeasurements=function(n){var r,i,u;if(n){r={};for(i in n)u=n[i],i=t.sanitizeKeyAndAddUniqueness(i,r),r[i]=u;n=r}return n},t.padNumber=function(n){var t="00"+n;return t.substr(t.length-3)},t.MAX_NAME_LENGTH=150,t.MAX_STRING_LENGTH=1024,t.MAX_URL_LENGTH=2048,t.MAX_MESSAGE_LENGTH=32768,t.MAX_EXCEPTION_LENGTH=32768,t}();t.DataSanitizer=i})(i=t.Common||(t.Common={}))})(t=n.Telemetry||(n.Telemetry={}))})(t=n.ApplicationInsights||(n.ApplicationInsights={}))}(Microsoft||(Microsoft={})),function(n){var t;(function(n){var t;(function(t){"use strict";var i=function(i){function r(r,u){i.call(this);this.aiDataContract={ver:n.FieldType.Required,message:n.FieldType.Required,severityLevel:n.FieldType.Default,measurements:n.FieldType.Default,properties:n.FieldType.Default};r=r||n.Util.NotSpecified;this.message=t.Common.DataSanitizer.sanitizeMessage(r);this.properties=t.Common.DataSanitizer.sanitizeProperties(u)}return __extends(r,i),r.envelopeType="Microsoft.ApplicationInsights.{0}.Message",r.dataType="MessageData",r}(AI.MessageData);t.Trace=i})(t=n.Telemetry||(n.Telemetry={}))})(t=n.ApplicationInsights||(n.ApplicationInsights={}))}(Microsoft||(Microsoft={})),function(n){"use strict";var t=function(n){function t(){this.ver=2;this.properties={};this.measurements={};n.call(this)}return __extends(t,n),t}(Microsoft.Telemetry.Domain);n.EventData=t}(AI||(AI={})),function(n){var t;(function(n){var t;(function(t){"use strict";var i=function(t){function i(i,r,u){t.call(this);this.aiDataContract={ver:n.FieldType.Required,name:n.FieldType.Required,properties:n.FieldType.Default,measurements:n.FieldType.Default};this.name=n.Telemetry.Common.DataSanitizer.sanitizeString(i);this.properties=n.Telemetry.Common.DataSanitizer.sanitizeProperties(r);this.measurements=n.Telemetry.Common.DataSanitizer.sanitizeMeasurements(u)}return __extends(i,t),i.envelopeType="Microsoft.ApplicationInsights.{0}.Event",i.dataType="EventData",i}(AI.EventData);t.Event=i})(t=n.Telemetry||(n.Telemetry={}))})(t=n.ApplicationInsights||(n.ApplicationInsights={}))}(Microsoft||(Microsoft={})),function(n){"use strict";var t=function(){function n(){this.hasFullStack=!0;this.parsedStack=[]}return n}();n.ExceptionDetails=t}(AI||(AI={})),function(n){"use strict";var t=function(n){function t(){this.ver=2;this.exceptions=[];this.properties={};this.measurements={};n.call(this)}return __extends(t,n),t}(Microsoft.Telemetry.Domain);n.ExceptionData=t}(AI||(AI={})),function(n){"use strict";var t=function(){function n(){}return n}();n.StackFrame=t}(AI||(AI={})),function(n){var t;(function(n){var t;(function(t){"use strict";var u=function(t){function i(i,u,f,e){t.call(this);this.aiDataContract={ver:n.FieldType.Required,handledAt:n.FieldType.Required,exceptions:n.FieldType.Required,severityLevel:n.FieldType.Default,properties:n.FieldType.Default,measurements:n.FieldType.Default};this.properties=n.Telemetry.Common.DataSanitizer.sanitizeProperties(f);this.measurements=n.Telemetry.Common.DataSanitizer.sanitizeMeasurements(e);this.handledAt=u||"unhandled";this.exceptions=[new r(i)]}return __extends(i,t),i.CreateSimpleException=function(n,t,i,r,u,f,e){return{handledAt:e||"unhandled",exceptions:[{hasFullStack:!0,message:n,stack:u,typeName:t,parsedStack:[{level:0,assembly:i,fileName:r,line:f,method:"unknown"}]}]}},i.envelopeType="Microsoft.ApplicationInsights.{0}.Exception",i.dataType="ExceptionData",i}(AI.ExceptionData),r,i;t.Exception=u;r=function(r){function u(i){r.call(this);this.aiDataContract={id:n.FieldType.Default,outerId:n.FieldType.Default,typeName:n.FieldType.Required,message:n.FieldType.Required,hasFullStack:n.FieldType.Default,stack:n.FieldType.Default,parsedStack:n.FieldType.Array};this.typeName=t.Common.DataSanitizer.sanitizeString(i.name||n.Util.NotSpecified);this.message=t.Common.DataSanitizer.sanitizeMessage(i.message||n.Util.NotSpecified);var u=i.stack;this.parsedStack=this.parseStack(u);this.stack=t.Common.DataSanitizer.sanitizeException(u);this.hasFullStack=n.Util.isArray(this.parsedStack)&&this.parsedStack.length>0}return __extends(u,r),u.prototype.parseStack=function(n){var t=undefined,e,l,o,r,a,s,h,p,w,b;if(typeof n=="string"){for(e=n.split("\n"),t=[],l=0,o=0,r=0;r<=e.length;r++)a=e[r],i.regex.test(a)&&(s=new i(e[r],l++),o+=s.sizeInBytes,t.push(s));if(h=32768,o>h)for(var u=0,f=t.length-1,v=0,c=u,y=f;u<f;){if(p=t[u].sizeInBytes,w=t[f].sizeInBytes,v+=p+w,v>h){b=y-c+1;t.splice(c,b);break}c=u;y=f;u++;f--}}return t},u}(AI.ExceptionDetails);i=function(t){function i(r,u){t.call(this);this.sizeInBytes=0;this.aiDataContract={level:n.FieldType.Required,method:n.FieldType.Required,assembly:n.FieldType.Default,fileName:n.FieldType.Default,line:n.FieldType.Default};this.level=u;this.method="<no_method>";this.assembly=n.Util.trim(r);var f=r.match(i.regex);f&&f.length>=5&&(this.method=n.Util.trim(f[2])||this.method,this.fileName=n.Util.trim(f[4]),this.line=parseInt(f[5])||0);this.sizeInBytes+=this.method.length;this.sizeInBytes+=this.fileName.length;this.sizeInBytes+=this.assembly.length;this.sizeInBytes+=i.baseSize;this.sizeInBytes+=this.level.toString().length;this.sizeInBytes+=this.line.toString().length}return __extends(i,t),i.regex=/^([\s]+at)?(.*?)(\@|\s\(|\s)([^\(\@\n]+):([0-9]+):([0-9]+)(\)?)$/,i.baseSize=58,i}(AI.StackFrame);t._StackFrame=i})(t=n.Telemetry||(n.Telemetry={}))})(t=n.ApplicationInsights||(n.ApplicationInsights={}))}(Microsoft||(Microsoft={})),function(n){"use strict";var t=function(n){function t(){this.ver=2;this.metrics=[];this.properties={};n.call(this)}return __extends(t,n),t}(Microsoft.Telemetry.Domain);n.MetricData=t}(AI||(AI={})),function(n){"use strict";(function(n){n[n.Measurement=0]="Measurement";n[n.Aggregation=1]="Aggregation"})(n.DataPointType||(n.DataPointType={}));var t=n.DataPointType}(AI||(AI={})),function(n){"use strict";var t=function(){function t(){this.kind=n.DataPointType.Measurement}return t}();n.DataPoint=t}(AI||(AI={})),function(n){var t;(function(n){var t;(function(t){var i;(function(t){"use strict";var i=function(t){function i(){t.apply(this,arguments);this.aiDataContract={name:n.FieldType.Required,kind:n.FieldType.Default,value:n.FieldType.Required,count:n.FieldType.Default,min:n.FieldType.Default,max:n.FieldType.Default,stdDev:n.FieldType.Default}}return __extends(i,t),i}(AI.DataPoint);t.DataPoint=i})(i=t.Common||(t.Common={}))})(t=n.Telemetry||(n.Telemetry={}))})(t=n.ApplicationInsights||(n.ApplicationInsights={}))}(Microsoft||(Microsoft={})),function(n){var t;(function(t){var i;(function(i){"use strict";var r=function(r){function u(u,f,e,o,s,h){r.call(this);this.aiDataContract={ver:t.FieldType.Required,metrics:t.FieldType.Required,properties:t.FieldType.Default};var c=new n.ApplicationInsights.Telemetry.Common.DataPoint;c.count=e>0?e:undefined;c.max=isNaN(s)||s===null?undefined:s;c.min=isNaN(o)||o===null?undefined:o;c.name=i.Common.DataSanitizer.sanitizeString(u);c.value=f;this.metrics=[c];this.properties=t.Telemetry.Common.DataSanitizer.sanitizeProperties(h)}return __extends(u,r),u.envelopeType="Microsoft.ApplicationInsights.{0}.Metric",u.dataType="MetricData",u}(AI.MetricData);i.Metric=r})(i=t.Telemetry||(t.Telemetry={}))})(t=n.ApplicationInsights||(n.ApplicationInsights={}))}(Microsoft||(Microsoft={})),function(n){"use strict";var t=function(n){function t(){this.ver=2;this.properties={};this.measurements={};n.call(this)}return __extends(t,n),t}(n.EventData);n.PageViewData=t}(AI||(AI={})),function(n){var t;(function(n){var t;(function(t){"use strict";var i=function(i){function r(r,u,f,e,o){i.call(this);this.aiDataContract={ver:n.FieldType.Required,name:n.FieldType.Default,url:n.FieldType.Default,duration:n.FieldType.Default,properties:n.FieldType.Default,measurements:n.FieldType.Default};this.url=t.Common.DataSanitizer.sanitizeUrl(u);this.name=t.Common.DataSanitizer.sanitizeString(r||n.Util.NotSpecified);isNaN(f)||(this.duration=n.Util.msToTimeSpan(f));this.properties=n.Telemetry.Common.DataSanitizer.sanitizeProperties(e);this.measurements=n.Telemetry.Common.DataSanitizer.sanitizeMeasurements(o)}return __extends(r,i),r.envelopeType="Microsoft.ApplicationInsights.{0}.Pageview",r.dataType="PageviewData",r}(AI.PageViewData);t.PageView=i})(t=n.Telemetry||(n.Telemetry={}))})(t=n.ApplicationInsights||(n.ApplicationInsights={}))}(Microsoft||(Microsoft={})),function(n){"use strict";var t=function(n){function t(){this.ver=2;this.properties={};this.measurements={};n.call(this)}return __extends(t,n),t}(n.PageViewData);n.PageViewPerfData=t}(AI||(AI={})),function(n){var t;(function(n){var t;(function(t){"use strict";var i=function(i){function r(u,f,e,o,s){var h;if(i.call(this),this.aiDataContract={ver:n.FieldType.Required,name:n.FieldType.Default,url:n.FieldType.Default,duration:n.FieldType.Default,perfTotal:n.FieldType.Default,networkConnect:n.FieldType.Default,sentRequest:n.FieldType.Default,receivedResponse:n.FieldType.Default,domProcessing:n.FieldType.Default,properties:n.FieldType.Default,measurements:n.FieldType.Default},this.isValid=!1,h=r.getPerformanceTiming(),h){var c=r.getDuration(h.navigationStart,h.loadEventEnd),l=r.getDuration(h.navigationStart,h.connectEnd),a=r.getDuration(h.requestStart,h.responseStart),v=r.getDuration(h.responseStart,h.responseEnd),y=r.getDuration(h.responseEnd,h.loadEventEnd);c==0?n._InternalLogging.throwInternalNonUserActionable(n.LoggingSeverity.WARNING,new n._InternalLogMessage(n._InternalMessageId.NONUSRACT_ErrorPVCalc,"error calculating page view performance.",{total:c,network:l,request:a,response:v,dom:y})):c<Math.floor(l)+Math.floor(a)+Math.floor(v)+Math.floor(y)?n._InternalLogging.throwInternalNonUserActionable(n.LoggingSeverity.WARNING,new n._InternalLogMessage(n._InternalMessageId.NONUSRACT_ClientPerformanceMathError,"client performance math error.",{total:c,network:l,request:a,response:v,dom:y})):(this.durationMs=c,this.perfTotal=this.duration=n.Util.msToTimeSpan(c),this.networkConnect=n.Util.msToTimeSpan(l),this.sentRequest=n.Util.msToTimeSpan(a),this.receivedResponse=n.Util.msToTimeSpan(v),this.domProcessing=n.Util.msToTimeSpan(y),this.isValid=!0)}this.url=t.Common.DataSanitizer.sanitizeUrl(f);this.name=t.Common.DataSanitizer.sanitizeString(u||n.Util.NotSpecified);this.properties=n.Telemetry.Common.DataSanitizer.sanitizeProperties(o);this.measurements=n.Telemetry.Common.DataSanitizer.sanitizeMeasurements(s)}return __extends(r,i),r.prototype.getIsValid=function(){return this.isValid},r.prototype.getDurationMs=function(){return this.durationMs},r.getPerformanceTiming=function(){return typeof window!="undefined"&&window.performance&&window.performance.timing?window.performance.timing:null},r.isPerformanceTimingSupported=function(){return typeof window!="undefined"&&window.performance&&window.performance.timing},r.isPerformanceTimingDataReady=function(){var n=window.performance.timing;return n.domainLookupStart>0&&n.navigationStart>0&&n.responseStart>0&&n.requestStart>0&&n.loadEventEnd>0&&n.responseEnd>0&&n.connectEnd>0&&n.domLoading>0},r.getDuration=function(n,t){var i=0;return isNaN(n)||isNaN(t)||(i=Math.max(t-n,0)),i},r.envelopeType="Microsoft.ApplicationInsights.{0}.PageviewPerformance",r.dataType="PageviewPerformanceData",r}(AI.PageViewPerfData);t.PageViewPerformance=i})(t=n.Telemetry||(n.Telemetry={}))})(t=n.ApplicationInsights||(n.ApplicationInsights={}))}(Microsoft||(Microsoft={})),function(n){var t;(function(n){"use strict";var t=function(){function t(t){this._config=t;this._sender=new n.Sender(t);typeof window!="undefined"&&(this._sessionManager=new n.Context._SessionManager(t),this.application=new n.Context.Application,this.device=new n.Context.Device,this.internal=new n.Context.Internal,this.location=new n.Context.Location,this.user=new n.Context.User(t),this.operation=new n.Context.Operation,this.session=new n.Context.Session,this.sample=new n.Context.Sample(t.sampleRate()))}return t.prototype.addTelemetryInitializer=function(n){this.telemetryInitializers=this.telemetryInitializers||[];this.telemetryInitializers.push(n)},t.prototype.track=function(t){return t?(t.name===n.Telemetry.PageView.envelopeType&&n._InternalLogging.resetInternalMessageCount(),this.session&&typeof this.session.id!="string"&&this._sessionManager.update(),this._track(t)):n._InternalLogging.throwInternalUserActionable(n.LoggingSeverity.CRITICAL,new n._InternalLogMessage(n._InternalMessageId.USRACT_TrackArgumentsNotSpecified,"cannot call .track() with a null or undefined argument")),t},t.prototype._track=function(t){var i,f,r,u,o;this.session&&(typeof this.session.id=="string"?this._applySessionContext(t,this.session):this._applySessionContext(t,this._sessionManager.automaticSession));this._applyApplicationContext(t,this.application);this._applyDeviceContext(t,this.device);this._applyInternalContext(t,this.internal);this._applyLocationContext(t,this.location);this._applySampleContext(t,this.sample);this._applyUserContext(t,this.user);this._applyOperationContext(t,this.operation);t.iKey=this._config.instrumentationKey();i=!1;try{for(this.telemetryInitializers=this.telemetryInitializers||[],f=this.telemetryInitializers.length,r=0;r<f;++r)if(u=this.telemetryInitializers[r],u&&u.apply(null,[t])===!1){i=!0;break}}catch(e){i=!0;n._InternalLogging.throwInternalUserActionable(n.LoggingSeverity.CRITICAL,new n._InternalLogMessage(n._InternalMessageId.USRACT_TelemetryInitializerFailed,"One of telemetry initializers failed, telemetry item will not be sent: "+n.Util.getExceptionName(e),{exception:n.Util.dump(e)}))}return i||(t.name===n.Telemetry.Metric.envelopeType||this.sample.isSampledIn(t)?(o=this._config.instrumentationKey().replace(/-/g,""),t.name=t.name.replace("{0}",o),this._sender.send(t)):n._InternalLogging.throwInternalUserActionable(n.LoggingSeverity.WARNING,new n._InternalLogMessage(n._InternalMessageId.NONUSRACT_TelemetrySampledAndNotSent,"Telemetry is sampled and not sent to the AI service.",{SampleRate:this.sample.sampleRate}))),t},t.prototype._applyApplicationContext=function(n,t){if(t){var i=new AI.ContextTagKeys;typeof t.ver=="string"&&(n.tags[i.applicationVersion]=t.ver);typeof t.build=="string"&&(n.tags[i.applicationBuild]=t.build)}},t.prototype._applyDeviceContext=function(n,t){var i=new AI.ContextTagKeys;t&&(typeof t.id=="string"&&(n.tags[i.deviceId]=t.id),typeof t.ip=="string"&&(n.tags[i.deviceIp]=t.ip),typeof t.language=="string"&&(n.tags[i.deviceLanguage]=t.language),typeof t.locale=="string"&&(n.tags[i.deviceLocale]=t.locale),typeof t.model=="string"&&(n.tags[i.deviceModel]=t.model),typeof t.network!="undefined"&&(n.tags[i.deviceNetwork]=t.network),typeof t.oemName=="string"&&(n.tags[i.deviceOEMName]=t.oemName),typeof t.os=="string"&&(n.tags[i.deviceOS]=t.os),typeof t.osversion=="string"&&(n.tags[i.deviceOSVersion]=t.osversion),typeof t.resolution=="string"&&(n.tags[i.deviceScreenResolution]=t.resolution),typeof t.type=="string"&&(n.tags[i.deviceType]=t.type))},t.prototype._applyInternalContext=function(n,t){if(t){var i=new AI.ContextTagKeys;typeof t.agentVersion=="string"&&(n.tags[i.internalAgentVersion]=t.agentVersion);typeof t.sdkVersion=="string"&&(n.tags[i.internalSdkVersion]=t.sdkVersion)}},t.prototype._applyLocationContext=function(n,t){if(t){var i=new AI.ContextTagKeys;typeof t.ip=="string"&&(n.tags[i.locationIp]=t.ip)}},t.prototype._applyOperationContext=function(n,t){if(t){var i=new AI.ContextTagKeys;typeof t.id=="string"&&(n.tags[i.operationId]=t.id);typeof t.name=="string"&&(n.tags[i.operationName]=t.name);typeof t.parentId=="string"&&(n.tags[i.operationParentId]=t.parentId);typeof t.rootId=="string"&&(n.tags[i.operationRootId]=t.rootId);typeof t.syntheticSource=="string"&&(n.tags[i.operationSyntheticSource]=t.syntheticSource)}},t.prototype._applySampleContext=function(n,t){t&&(n.sampleRate=t.sampleRate)},t.prototype._applySessionContext=function(n,t){if(t){var i=new AI.ContextTagKeys;typeof t.id=="string"&&(n.tags[i.sessionId]=t.id);typeof t.isFirst!="undefined"&&(n.tags[i.sessionIsFirst]=t.isFirst)}},t.prototype._applyUserContext=function(n,t){if(t){var i=new AI.ContextTagKeys;typeof t.accountId=="string"&&(n.tags[i.userAccountId]=t.accountId);typeof t.agent=="string"&&(n.tags[i.userAgent]=t.agent);typeof t.id=="string"&&(n.tags[i.userId]=t.id);typeof t.authenticatedId=="string"&&(n.tags[i.userAuthUserId]=t.authenticatedId);typeof t.storeRegion=="string"&&(n.tags[i.userStoreRegion]=t.storeRegion)}},t}();n.TelemetryContext=t})(t=n.ApplicationInsights||(n.ApplicationInsights={}))}(Microsoft||(Microsoft={})),function(n){var t;(function(t){"use strict";var i=function(n){function t(){n.call(this)}return __extends(t,n),t}(n.Telemetry.Base);t.Data=i})(t=n.Telemetry||(n.Telemetry={}))}(Microsoft||(Microsoft={})),function(n){var t;(function(t){var i;(function(i){var r;(function(i){"use strict";var r=function(n){function i(i,r){n.call(this);this.aiDataContract={baseType:t.FieldType.Required,baseData:t.FieldType.Required};this.baseType=i;this.baseData=r}return __extends(i,n),i}(n.Telemetry.Data);i.Data=r})(r=i.Common||(i.Common={}))})(i=t.Telemetry||(t.Telemetry={}))})(t=n.ApplicationInsights||(n.ApplicationInsights={}))}(Microsoft||(Microsoft={})),function(n){var t;(function(n){var t;(function(t){"use strict";var i=function(){function i(n,t){this.pageViewPerformanceSent=!1;this.overridePageViewDuration=!1;this.overridePageViewDuration=t;this.appInsights=n}return i.prototype.trackPageView=function(i,r,u,f,e){var o=this,s,h,c,l,a;if(typeof i!="string"&&(i=window.document&&window.document.title||""),typeof r!="string"&&(r=window.location&&window.location.href||""),s=!1,h=0,t.PageViewPerformance.isPerformanceTimingSupported()?(c=t.PageViewPerformance.getPerformanceTiming().navigationStart,h=t.PageViewPerformance.getDuration(c,+new Date)):(this.appInsights.sendPageViewInternal(i,r,isNaN(e)?0:e,u,f),this.appInsights.flush(),s=!0),(this.overridePageViewDuration||!isNaN(e))&&(this.appInsights.sendPageViewInternal(i,r,isNaN(e)?h:e,u,f),this.appInsights.flush(),s=!0),l=6e4,!t.PageViewPerformance.isPerformanceTimingSupported()){n._InternalLogging.throwInternalNonUserActionable(n.LoggingSeverity.WARNING,new n._InternalLogMessage(n._InternalMessageId.NONUSRACT_NavigationTimingNotSupported,"trackPageView: navigation timing API used for calculation of page duration is not supported in this browser. This page view will be collected without duration and timing info."));return}a=setInterval(function(){try{if(t.PageViewPerformance.isPerformanceTimingDataReady()){clearInterval(a);var e=new t.PageViewPerformance(i,r,null,u,f);e.getIsValid()||s?(s||o.appInsights.sendPageViewInternal(i,r,e.getDurationMs(),u,f),o.pageViewPerformanceSent||(o.appInsights.sendPageViewPerformanceInternal(e),o.pageViewPerformanceSent=!0),o.appInsights.flush()):(o.appInsights.sendPageViewInternal(i,r,h,u,f),o.appInsights.flush())}else t.PageViewPerformance.getDuration(c,+new Date)>l&&(clearInterval(a),s||(o.appInsights.sendPageViewInternal(i,r,l,u,f),o.appInsights.flush()))}catch(v){n._InternalLogging.throwInternalNonUserActionable(n.LoggingSeverity.CRITICAL,new n._InternalLogMessage(n._InternalMessageId.NONUSRACT_TrackPVFailedCalc,"trackPageView failed on page load calculation: "+n.Util.getExceptionName(v),{exception:n.Util.dump(v)}))}},100)},i}();t.PageViewManager=i})(t=n.Telemetry||(n.Telemetry={}))})(t=n.ApplicationInsights||(n.ApplicationInsights={}))}(Microsoft||(Microsoft={})),function(n){var t;(function(n){var t;(function(t){"use strict";var r=function(){function t(n){this.prevPageVisitDataKeyName="prevPageVisitData";this.pageVisitTimeTrackingHandler=n}return t.prototype.trackPreviousPageVisit=function(t,i){try{var r=this.restartPageVisitTimer(t,i);r&&this.pageVisitTimeTrackingHandler(r.pageName,r.pageUrl,r.pageVisitTime)}catch(u){n._InternalLogging.warnToConsole("Auto track page visit time failed, metric will not be collected: "+n.Util.dump(u))}},t.prototype.restartPageVisitTimer=function(t,i){try{var r=this.stopPageVisitTimer();return this.startPageVisitTimer(t,i),r}catch(u){return n._InternalLogging.warnToConsole("Call to restart failed: "+n.Util.dump(u)),null}},t.prototype.startPageVisitTimer=function(t,r){try{if(n.Util.canUseSessionStorage()){if(n.Util.getSessionStorage(this.prevPageVisitDataKeyName)!=null)throw new Error("Cannot call startPageVisit consecutively without first calling stopPageVisit");var u=new i(t,r),f=JSON.stringify(u);n.Util.setSessionStorage(this.prevPageVisitDataKeyName,f)}}catch(e){n._InternalLogging.warnToConsole("Call to start failed: "+n.Util.dump(e))}},t.prototype.stopPageVisitTimer=function(){var r,i,t;try{return n.Util.canUseSessionStorage()?(r=Date.now(),i=n.Util.getSessionStorage(this.prevPageVisitDataKeyName),i?(t=JSON.parse(i),t.pageVisitTime=r-t.pageVisitStartTime,n.Util.removeSessionStorage(this.prevPageVisitDataKeyName),t):null):null}catch(u){return n._InternalLogging.warnToConsole("Stop page visit timer failed: "+n.Util.dump(u)),null}},t}(),i;t.PageVisitTimeManager=r;i=function(){function n(n,t){this.pageVisitStartTime=Date.now();this.pageName=n;this.pageUrl=t}return n}();t.PageVisitData=i})(t=n.Telemetry||(n.Telemetry={}))})(t=n.ApplicationInsights||(n.ApplicationInsights={}))}(Microsoft||(Microsoft={})),function(n){"use strict";(function(n){n[n.SQL=0]="SQL";n[n.Http=1]="Http";n[n.Other=2]="Other"})(n.DependencyKind||(n.DependencyKind={}));var t=n.DependencyKind}(AI||(AI={})),function(n){"use strict";(function(n){n[n.Undefined=0]="Undefined";n[n.Aic=1]="Aic";n[n.Apmc=2]="Apmc"})(n.DependencySourceType||(n.DependencySourceType={}));var t=n.DependencySourceType}(AI||(AI={})),function(n){"use strict";var t=function(t){function i(){this.ver=2;this.kind=n.DataPointType.Aggregation;this.dependencyKind=n.DependencyKind.Other;this.success=!0;this.dependencySource=n.DependencySourceType.Apmc;this.properties={};t.call(this)}return __extends(i,t),i}(Microsoft.Telemetry.Domain);n.RemoteDependencyData=t}(AI||(AI={})),function(n){var t;(function(n){var t;(function(t){"use strict";var i=function(t){function i(i,r,u,f,e,o){t.call(this);this.aiDataContract={id:n.FieldType.Required,ver:n.FieldType.Required,name:n.FieldType.Default,kind:n.FieldType.Required,value:n.FieldType.Default,count:n.FieldType.Default,min:n.FieldType.Default,max:n.FieldType.Default,stdDev:n.FieldType.Default,dependencyKind:n.FieldType.Default,success:n.FieldType.Default,async:n.FieldType.Default,dependencySource:n.FieldType.Default,commandName:n.FieldType.Default,dependencyTypeName:n.FieldType.Default,properties:n.FieldType.Default,resultCode:n.FieldType.Default};this.id=i;this.name=r;this.commandName=u;this.value=f;this.success=e;this.resultCode=o+"";this.dependencyKind=AI.DependencyKind.Http;this.dependencyTypeName="Ajax"}return __extends(i,t),i.envelopeType="Microsoft.ApplicationInsights.{0}.RemoteDependency",i.dataType="RemoteDependencyData",i}(AI.RemoteDependencyData);t.RemoteDependencyData=i})(t=n.Telemetry||(n.Telemetry={}))})(t=n.ApplicationInsights||(n.ApplicationInsights={}))}(Microsoft||(Microsoft={})),function(n){var t;(function(t){"use strict";var r,i;t.Version="0.22.9";r=function(){function r(u){var f=this,e,o,s;if(this._trackAjaxAttempts=0,this.config=u||{},e=r.defaultConfig,e!==undefined)for(o in e)this.config[o]===undefined&&(this.config[o]=e[o]);t._InternalLogging.verboseLogging=function(){return f.config.verboseLogging};t._InternalLogging.enableDebugExceptions=function(){return f.config.enableDebug};s={instrumentationKey:function(){return f.config.instrumentationKey},accountId:function(){return f.config.accountId},sessionRenewalMs:function(){return f.config.sessionRenewalMs},sessionExpirationMs:function(){return f.config.sessionExpirationMs},endpointUrl:function(){return f.config.endpointUrl},emitLineDelimitedJson:function(){return f.config.emitLineDelimitedJson},maxBatchSizeInBytes:function(){return f.config.maxBatchSizeInBytes},maxBatchInterval:function(){return f.config.maxBatchInterval},disableTelemetry:function(){return f.config.disableTelemetry},sampleRate:function(){return f.config.samplingPercentage},cookieDomain:function(){return f.config.cookieDomain}};this.context=new t.TelemetryContext(s);this._pageViewManager=new n.ApplicationInsights.Telemetry.PageViewManager(this,this.config.overridePageViewDuration);this._eventTracking=new i("trackEvent");this._eventTracking.action=function(n,i,r,u,e){e?isNaN(e.duration)&&(e.duration=r):e={duration:r};var o=new t.Telemetry.Event(n,u,e),s=new t.Telemetry.Common.Data(t.Telemetry.Event.dataType,o),h=new t.Telemetry.Common.Envelope(s,t.Telemetry.Event.envelopeType);f.context.track(h)};this._pageTracking=new i("trackPageView");this._pageTracking.action=function(n,t,i,r,u){f.sendPageViewInternal(n,t,i,r,u)};this._pageVisitTimeManager=new t.Telemetry.PageVisitTimeManager(function(n,t,i){return f.trackPageVisitTime(n,t,i)});this.config.disableAjaxTracking||new n.ApplicationInsights.AjaxMonitor(this)}return r.prototype.sendPageViewInternal=function(n,i,r,u,f){var e=new t.Telemetry.PageView(n,i,r,u,f),o=new t.Telemetry.Common.Data(t.Telemetry.PageView.dataType,e),s=new t.Telemetry.Common.Envelope(o,t.Telemetry.PageView.envelopeType);this.context.track(s);this._trackAjaxAttempts=0},r.prototype.sendPageViewPerformanceInternal=function(n){var i=new t.Telemetry.Common.Data(t.Telemetry.PageViewPerformance.dataType,n),r=new t.Telemetry.Common.Envelope(i,t.Telemetry.PageViewPerformance.envelopeType);this.context.track(r)},r.prototype.startTrackPage=function(n){try{typeof n!="string"&&(n=window.document&&window.document.title||"");this._pageTracking.start(n)}catch(i){t._InternalLogging.throwInternalNonUserActionable(t.LoggingSeverity.CRITICAL,new t._InternalLogMessage(t._InternalMessageId.NONUSRACT_StartTrackFailed,"startTrackPage failed, page view may not be collected: "+t.Util.getExceptionName(i),{exception:t.Util.dump(i)}))}},r.prototype.stopTrackPage=function(n,i,r,u){try{typeof n!="string"&&(n=window.document&&window.document.title||"");typeof i!="string"&&(i=window.location&&window.location.href||"");this._pageTracking.stop(n,i,r,u);this.config.autoTrackPageVisitTime&&this._pageVisitTimeManager.trackPreviousPageVisit(n,i)}catch(f){t._InternalLogging.throwInternalNonUserActionable(t.LoggingSeverity.CRITICAL,new t._InternalLogMessage(t._InternalMessageId.NONUSRACT_StopTrackFailed,"stopTrackPage failed, page view will not be collected: "+t.Util.getExceptionName(f),{exception:t.Util.dump(f)}))}},r.prototype.trackPageView=function(n,i,r,u,f){try{this._pageViewManager.trackPageView(n,i,r,u,f);this.config.autoTrackPageVisitTime&&this._pageVisitTimeManager.trackPreviousPageVisit(n,i)}catch(e){t._InternalLogging.throwInternalNonUserActionable(t.LoggingSeverity.CRITICAL,new t._InternalLogMessage(t._InternalMessageId.NONUSRACT_TrackPVFailed,"trackPageView failed, page view will not be collected: "+t.Util.getExceptionName(e),{exception:t.Util.dump(e)}))}},r.prototype.startTrackEvent=function(n){try{this._eventTracking.start(n)}catch(i){t._InternalLogging.throwInternalNonUserActionable(t.LoggingSeverity.CRITICAL,new t._InternalLogMessage(t._InternalMessageId.NONUSRACT_StartTrackEventFailed,"startTrackEvent failed, event will not be collected: "+t.Util.getExceptionName(i),{exception:t.Util.dump(i)}))}},r.prototype.stopTrackEvent=function(n,i,r){try{this._eventTracking.stop(n,undefined,i,r)}catch(u){t._InternalLogging.throwInternalNonUserActionable(t.LoggingSeverity.CRITICAL,new t._InternalLogMessage(t._InternalMessageId.NONUSRACT_StopTrackEventFailed,"stopTrackEvent failed, event will not be collected: "+t.Util.getExceptionName(u),{exception:t.Util.dump(u)}))}},r.prototype.trackEvent=function(n,i,r){try{var f=new t.Telemetry.Event(n,i,r),e=new t.Telemetry.Common.Data(t.Telemetry.Event.dataType,f),o=new t.Telemetry.Common.Envelope(e,t.Telemetry.Event.envelopeType);this.context.track(o)}catch(u){t._InternalLogging.throwInternalNonUserActionable(t.LoggingSeverity.CRITICAL,new t._InternalLogMessage(t._InternalMessageId.NONUSRACT_TrackEventFailed,"trackEvent failed, event will not be collected: "+t.Util.getExceptionName(u),{exception:t.Util.dump(u)}))}},r.prototype.trackAjax=function(n,i,r,u,f,e){if(this.config.maxAjaxCallsPerView===-1||this._trackAjaxAttempts<this.config.maxAjaxCallsPerView){var o=new t.Telemetry.RemoteDependencyData(n,i,r,u,f,e),s=new t.Telemetry.Common.Data(t.Telemetry.RemoteDependencyData.dataType,o),h=new t.Telemetry.Common.Envelope(s,t.Telemetry.RemoteDependencyData.envelopeType);this.context.track(h)}else this._trackAjaxAttempts===this.config.maxAjaxCallsPerView&&t._InternalLogging.throwInternalUserActionable(t.LoggingSeverity.CRITICAL,new t._InternalLogMessage(t._InternalMessageId.USRACT_MaxAjaxPerPVExceeded,"Maximum ajax per page view limit reached, ajax monitoring is paused until the next trackPageView(). In order to increase the limit set the maxAjaxCallsPerView configuration parameter."));++this._trackAjaxAttempts},r.prototype.trackException=function(n,i,r,u){try{if(!t.Util.isError(n))try{throw new Error(n);}catch(e){n=e}var o=new t.Telemetry.Exception(n,i,r,u),s=new t.Telemetry.Common.Data(t.Telemetry.Exception.dataType,o),h=new t.Telemetry.Common.Envelope(s,t.Telemetry.Exception.envelopeType);this.context.track(h)}catch(f){t._InternalLogging.throwInternalNonUserActionable(t.LoggingSeverity.CRITICAL,new t._InternalLogMessage(t._InternalMessageId.NONUSRACT_TrackExceptionFailed,"trackException failed, exception will not be collected: "+t.Util.getExceptionName(f),{exception:t.Util.dump(f)}))}},r.prototype.trackMetric=function(n,i,r,u,f,e){try{var s=new t.Telemetry.Metric(n,i,r,u,f,e),h=new t.Telemetry.Common.Data(t.Telemetry.Metric.dataType,s),c=new t.Telemetry.Common.Envelope(h,t.Telemetry.Metric.envelopeType);this.context.track(c)}catch(o){t._InternalLogging.throwInternalNonUserActionable(t.LoggingSeverity.CRITICAL,new t._InternalLogMessage(t._InternalMessageId.NONUSRACT_TrackMetricFailed,"trackMetric failed, metric will not be collected: "+t.Util.getExceptionName(o),{exception:t.Util.dump(o)}))}},r.prototype.trackTrace=function(n,i){try{var u=new t.Telemetry.Trace(n,i),f=new t.Telemetry.Common.Data(t.Telemetry.Trace.dataType,u),e=new t.Telemetry.Common.Envelope(f,t.Telemetry.Trace.envelopeType);this.context.track(e)}catch(r){t._InternalLogging.throwInternalNonUserActionable(t.LoggingSeverity.WARNING,new t._InternalLogMessage(t._InternalMessageId.NONUSRACT_TrackTraceFailed,"trackTrace failed, trace will not be collected: "+t.Util.getExceptionName(r),{exception:t.Util.dump(r)}))}},r.prototype.trackPageVisitTime=function(n,t,i){var r={PageName:n,PageUrl:t};this.trackMetric("PageVisitTime",i,1,i,i,r)},r.prototype.flush=function(){try{this.context._sender.triggerSend()}catch(n){t._InternalLogging.throwInternalNonUserActionable(t.LoggingSeverity.CRITICAL,new t._InternalLogMessage(t._InternalMessageId.NONUSRACT_FlushFailed,"flush failed, telemetry will not be collected: "+t.Util.getExceptionName(n),{exception:t.Util.dump(n)}))}},r.prototype.setAuthenticatedUserContext=function(n,i){try{this.context.user.setAuthenticatedUserContext(n,i)}catch(r){t._InternalLogging.throwInternalUserActionable(t.LoggingSeverity.WARNING,new t._InternalLogMessage(t._InternalMessageId.USRACT_SetAuthContextFailed,"Setting auth user context failed. "+t.Util.getExceptionName(r),{exception:t.Util.dump(r)}))}},r.prototype.clearAuthenticatedUserContext=function(){try{this.context.user.clearAuthenticatedUserContext()}catch(n){t._InternalLogging.throwInternalUserActionable(t.LoggingSeverity.WARNING,new t._InternalLogMessage(t._InternalMessageId.USRACT_SetAuthContextFailed,"Clearing auth user context failed. "+t.Util.getExceptionName(n),{exception:t.Util.dump(n)}))}},r.prototype.SendCORSException=function(i){var r=n.ApplicationInsights.Telemetry.Exception.CreateSimpleException("Script error.","Error","unknown","unknown","The browser’s same-origin policy prevents us from getting the details of this exception.The exception occurred in a script loaded from an origin different than the web page.For cross- domain error reporting you can use crossorigin attribute together with appropriate CORS HTTP headers.For more information please see http://www.w3.org/TR/cors/.",0,null),u,f;r.properties=i;u=new t.Telemetry.Common.Data(t.Telemetry.Exception.dataType,r);f=new t.Telemetry.Common.Envelope(u,t.Telemetry.Exception.envelopeType);this.context.track(f)},r.prototype._onerror=function(n,i,r,u,f){var e,o,h,c;try{e={url:i?i:document.URL};t.Util.isCrossOriginError(n,i,r,u,f)?this.SendCORSException(e):(t.Util.isError(f)||(o="window.onerror@"+e.url+":"+r+":"+(u||0),f=new Error(n),f.stack=o),this.trackException(f,null,e))}catch(s){h=f?f.name+", "+f.message:"null";c=t.Util.dump(s);t._InternalLogging.throwInternalNonUserActionable(t.LoggingSeverity.CRITICAL,new t._InternalLogMessage(t._InternalMessageId.NONUSRACT_ExceptionWhileLoggingError,"_onerror threw exception while logging error, error will not be collected: "+t.Util.getExceptionName(s),{exception:c,errorString:h}))}},r}();t.AppInsights=r;i=function(){function n(n){this._name=n;this._events={}}return n.prototype.start=function(n){typeof this._events[n]!="undefined"&&t._InternalLogging.throwInternalUserActionable(t.LoggingSeverity.WARNING,new t._InternalLogMessage(t._InternalMessageId.USRACT_StartCalledMoreThanOnce,"start was called more than once for this event without calling stop.",{name:this._name,key:n}));this._events[n]=+new Date},n.prototype.stop=function(n,i,r,u){var f=this._events[n],e,o;isNaN(f)?t._InternalLogging.throwInternalUserActionable(t.LoggingSeverity.WARNING,new t._InternalLogMessage(t._InternalMessageId.USRACT_StopCalledWithoutStart,"stop was called without a corresponding start.",{name:this._name,key:n})):(e=+new Date,o=t.Telemetry.PageViewPerformance.getDuration(f,e),this.action(n,i,o,r,u));delete this._events[n];this._events[n]=undefined},n}()})(t=n.ApplicationInsights||(n.ApplicationInsights={}))}(Microsoft||(Microsoft={})),function(n){"use strict";var t=function(n){function t(){this.ver=2;this.properties={};this.measurements={};n.call(this)}return __extends(t,n),t}(n.PageViewData);n.AjaxCallData=t}(AI||(AI={})),function(n){"use strict";var t=function(n){function t(){this.ver=2;this.properties={};this.measurements={};n.call(this)}return __extends(t,n),t}(Microsoft.Telemetry.Domain);n.RequestData=t}(AI||(AI={})),function(n){"use strict";var t=function(t){function i(){this.ver=2;this.state=n.SessionState.Start;t.call(this)}return __extends(i,t),i}(Microsoft.Telemetry.Domain);n.SessionStateData=t}(AI||(AI={})),function(n){var t;(function(t){"use strict";var i=function(){function i(t){t.queue=t.queue||[];var r=t.config||{};if(r&&!r.instrumentationKey)if(r=t,r.iKey)n.ApplicationInsights.Version="0.10.0.0",r.instrumentationKey=r.iKey;else if(r.applicationInsightsId)n.ApplicationInsights.Version="0.7.2.0",r.instrumentationKey=r.applicationInsightsId;else throw new Error("Cannot load Application Insights SDK, no instrumentationKey was provided.");r=i.getDefaultConfig(r);this.snippet=t;this.config=r}return i.prototype.loadAppInsights=function(){var t=new n.ApplicationInsights.AppInsights(this.config),u,i,r;return this.config.iKey&&(u=t.trackPageView,t.trackPageView=function(n,i,r){u.apply(t,[null,n,i,r])}),i="logPageView",typeof this.snippet[i]=="function"&&(t[i]=function(n,i,r){t.trackPageView(null,n,i,r)}),r="logEvent",typeof this.snippet[r]=="function"&&(t[r]=function(n,i,r){t.trackEvent(n,i,r)}),t},i.prototype.emptyQueue=function(){var f,i,e,u,o;try{if(n.ApplicationInsights.Util.isArray(this.snippet.queue)){for(f=this.snippet.queue.length,i=0;i<f;i++)e=this.snippet.queue[i],e();this.snippet.queue=undefined;delete this.snippet.queue}}catch(r){u={};r&&typeof r.toString=="function"&&(u.exception=r.toString());o=new t._InternalLogMessage(t._InternalMessageId.NONUSRACT_FailedToSendQueuedTelemetry,"Failed to send queued telemetry",u);n.ApplicationInsights._InternalLogging.throwInternalNonUserActionable(t.LoggingSeverity.WARNING,o)}},i.prototype.pollInteralLogs=function(t){return setInterval(function(){for(var i=n.ApplicationInsights._InternalLogging.queue,u=i.length,r=0;r<u;r++)t.trackTrace(i[r].message);i.length=0},this.config.diagnosticLogInterval)},i.prototype.addHousekeepingBeforeUnload=function(i){if(!i.config.disableFlushOnBeforeUnload&&"onbeforeunload"in window){var r=function(){i.context._sender.triggerSend();i.context._sessionManager.backup()};n.ApplicationInsights.Util.addEventHandler("beforeunload",r)||n.ApplicationInsights._InternalLogging.throwInternalNonUserActionable(n.ApplicationInsights.LoggingSeverity.CRITICAL,new t._InternalLogMessage(t._InternalMessageId.NONUSRACT_FailedToAddHandlerForOnBeforeUnload,"Could not add handler for beforeunload"))}},i.getDefaultConfig=function(n){return n||(n={}),n.endpointUrl=n.endpointUrl||"//dc.services.visualstudio.com/v2/track",n.sessionRenewalMs=18e5,n.sessionExpirationMs=864e5,n.maxBatchSizeInBytes=n.maxBatchSizeInBytes>0?n.maxBatchSizeInBytes:1e6,n.maxBatchInterval=isNaN(n.maxBatchInterval)?15e3:n.maxBatchInterval,n.enableDebug=t.Util.stringToBoolOrDefault(n.enableDebug),n.disableExceptionTracking=n.disableExceptionTracking!==undefined&&n.disableExceptionTracking!==null?t.Util.stringToBoolOrDefault(n.disableExceptionTracking):!1,n.disableTelemetry=t.Util.stringToBoolOrDefault(n.disableTelemetry),n.verboseLogging=t.Util.stringToBoolOrDefault(n.verboseLogging),n.emitLineDelimitedJson=t.Util.stringToBoolOrDefault(n.emitLineDelimitedJson),n.diagnosticLogInterval=n.diagnosticLogInterval||1e4,n.autoTrackPageVisitTime=t.Util.stringToBoolOrDefault(n.autoTrackPageVisitTime),(isNaN(n.samplingPercentage)||n.samplingPercentage<=0||n.samplingPercentage>=100)&&(n.samplingPercentage=100),n.disableAjaxTracking=n.disableAjaxTracking!==undefined&&n.disableAjaxTracking!==null?t.Util.stringToBoolOrDefault(n.disableAjaxTracking):!1,n.maxAjaxCallsPerView=isNaN(n.maxAjaxCallsPerView)?500:n.maxAjaxCallsPerView,n.disableCorrelationHeaders=n.disableCorrelationHeaders!==undefined&&n.disableCorrelationHeaders!==null?t.Util.stringToBoolOrDefault(n.disableCorrelationHeaders):!0,n.disableFlushOnBeforeUnload=n.disableFlushOnBeforeUnload!==undefined&&n.disableFlushOnBeforeUnload!==null?t.Util.stringToBoolOrDefault(n.disableFlushOnBeforeUnload):!1,n},i}();t.Initialization=i})(t=n.ApplicationInsights||(n.ApplicationInsights={}))}(Microsoft||(Microsoft={})),function(n){var t;(function(){"use strict";var r,u;try{if(typeof window!="undefined"&&typeof JSON!="undefined")if(r="appInsights",window[r]===undefined)n.ApplicationInsights.AppInsights.defaultConfig=n.ApplicationInsights.Initialization.getDefaultConfig();else{var f=window[r]||{},t=new n.ApplicationInsights.Initialization(f),i=t.loadAppInsights();for(u in i)f[u]=i[u];t.emptyQueue();t.pollInteralLogs(i);t.addHousekeepingBeforeUnload(i)}}catch(e){n.ApplicationInsights._InternalLogging.warnToConsole("Failed to initialize AppInsights JS SDK: "+e.message)}})(t=n.ApplicationInsights||(n.ApplicationInsights={}))}(Microsoft||(Microsoft={})) |
| New file |
| | |
| | | |
| | | Microsoft Visual Studio Solution File, Format Version 12.00 |
| | | # Visual Studio 14 |
| | | VisualStudioVersion = 14.0.25420.1 |
| | | MinimumVisualStudioVersion = 10.0.40219.1 |
| | | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GTech.Solution.Api.Common", "GTech.Solution.Api.Common\GTech.Solution.Api.Common.csproj", "{8F7DFF8F-296B-457F-A667-941EE23ABF0B}" |
| | | EndProject |
| | | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GTech.Solution.Api.Contract", "GTech.Solution.Api.Contract\GTech.Solution.Api.Contract.csproj", "{13B3BD45-EBD9-477D-BF78-472DD065E7A2}" |
| | | EndProject |
| | | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GTech.Solution.Api.Domain", "GTech.Solution.Api.Domain\GTech.Solution.Api.Domain.csproj", "{4A2930DE-7BF4-4368-B6AD-B74B9043DA7D}" |
| | | EndProject |
| | | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GTech.Solution.Api.WebSite", "GTech.Solution.Api.WebSite\GTech.Solution.Api.WebSite.csproj", "{33766936-4425-4E2C-B196-A5C1772560E9}" |
| | | EndProject |
| | | Global |
| | | GlobalSection(SolutionConfigurationPlatforms) = preSolution |
| | | Debug|Any CPU = Debug|Any CPU |
| | | Release|Any CPU = Release|Any CPU |
| | | EndGlobalSection |
| | | GlobalSection(ProjectConfigurationPlatforms) = postSolution |
| | | {8F7DFF8F-296B-457F-A667-941EE23ABF0B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
| | | {8F7DFF8F-296B-457F-A667-941EE23ABF0B}.Debug|Any CPU.Build.0 = Debug|Any CPU |
| | | {8F7DFF8F-296B-457F-A667-941EE23ABF0B}.Release|Any CPU.ActiveCfg = Release|Any CPU |
| | | {8F7DFF8F-296B-457F-A667-941EE23ABF0B}.Release|Any CPU.Build.0 = Release|Any CPU |
| | | {13B3BD45-EBD9-477D-BF78-472DD065E7A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
| | | {13B3BD45-EBD9-477D-BF78-472DD065E7A2}.Debug|Any CPU.Build.0 = Debug|Any CPU |
| | | {13B3BD45-EBD9-477D-BF78-472DD065E7A2}.Release|Any CPU.ActiveCfg = Release|Any CPU |
| | | {13B3BD45-EBD9-477D-BF78-472DD065E7A2}.Release|Any CPU.Build.0 = Release|Any CPU |
| | | {4A2930DE-7BF4-4368-B6AD-B74B9043DA7D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
| | | {4A2930DE-7BF4-4368-B6AD-B74B9043DA7D}.Debug|Any CPU.Build.0 = Debug|Any CPU |
| | | {4A2930DE-7BF4-4368-B6AD-B74B9043DA7D}.Release|Any CPU.ActiveCfg = Release|Any CPU |
| | | {4A2930DE-7BF4-4368-B6AD-B74B9043DA7D}.Release|Any CPU.Build.0 = Release|Any CPU |
| | | {33766936-4425-4E2C-B196-A5C1772560E9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
| | | {33766936-4425-4E2C-B196-A5C1772560E9}.Debug|Any CPU.Build.0 = Debug|Any CPU |
| | | {33766936-4425-4E2C-B196-A5C1772560E9}.Release|Any CPU.ActiveCfg = Release|Any CPU |
| | | {33766936-4425-4E2C-B196-A5C1772560E9}.Release|Any CPU.Build.0 = Release|Any CPU |
| | | EndGlobalSection |
| | | GlobalSection(SolutionProperties) = preSolution |
| | | HideSolutionNode = FALSE |
| | | EndGlobalSection |
| | | GlobalSection(ExtensibilityGlobals) = postSolution |
| | | SolutionGuid = {1F5E4C41-5A5A-4424-B701-2B66FC02BBA1} |
| | | EndGlobalSection |
| | | EndGlobal |
| New file |
| | |
| | | <?xml version="1.0"?> |
| | | <doc> |
| | | <assembly> |
| | | <name>JWT</name> |
| | | </assembly> |
| | | <members> |
| | | <member name="T:JWT.Algorithms.DelegateAlgorithmFactory"> |
| | | <summary> |
| | | Implements <see href="IAlgorithmFactory" /> by returning the supplied <see href="IJwtAlgorithm" /> while ignoring parameters. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.DelegateAlgorithmFactory.#ctor(System.Func{JWT.Algorithms.IJwtAlgorithm})"> |
| | | <summary> |
| | | Creates an instance of <see cref="T:JWT.Algorithms.DelegateAlgorithmFactory" /> with supplied delegate to an algorithm. |
| | | </summary> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.DelegateAlgorithmFactory.#ctor(JWT.Algorithms.IJwtAlgorithm)"> |
| | | <summary> |
| | | Creates an instance of <see cref="T:JWT.Algorithms.DelegateAlgorithmFactory" /> with supplied algorithm. |
| | | </summary> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.DelegateAlgorithmFactory.Create(JWT.JwtDecoderContext)"> |
| | | <inheritdoc /> |
| | | </member> |
| | | <member name="T:JWT.Algorithms.HMACSHA256Algorithm"> |
| | | <summary> |
| | | HMAC using SHA-256 |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.HMACSHA256Algorithm.Sign(System.Byte[],System.Byte[])"> |
| | | <inheritdoc /> |
| | | </member> |
| | | <member name="P:JWT.Algorithms.HMACSHA256Algorithm.Name"> |
| | | <inheritdoc /> |
| | | </member> |
| | | <member name="T:JWT.Algorithms.HMACSHA384Algorithm"> |
| | | <summary> |
| | | HMAC using SHA-384 |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.HMACSHA384Algorithm.Sign(System.Byte[],System.Byte[])"> |
| | | <inheritdoc /> |
| | | </member> |
| | | <member name="P:JWT.Algorithms.HMACSHA384Algorithm.Name"> |
| | | <inheritdoc /> |
| | | </member> |
| | | <member name="T:JWT.Algorithms.HMACSHA512Algorithm"> |
| | | <summary> |
| | | HMAC using SHA-512 |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.HMACSHA512Algorithm.Sign(System.Byte[],System.Byte[])"> |
| | | <inheritdoc /> |
| | | </member> |
| | | <member name="P:JWT.Algorithms.HMACSHA512Algorithm.Name"> |
| | | <inheritdoc /> |
| | | </member> |
| | | <member name="T:JWT.Algorithms.HMACSHAAlgorithmFactory"> |
| | | <inheritdoc /> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.HMACSHAAlgorithmFactory.Create(JWT.JwtDecoderContext)"> |
| | | <inheritdoc /> |
| | | </member> |
| | | <member name="T:JWT.Algorithms.IAlgorithmFactory"> |
| | | <summary> |
| | | Provides IJwtAlgorithms. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.IAlgorithmFactory.Create(JWT.JwtDecoderContext)"> |
| | | <summary> |
| | | Creates an AlgorithmFactory using the provided algorithm enum. |
| | | </summary> |
| | | <param name="context">The captured context during validation of JWT inside <see cref="T:JWT.JwtDecoder"/></param> |
| | | </member> |
| | | <member name="T:JWT.Algorithms.IAsymmetricAlgorithm"> |
| | | <summary> |
| | | Represents an asymmetric algorithm to generate or validate JWT signature. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.IAsymmetricAlgorithm.Verify(System.Byte[],System.Byte[])"> |
| | | <summary> |
| | | Verifies provided byte array with provided signature. |
| | | </summary> |
| | | <param name="bytesToSign">The data to verify</param> |
| | | <param name="signature">The signature to verify with</param> |
| | | </member> |
| | | <member name="T:JWT.Algorithms.IJwtAlgorithm"> |
| | | <summary> |
| | | Represents an algorithm to generate JWT signature. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.IJwtAlgorithm.Sign(System.Byte[],System.Byte[])"> |
| | | <summary> |
| | | Signs provided byte array with provided key. |
| | | </summary> |
| | | <param name="key">The key used to sign the data</param> |
| | | <param name="bytesToSign">The data to sign</param> |
| | | </member> |
| | | <member name="P:JWT.Algorithms.IJwtAlgorithm.Name"> |
| | | <summary> |
| | | Gets algorithm name. |
| | | </summary> |
| | | </member> |
| | | <member name="T:JWT.Algorithms.JwtAlgorithmExtensions"> |
| | | <summary> |
| | | Extension methods for <seealso cref="T:JWT.Algorithms.IJwtAlgorithm" /> |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.JwtAlgorithmExtensions.IsAsymmetric(JWT.Algorithms.IJwtAlgorithm)"> |
| | | <summary> |
| | | Returns whether or not the algorithm is asymmetric. |
| | | </summary> |
| | | <param name="alg">The algorithm instance.</param> |
| | | </member> |
| | | <member name="T:JWT.Algorithms.JwtAlgorithmName"> |
| | | <summary> |
| | | Enum representing the various Jwt Hash Algorithms. |
| | | </summary> |
| | | </member> |
| | | <member name="F:JWT.Algorithms.JwtAlgorithmName.HS256"> |
| | | <summary> |
| | | HMAC using SHA-256 |
| | | </summary> |
| | | </member> |
| | | <member name="F:JWT.Algorithms.JwtAlgorithmName.HS384"> |
| | | <summary> |
| | | HMAC using SHA-384 |
| | | </summary> |
| | | </member> |
| | | <member name="F:JWT.Algorithms.JwtAlgorithmName.HS512"> |
| | | <summary> |
| | | HMAC using SHA-512 |
| | | </summary> |
| | | </member> |
| | | <member name="F:JWT.Algorithms.JwtAlgorithmName.RS256"> |
| | | <summary> |
| | | RSASSA-PKCS1-v1_5 using SHA-256 |
| | | </summary> |
| | | </member> |
| | | <member name="T:JWT.Algorithms.RS256Algorithm"> |
| | | <summary> |
| | | RSASSA-PKCS1-v1_5 using SHA-256 |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.RS256Algorithm.#ctor(System.Security.Cryptography.RSA,System.Security.Cryptography.RSA)"> |
| | | <summary> |
| | | Creates an instance of <see cref="T:JWT.Algorithms.RS256Algorithm" /> using the provided pair of public and private keys. |
| | | </summary> |
| | | <param name="publicKey">The public key for verifying the data.</param> |
| | | <param name="privateKey">The private key for signing the data.</param> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.RS256Algorithm.#ctor(System.Security.Cryptography.RSA)"> |
| | | <summary> |
| | | Creates an instance of <see cref="T:JWT.Algorithms.RS256Algorithm" /> using the provided public key only. |
| | | </summary> |
| | | <remarks> |
| | | An instance created using this constructor can only be used for verifying the data, not for signing it. |
| | | </remarks> |
| | | <param name="publicKey">The public key for verifying the data.</param> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.RS256Algorithm.#ctor(System.Security.Cryptography.X509Certificates.X509Certificate2)"> |
| | | <summary> |
| | | Creates an instance using the provided certificate. |
| | | </summary> |
| | | <param name="cert">The certificate having a public key and an optional private key.</param> |
| | | </member> |
| | | <member name="P:JWT.Algorithms.RS256Algorithm.Name"> |
| | | <inheritdoc /> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.RS256Algorithm.Sign(System.Byte[],System.Byte[])"> |
| | | <inheritdoc /> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.RS256Algorithm.Sign(System.Byte[])"> |
| | | <summary> |
| | | Signs the provided bytes. |
| | | </summary> |
| | | <param name="bytesToSign">The bytes to sign.</param> |
| | | <returns>The signed bytes.</returns> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.RS256Algorithm.Verify(System.Byte[],System.Byte[])"> |
| | | <inheritdoc /> |
| | | </member> |
| | | <member name="T:JWT.Algorithms.RSAlgorithmFactory"> |
| | | <inheritdoc /> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.RSAlgorithmFactory.#ctor(System.Func{System.Security.Cryptography.X509Certificates.X509Certificate2})"> |
| | | <summary> |
| | | Creates an instance of the <see cref="T:JWT.Algorithms.RSAlgorithmFactory" /> class using the provided <see cref="T:System.Security.Cryptography.X509Certificates.X509Certificate2" />. |
| | | </summary> |
| | | <param name="certFactory">Func that returns <see cref="T:System.Security.Cryptography.X509Certificates.X509Certificate2" /> which will be used to instantiate <see cref="T:JWT.Algorithms.RS256Algorithm" /></param> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.RSAlgorithmFactory.#ctor(System.Security.Cryptography.RSA)"> |
| | | <summary> |
| | | Creates an instance of <see cref="T:JWT.Algorithms.RSAlgorithmFactory"/> using the provided public key only. |
| | | </summary> |
| | | <param name="publicKey">The public key for verifying the data.</param> |
| | | </member> |
| | | <member name="M:JWT.Algorithms.RSAlgorithmFactory.#ctor(System.Security.Cryptography.RSA,System.Security.Cryptography.RSA)"> |
| | | <summary> |
| | | Creates an instance of <see cref="T:JWT.Algorithms.RSAlgorithmFactory"/> using the provided pair of public and private keys. |
| | | </summary> |
| | | <param name="publicKey">The public key for verifying the data.</param> |
| | | <param name="privateKey">The private key for signing the data.</param> |
| | | </member> |
| | | <member name="T:JWT.Builder.ClaimName"> |
| | | <summary> |
| | | All public claims of a JWT specified by IANA, see https://www.iana.org/assignments/jwt/jwt.xhtml |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Builder.EnumExtensions.GetHeaderName(JWT.Builder.HeaderName)"> |
| | | <summary> |
| | | Gets the string representation of a well-known header name enum |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Builder.EnumExtensions.GetPublicClaimName(JWT.Builder.ClaimName)"> |
| | | <summary> |
| | | Gets the string representation of a well-known claim name enum |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Builder.EnumExtensions.GetDescription``1(``0)"> |
| | | <summary> |
| | | Gets the value of the <see cref="T:System.ComponentModel.DescriptionAttribute" /> from the object. |
| | | </summary> |
| | | </member> |
| | | <member name="T:JWT.Builder.HeaderName"> |
| | | <summary> |
| | | All predefined parameter names specified by RFC 7515, see https://tools.ietf.org/html/rfc7515 |
| | | </summary> |
| | | </member> |
| | | <member name="T:JWT.Builder.JwtBuilder"> |
| | | <summary> |
| | | Encode and decode JWT with Fluent API. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.AddHeader(JWT.Builder.HeaderName,System.Object)"> |
| | | <summary> |
| | | Add header to the JWT. |
| | | </summary> |
| | | <param name="name">Well-known header name</param> |
| | | <param name="value">The value you want give to the header</param> |
| | | <returns>Current builder instance</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.AddClaim(System.String,System.Object)"> |
| | | <summary> |
| | | Adds claim to the JWT. |
| | | </summary> |
| | | <param name="name">Claim name</param> |
| | | <param name="value">Claim value</param> |
| | | <returns>Current builder instance</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.WithSerializer(JWT.IJsonSerializer)"> |
| | | <summary> |
| | | Sets JWT serializer. |
| | | </summary> |
| | | <remarks> |
| | | If not set then default <see cref="T:JWT.Serializers.JsonNetSerializer" /> will be used. |
| | | </remarks> |
| | | <returns>Current builder instance</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.WithDateTimeProvider(JWT.IDateTimeProvider)"> |
| | | <summary> |
| | | Sets custom datetime provider. |
| | | </summary> |
| | | <remarks> |
| | | If not set then default <see cref="T:JWT.UtcDateTimeProvider" /> will be used. |
| | | </remarks> |
| | | <returns>Current builder instance</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.WithEncoder(JWT.IJwtEncoder)"> |
| | | <summary> |
| | | Sets JWT encoder. |
| | | </summary> |
| | | <returns>Current builder instance</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.WithDecoder(JWT.IJwtDecoder)"> |
| | | <summary> |
| | | Sets JWT decoder. |
| | | </summary> |
| | | <returns>Current builder instance</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.WithValidator(JWT.IJwtValidator)"> |
| | | <summary> |
| | | Sets JWT validator. |
| | | </summary> |
| | | <remarks> |
| | | Required to decode with verification. |
| | | </remarks> |
| | | <returns>Current builder instance</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.WithUrlEncoder(JWT.IBase64UrlEncoder)"> |
| | | <summary> |
| | | Sets custom URL encoder. |
| | | </summary> |
| | | <remarks> |
| | | If not set then default <see cref="T:JWT.JwtBase64UrlEncoder" /> will be used. |
| | | </remarks> |
| | | <returns>Current builder instance</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.WithAlgorithmFactory(JWT.Algorithms.IAlgorithmFactory)"> |
| | | <summary> |
| | | Sets JWT algorithm factory. |
| | | </summary> |
| | | <returns>Current builder instance.</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.WithAlgorithm(JWT.Algorithms.IJwtAlgorithm)"> |
| | | <summary> |
| | | Sets JWT algorithm. |
| | | </summary> |
| | | <returns>Current builder instance.</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.WithSecret(System.String[])"> |
| | | <summary> |
| | | Sets certificate secret. |
| | | </summary> |
| | | <remarks> |
| | | Required to create new token that uses an symmetric algorithm such as <seealso cref="T:JWT.Algorithms.RS256Algorithm" /> |
| | | </remarks> |
| | | <returns>Current builder instance</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.WithSecret(System.Byte[][])"> |
| | | <summary> |
| | | Sets certificate secret. |
| | | </summary> |
| | | <remarks> |
| | | Required to create new token that uses an symmetric algorithm such as <seealso cref="T:JWT.Algorithms.RS256Algorithm" /> |
| | | </remarks> |
| | | <returns>Current builder instance</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.MustVerifySignature"> |
| | | <summary> |
| | | Instructs to do verify the JWT signature. |
| | | </summary> |
| | | <returns>Current builder instance</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.DoNotVerifySignature"> |
| | | <summary> |
| | | Instructs to do not verify the JWT signature. |
| | | </summary> |
| | | <returns>Current builder instance</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.WithVerifySignature(System.Boolean)"> |
| | | <summary> |
| | | Instructs whether to verify the JWT signature. |
| | | </summary> |
| | | <returns>Current builder instance</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.Encode"> |
| | | <summary> |
| | | Encodes a token using the supplied dependencies. |
| | | </summary> |
| | | <returns>The generated JWT</returns> |
| | | <exception cref="T:System.InvalidOperationException">Thrown if either algorithm, serializer, encoder or secret is null</exception> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.Decode(System.String)"> |
| | | <summary> |
| | | Decodes a token using the supplied dependencies. |
| | | </summary> |
| | | <param name="token">The JWT</param> |
| | | <returns>The JSON payload</returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.DecodeHeader(System.String)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the header. |
| | | </summary> |
| | | <param name="token">The JWT</param> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.DecodeHeader``1(System.String)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the header. |
| | | </summary> |
| | | <param name="token">The JWT</param> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.Decode``1(System.String)"> |
| | | <summary> |
| | | Decodes a token using the supplied dependencies. |
| | | </summary> |
| | | <param name="token">The JWT</param> |
| | | <returns>The payload converted to <see cref="!:T" /></returns> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.CanEncode"> |
| | | <summary> |
| | | Checks whether enough dependencies were supplied to encode a new token. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilder.CanDecode"> |
| | | <summary> |
| | | Checks whether enough dependencies were supplied to decode a token. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilderExtensions.AddClaim(JWT.Builder.JwtBuilder,JWT.Builder.ClaimName,System.Object)"> |
| | | <summary> |
| | | Adds well-known claim to the JWT. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilderExtensions.AddClaim``1(JWT.Builder.JwtBuilder,JWT.Builder.ClaimName,``0)"> |
| | | <summary> |
| | | Adds well-known claim to the JWT. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilderExtensions.AddClaim``1(JWT.Builder.JwtBuilder,System.String,``0)"> |
| | | <summary> |
| | | Adds well-known claim to the JWT. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtBuilderExtensions.AddClaims(JWT.Builder.JwtBuilder,System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.Object}})"> |
| | | <summary> |
| | | Adds several claims to the JWT |
| | | </summary> |
| | | </member> |
| | | <member name="T:JWT.Builder.JwtData"> |
| | | <summary> |
| | | Represents the Data that will store in a JWT. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtData.#ctor"> |
| | | <summary> |
| | | Creates a new instance of <see cref="T:JWT.Builder.JwtData" /> with empty Header and Payload. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtData.#ctor(System.Collections.Generic.IDictionary{System.String,System.Object})"> |
| | | <summary> |
| | | Creates a new instance of <see cref="T:JWT.Builder.JwtData" /> |
| | | </summary> |
| | | <param name="payload">Dictionary that contans the payload</param> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtData.#ctor(System.Collections.Generic.IDictionary{System.String,System.Object},System.Collections.Generic.IDictionary{System.String,System.Object})"> |
| | | <summary> |
| | | Creates a new instance of <see cref="T:JWT.Builder.JwtData" /> |
| | | </summary> |
| | | <param name="header">Dictionary that contains the headers</param> |
| | | <param name="payload">Dictionary that contans the payload</param> |
| | | </member> |
| | | <member name="M:JWT.Builder.JwtData.#ctor(System.String)"> |
| | | <summary> |
| | | Creates a new instance of <see cref="T:JWT.Builder.JwtData" /> |
| | | </summary> |
| | | <param name="token">The JWT token</param> |
| | | </member> |
| | | <member name="P:JWT.Builder.JwtData.Header"> |
| | | <summary> |
| | | The header information as a key-value store of the JWT |
| | | </summary> |
| | | </member> |
| | | <member name="P:JWT.Builder.JwtData.Payload"> |
| | | <summary> |
| | | The payload of the JWT as a key-value store |
| | | </summary> |
| | | </member> |
| | | <member name="T:JWT.Builder.JwtHeader"> |
| | | <summary> |
| | | JSON header model with predefined parameter names specified by RFC 7515, see https://tools.ietf.org/html/rfc7515 |
| | | </summary> |
| | | </member> |
| | | <member name="T:JWT.Exceptions.InvalidTokenPartsException"> |
| | | <summary> |
| | | Represents an exception thrown when when a token doesn't consist of 3 delimited by dot parts. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Exceptions.InvalidTokenPartsException.#ctor(System.String)"> |
| | | <summary> |
| | | Creates an instance of <see cref="T:JWT.Exceptions.InvalidTokenPartsException" /> |
| | | </summary> |
| | | <param name="paramName">The name of the parameter that caused the exception</param> |
| | | </member> |
| | | <member name="T:JWT.Exceptions.SignatureVerificationException"> |
| | | <summary> |
| | | Represents an exception thrown when a signature validation fails. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Exceptions.SignatureVerificationException.#ctor(System.String)"> |
| | | <summary> |
| | | Creates an instance of <see cref="T:JWT.Exceptions.SignatureVerificationException" /> |
| | | </summary> |
| | | <param name="message">The error message</param> |
| | | </member> |
| | | <member name="P:JWT.Exceptions.SignatureVerificationException.Expected"> |
| | | <summary> |
| | | Expected key. |
| | | </summary> |
| | | </member> |
| | | <member name="P:JWT.Exceptions.SignatureVerificationException.Received"> |
| | | <summary> |
| | | Received key. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Exceptions.SignatureVerificationException.GetOrDefault``1(System.String)"> |
| | | <summary> |
| | | Retrieves the value for the provided key, or default. |
| | | </summary> |
| | | <typeparam name="T"></typeparam> |
| | | <param name="key">The key</param> |
| | | <returns></returns> |
| | | </member> |
| | | <member name="T:JWT.Exceptions.TokenExpiredException"> |
| | | <summary> |
| | | Represents an exception thrown when when a token is expired. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Exceptions.TokenExpiredException.#ctor(System.String)"> |
| | | <summary> |
| | | Creates an instance of <see cref="T:JWT.Exceptions.TokenExpiredException" /> |
| | | </summary> |
| | | <param name="message">The error message</param> |
| | | </member> |
| | | <member name="P:JWT.Exceptions.TokenExpiredException.PayloadData"> |
| | | <summary> |
| | | The payload. |
| | | </summary> |
| | | </member> |
| | | <member name="P:JWT.Exceptions.TokenExpiredException.Expiration"> |
| | | <summary> |
| | | The expiration DateTime of the token. |
| | | </summary> |
| | | </member> |
| | | <member name="T:JWT.IBase64UrlEncoder"> |
| | | <summary> |
| | | Represents a base64 encoder/decoder. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.IBase64UrlEncoder.Encode(System.Byte[])"> |
| | | <summary> |
| | | Encodes the byte array to a Base64 string. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.IBase64UrlEncoder.Decode(System.String)"> |
| | | <summary> |
| | | Decodes the Base64 string to a byte array. |
| | | </summary> |
| | | </member> |
| | | <member name="T:JWT.IDateTimeProvider"> |
| | | <summary> |
| | | Represents a DateTime provider. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.IDateTimeProvider.GetNow"> |
| | | <summary> |
| | | Gets the current DateTime. |
| | | </summary> |
| | | </member> |
| | | <member name="T:JWT.IJsonSerializer"> |
| | | <summary> |
| | | Provides JSON Serialize and Deserialize. Allows custom serializers used. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.IJsonSerializer.Serialize(System.Object)"> |
| | | <summary> |
| | | Serialize an object to JSON string |
| | | </summary> |
| | | <param name="obj">object</param> |
| | | <returns>JSON string</returns> |
| | | </member> |
| | | <member name="M:JWT.IJsonSerializer.Deserialize``1(System.String)"> |
| | | <summary> |
| | | Deserialize a JSON string to typed object. |
| | | </summary> |
| | | <typeparam name="T">type of object</typeparam> |
| | | <param name="json">JSON string</param> |
| | | <returns>Strongly-typed object</returns> |
| | | </member> |
| | | <member name="T:JWT.IJwtDecoder"> |
| | | <summary> |
| | | Represents a JWT decoder. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.IJwtDecoder.DecodeHeader(System.String)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the header. |
| | | </summary> |
| | | <param name="token">The JWT</param> |
| | | </member> |
| | | <member name="M:JWT.IJwtDecoder.DecodeHeader``1(JWT.JwtParts)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the header as an object. |
| | | </summary> |
| | | <param name="jwt">The JWT</param> |
| | | </member> |
| | | <member name="M:JWT.IJwtDecoder.Decode(JWT.JwtParts)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload. |
| | | </summary> |
| | | <param name="jwt">The JWT</param> |
| | | <returns>A string containing the JSON payload</returns> |
| | | </member> |
| | | <member name="M:JWT.IJwtDecoder.Decode(JWT.JwtParts,System.Byte[],System.Boolean)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload. |
| | | </summary> |
| | | <param name="jwt">The JWT</param> |
| | | <param name="key">The key that were used to sign the JWT</param> |
| | | <param name="verify">Whether to verify the signature (default is true)</param> |
| | | <returns>A string containing the JSON payload</returns> |
| | | </member> |
| | | <member name="M:JWT.IJwtDecoder.Decode(JWT.JwtParts,System.Byte[][],System.Boolean)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload. |
| | | </summary> |
| | | <param name="jwt">The JWT</param> |
| | | <param name="keys">The keys provided which one of them was used to sign the JWT</param> |
| | | <param name="verify">Whether to verify the signature (default is true)</param> |
| | | <returns>A string containing the JSON payload</returns> |
| | | </member> |
| | | <member name="M:JWT.IJwtDecoder.DecodeToObject``1(JWT.JwtParts)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload as an object. |
| | | </summary> |
| | | <typeparam name="T">The type to return</typeparam> |
| | | <param name="jwt">The JWT</param> |
| | | <returns>An object representing the payload</returns> |
| | | </member> |
| | | <member name="M:JWT.IJwtDecoder.DecodeToObject``1(JWT.JwtParts,System.Byte[],System.Boolean)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload as an object. |
| | | </summary> |
| | | <typeparam name="T">The type to return</typeparam> |
| | | <param name="jwt">The JWT</param> |
| | | <param name="key">The key that was used to sign the JWT</param> |
| | | <param name="verify">Whether to verify the signature (default is true)</param> |
| | | <returns>An object representing the payload</returns> |
| | | </member> |
| | | <member name="M:JWT.IJwtDecoder.DecodeToObject``1(JWT.JwtParts,System.Byte[][],System.Boolean)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload as an object. |
| | | </summary> |
| | | <typeparam name="T">The type to return</typeparam> |
| | | <param name="jwt">The JWT</param> |
| | | <param name="keys">The keys which one of them was used to sign the JWT</param> |
| | | <param name="verify">Whether to verify the signature (default is true)</param> |
| | | <returns>An object representing the payload</returns> |
| | | </member> |
| | | <member name="T:JWT.JwtDecoderExtensions"> |
| | | <summary> |
| | | Extension methods for <seealso cref="T:JWT.IJwtDecoder" /> |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoderExtensions.Decode(JWT.IJwtDecoder,System.String)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload. |
| | | </summary> |
| | | <param name="decoder">The decoder instance</param> |
| | | <param name="token">The JWT</param> |
| | | <returns>A string containing the JSON payload</returns> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | <exception cref="T:JWT.Exceptions.InvalidTokenPartsException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoderExtensions.Decode(JWT.IJwtDecoder,JWT.JwtParts)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload. |
| | | </summary> |
| | | <param name="decoder">The decoder instance</param> |
| | | <param name="jwt">The JWT</param> |
| | | <returns>A string containing the JSON payload</returns> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoderExtensions.Decode(JWT.IJwtDecoder,System.String,System.Byte[],System.Boolean)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload. |
| | | </summary> |
| | | <param name="decoder">The decoder instance</param> |
| | | <param name="token">The JWT</param> |
| | | <param name="key">The key that was used to sign the JWT</param> |
| | | <param name="verify">Whether to verify the signature (default is true)</param> |
| | | <returns>A string containing the JSON payload</returns> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | <exception cref="T:JWT.Exceptions.InvalidTokenPartsException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoderExtensions.Decode(JWT.IJwtDecoder,System.String,System.Byte[][],System.Boolean)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload. |
| | | </summary> |
| | | <param name="decoder">The decoder instance</param> |
| | | <param name="token">The JWT</param> |
| | | <param name="keys">The keys that were used to sign the JWT</param> |
| | | <param name="verify">Whether to verify the signature (default is true)</param> |
| | | <returns>A string containing the JSON payload</returns> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | <exception cref="T:JWT.Exceptions.InvalidTokenPartsException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoderExtensions.Decode(JWT.IJwtDecoder,System.String,System.String,System.Boolean)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload as an dictionary. |
| | | </summary> |
| | | <param name="decoder">The decoder instance</param> |
| | | <param name="token">The JWT</param> |
| | | <param name="key">The key that was used to sign the JWT</param> |
| | | <param name="verify">Whether to verify the signature (default is true)</param> |
| | | <returns>An object representing the payload</returns> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoderExtensions.Decode(JWT.IJwtDecoder,System.String,System.String[],System.Boolean)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload as an dictionary. |
| | | </summary> |
| | | <param name="decoder">The decoder instance</param> |
| | | <param name="token">The JWT</param> |
| | | <param name="keys">The key which one of them was used to sign the JWT</param> |
| | | <param name="verify">Whether to verify the signature (default is true)</param> |
| | | <returns>An object representing the payload</returns> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoderExtensions.DecodeToObject``1(JWT.IJwtDecoder,System.String)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload as an object. |
| | | </summary> |
| | | <typeparam name="T">The type to return</typeparam> |
| | | <param name="decoder">The decoder instance</param> |
| | | <param name="token">The JWT</param> |
| | | <returns>An object representing the payload</returns> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoderExtensions.DecodeToObject(JWT.IJwtDecoder,System.String)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload as a dictionary. |
| | | </summary> |
| | | <param name="decoder">The decoder instance</param> |
| | | <param name="token">The JWT</param> |
| | | <returns>An object representing the payload</returns> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoderExtensions.DecodeToObject(JWT.IJwtDecoder,System.String,System.Byte[],System.Boolean)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload as a dictionary. |
| | | </summary> |
| | | <param name="decoder">The decoder instance</param> |
| | | <param name="token">The JWT</param> |
| | | <param name="key">The key that was used to sign the JWT</param> |
| | | <param name="verify">Whether to verify the signature (default is true)</param> |
| | | <returns>An object representing the payload</returns> |
| | | <exception cref = "T:System.ArgumentException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | <exception cref="T:JWT.Exceptions.InvalidTokenPartsException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoderExtensions.DecodeToObject(JWT.IJwtDecoder,System.String,System.Byte[][],System.Boolean)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload as a dictionary. |
| | | </summary> |
| | | <param name="decoder">The decoder instance</param> |
| | | <param name="token">The JWT</param> |
| | | <param name="keys">The keys that were used to sign the JWT</param> |
| | | <param name="verify">Whether to verify the signature (default is true)</param> |
| | | <returns>A string containing the JSON payload</returns> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | <exception cref="T:JWT.Exceptions.InvalidTokenPartsException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoderExtensions.DecodeToObject``1(JWT.IJwtDecoder,System.String,System.String,System.Boolean)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload as an object. |
| | | </summary> |
| | | <typeparam name="T">The type to return</typeparam> |
| | | <param name="decoder">The decoder instance</param> |
| | | <param name="token">The JWT</param> |
| | | <param name="key">The key that was used to sign the JWT</param> |
| | | <param name="verify">Whether to verify the signature (default is true)</param> |
| | | <returns>An object representing the payload</returns> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoderExtensions.DecodeToObject``1(JWT.IJwtDecoder,System.String,System.Byte[],System.Boolean)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload as an object. |
| | | </summary> |
| | | <typeparam name="T">The type to return</typeparam> |
| | | <param name="decoder">The decoder instance</param> |
| | | <param name="token">The JWT</param> |
| | | <param name="key">The key that was used to sign the JWT</param> |
| | | <param name="verify">Whether to verify the signature (default is true)</param> |
| | | <returns>An object representing the payload</returns> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoderExtensions.DecodeToObject``1(JWT.IJwtDecoder,System.String,System.Byte[][],System.Boolean)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload as an object. |
| | | </summary> |
| | | <typeparam name="T">The type to return</typeparam> |
| | | <param name="decoder">The decoder instance</param> |
| | | <param name="token">The JWT</param> |
| | | <param name="keys">The keys provided which one of them was used to sign the JWT</param> |
| | | <param name="verify">Whether to verify the signature (default is true)</param> |
| | | <returns>An object representing the payload</returns> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoderExtensions.DecodeToObject``1(JWT.IJwtDecoder,System.String,System.String[],System.Boolean)"> |
| | | <summary> |
| | | Given a JWT, decodes it and return the payload as an object. |
| | | </summary> |
| | | <typeparam name="T">The type to return</typeparam> |
| | | <param name="decoder">The decoder instance</param> |
| | | <param name="token">The JWT</param> |
| | | <param name="keys">The keys provided which one of them was used to sign the JWT</param> |
| | | <param name="verify">Whether to verify the signature (default is true)</param> |
| | | <returns>An object representing the payload</returns> |
| | | </member> |
| | | <member name="T:JWT.IJwtEncoder"> |
| | | <summary> |
| | | Represents a JWT encoder. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.IJwtEncoder.Encode(System.Collections.Generic.IDictionary{System.String,System.Object},System.Object,System.Byte[])"> |
| | | <summary> |
| | | Creates a JWT given a header, a payload, the signing key, and the algorithm to use. |
| | | </summary> |
| | | <param name="extraHeaders">An arbitrary set of extra headers. Will be augmented with the standard "typ" and "alg" headers</param> |
| | | <param name="payload">An arbitrary payload (must be serializable to JSON)</param> |
| | | <param name="key">The key bytes used to sign the token</param> |
| | | <returns>The generated JWT</returns> |
| | | </member> |
| | | <member name="T:JWT.JwtEncoderExtensions"> |
| | | <summary> |
| | | Extension methods for <seealso cref="T:JWT.IJwtEncoder" /> |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.JwtEncoderExtensions.Encode(JWT.IJwtEncoder,System.Object,System.String)"> |
| | | <summary> |
| | | Creates a JWT given a payload, the signing key, and the algorithm to use. |
| | | </summary> |
| | | <param name="encoder">The encoder instance</param> |
| | | <param name="payload">An arbitrary payload (must be serializable to JSON)</param> |
| | | <param name="key">The key used to sign the token</param> |
| | | <returns>The generated JWT</returns> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtEncoderExtensions.Encode(JWT.IJwtEncoder,System.Object,System.Byte[])"> |
| | | <summary> |
| | | Creates a JWT given a payload, the signing key, and the algorithm to use. |
| | | </summary> |
| | | <param name="encoder">The encoder instance</param> |
| | | <param name="payload">An arbitrary payload (must be serializable to JSON)</param> |
| | | <param name="key">The key used to sign the token</param> |
| | | <returns>The generated JWT</returns> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtEncoderExtensions.Encode(JWT.IJwtEncoder,System.Collections.Generic.IDictionary{System.String,System.Object},System.Object,System.String)"> |
| | | <summary> |
| | | Creates a JWT given a set of arbitrary extra headers, a payload, the signing key, and the algorithm to use. |
| | | </summary> |
| | | <param name="encoder">The encoder instance</param> |
| | | <param name="extraHeaders">An arbitrary set of extra headers. Will be augmented with the standard "typ" and "alg" headers</param> |
| | | <param name="payload">An arbitrary payload (must be serializable to JSON)</param> |
| | | <param name="key">The key bytes used to sign the token</param> |
| | | <returns>The generated JWT</returns> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | </member> |
| | | <member name="T:JWT.IJwtValidator"> |
| | | <summary> |
| | | Represents a JWT validator. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.IJwtValidator.Validate(System.String,System.String,System.String[])"> |
| | | <summary> |
| | | Given the JWT, verifies its signature correctness. |
| | | </summary> |
| | | <param name="decodedPayload">>An arbitrary payload (already serialized to JSON)</param> |
| | | <param name="signature">Decoded body</param> |
| | | <param name="decodedSignatures">The signatures to validate with</param> |
| | | </member> |
| | | <member name="M:JWT.IJwtValidator.Validate(System.String,JWT.Algorithms.IAsymmetricAlgorithm,System.Byte[],System.Byte[])"> |
| | | <summary> |
| | | Given the JWT, verifies its signature correctness. |
| | | </summary> |
| | | <remarks> |
| | | Used by the asymmetric algorithms only. |
| | | </remarks> |
| | | <param name="decodedPayload">>An arbitrary payload (already serialized to JSON)</param> |
| | | <param name="alg">The asymmetric algorithm to validate with</param> |
| | | <param name="bytesToSign">The header and payload bytes to validate</param> |
| | | <param name="decodedSignature">The signature to validate with</param> |
| | | </member> |
| | | <member name="M:JWT.IJwtValidator.TryValidate(System.String,System.String,System.String,System.Exception@)"> |
| | | <summary> |
| | | Given the JWT, verifies its signature correctness without throwing an exception but returning it instead. |
| | | </summary> |
| | | <param name="payloadJson">>An arbitrary payload (already serialized to JSON)</param> |
| | | <param name="signature">Decoded body</param> |
| | | <param name="decodedSignature">The signature to validate with</param> |
| | | <param name="ex">The resulting validation exception, if any</param> |
| | | <returns>Returns <c>true</c> if exception is JWT is valid and exception is null, otherwise false</returns> |
| | | </member> |
| | | <member name="M:JWT.IJwtValidator.TryValidate(System.String,System.String,System.String[],System.Exception@)"> |
| | | <summary> |
| | | Given the JWT, verifies its signature correctness without throwing an exception but returning it instead. |
| | | </summary> |
| | | <param name="payloadJson">>An arbitrary payload (already serialized to JSON)</param> |
| | | <param name="signature">Decoded body</param> |
| | | <param name="decodedSignature">The signatures to validate with</param> |
| | | <param name="ex">The resulting validation exception, if any</param> |
| | | <returns>Returns <c>true</c> if exception is JWT is valid and exception is null, otherwise false</returns> |
| | | </member> |
| | | <member name="M:JWT.IJwtValidator.TryValidate(System.String,JWT.Algorithms.IAsymmetricAlgorithm,System.Byte[],System.Byte[],System.Exception@)"> |
| | | <summary> |
| | | Given the JWT, verifies its signatures correctness without throwing an exception but returning it instead. |
| | | </summary> |
| | | <param name="payloadJson">>An arbitrary payload (already serialized to JSON)</param> |
| | | <param name="alg">The asymmetric algorithm to validate with</param> |
| | | <param name="bytesToSign">The header and payload bytes to validate</param> |
| | | <param name="decodedSignature">The decodedSignatures to validate with</param> |
| | | <param name="ex">Validation exception, if any</param> |
| | | <returns>True if exception is JWT is valid and exception is null, otherwise false</returns> |
| | | </member> |
| | | <member name="T:JWT.JwtBase64UrlEncoder"> |
| | | <summary> |
| | | Base64 encoding/decoding implementation according to the JWT spec |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.JwtBase64UrlEncoder.Encode(System.Byte[])"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtBase64UrlEncoder.Decode(System.String)"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:System.FormatException" /> |
| | | </member> |
| | | <member name="T:JWT.JwtDecoder"> |
| | | <summary> |
| | | Decodes JWT. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoder.#ctor(JWT.IJsonSerializer,JWT.IBase64UrlEncoder)"> |
| | | <summary> |
| | | Creates an instance of <see cref="T:JWT.JwtDecoder" /> |
| | | </summary> |
| | | <remarks> |
| | | This overload supplies no <see cref="T:JWT.IJwtValidator" /> and no <see cref="T:JWT.Algorithms.IAlgorithmFactory" /> so the resulting decoder cannot be used for signature validation. |
| | | </remarks> |
| | | <param name="jsonSerializer">The Json Serializer</param> |
| | | <param name="urlEncoder">The Base64 URL Encoder</param> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoder.#ctor(JWT.IJsonSerializer,JWT.IJwtValidator,JWT.IBase64UrlEncoder,JWT.Algorithms.IAlgorithmFactory)"> |
| | | <summary> |
| | | Creates an instance of <see cref="T:JWT.JwtDecoder" /> |
| | | </summary> |
| | | <param name="jsonSerializer">The Json Serializer</param> |
| | | <param name="jwtValidator">The Jwt validator</param> |
| | | <param name="urlEncoder">The Base64 URL Encoder</param> |
| | | <param name="algFactory">The Algorithm Factory</param> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoder.#ctor(JWT.IJsonSerializer,JWT.IJwtValidator,JWT.IBase64UrlEncoder,JWT.Algorithms.IJwtAlgorithm)"> |
| | | <summary> |
| | | Creates an instance of <see cref="T:JWT.JwtDecoder" /> |
| | | </summary> |
| | | <param name="jsonSerializer">The Json Serializer</param> |
| | | <param name="jwtValidator">The Jwt validator</param> |
| | | <param name="urlEncoder">The Base64 URL Encoder</param> |
| | | <param name="algorithm">The Algorithm</param> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoder.DecodeHeader(System.String)"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:JWT.Exceptions.InvalidTokenPartsException" /> |
| | | <exception cref="T:System.FormatException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoder.DecodeHeader``1(JWT.JwtParts)"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | <exception cref="T:System.FormatException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoder.Decode(JWT.JwtParts)"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoder.Decode(JWT.JwtParts,System.Byte[],System.Boolean)"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | <exception cref="T:JWT.Exceptions.InvalidTokenPartsException" /> |
| | | <exception cref="T:System.FormatException" /> |
| | | <exception cref="T:JWT.Exceptions.SignatureVerificationException" /> |
| | | <exception cref="T:JWT.Exceptions.TokenExpiredException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoder.Decode(JWT.JwtParts,System.Byte[][],System.Boolean)"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | <exception cref="T:System.FormatException" /> |
| | | <exception cref="T:JWT.Exceptions.SignatureVerificationException" /> |
| | | <exception cref="T:JWT.Exceptions.TokenExpiredException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoder.DecodeToObject``1(JWT.JwtParts)"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | <exception cref="T:System.FormatException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoder.DecodeToObject``1(JWT.JwtParts,System.Byte[],System.Boolean)"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | <exception cref="T:System.FormatException" /> |
| | | <exception cref="T:JWT.Exceptions.SignatureVerificationException" /> |
| | | <exception cref="T:JWT.Exceptions.TokenExpiredException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoder.DecodeToObject``1(JWT.JwtParts,System.Byte[][],System.Boolean)"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | <exception cref="T:System.FormatException" /> |
| | | <exception cref="T:JWT.Exceptions.SignatureVerificationException" /> |
| | | <exception cref="T:JWT.Exceptions.TokenExpiredException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoder.Validate(System.String[],System.Byte[])"> |
| | | <summary> |
| | | Prepares data before calling <see cref="T:JWT.IJwtValidator" /> |
| | | </summary> |
| | | <param name="parts">The array representation of a JWT</param> |
| | | <param name="key">The key that was used to sign the JWT</param> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | <exception cref="T:System.FormatException" /> |
| | | <exception cref="T:JWT.Exceptions.SignatureVerificationException" /> |
| | | <exception cref="T:JWT.Exceptions.TokenExpiredException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoder.Validate(System.String[],System.Byte[][])"> |
| | | <summary> |
| | | Prepares data before calling <see cref="T:JWT.IJwtValidator" /> |
| | | </summary> |
| | | <param name="parts">The array representation of a JWT</param> |
| | | <param name="keys">The keys provided which one of them was used to sign the JWT</param> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | <exception cref="T:System.FormatException" /> |
| | | <exception cref="T:JWT.Exceptions.SignatureVerificationException" /> |
| | | <exception cref="T:JWT.Exceptions.TokenExpiredException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtDecoder.Validate(JWT.JwtParts,System.Byte[][])"> |
| | | <summary> |
| | | Prepares data before calling <see cref="T:JWT.IJwtValidator" /> |
| | | </summary> |
| | | <param name="jwt">The JWT parts</param> |
| | | <param name="keys">The keys provided which one of them was used to sign the JWT</param> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | <exception cref="T:System.FormatException" /> |
| | | <exception cref="T:JWT.Exceptions.SignatureVerificationException" /> |
| | | <exception cref="T:JWT.Exceptions.TokenExpiredException" /> |
| | | </member> |
| | | <member name="P:JWT.JwtDecoderContext.Token"> |
| | | <summary> |
| | | Unmodified JWT. |
| | | </summary> |
| | | </member> |
| | | <member name="P:JWT.JwtDecoderContext.Header"> |
| | | <summary> |
| | | Deserialized JWT header. |
| | | </summary> |
| | | </member> |
| | | <member name="P:JWT.JwtDecoderContext.Payload"> |
| | | <summary> |
| | | Decoded JWT payload. |
| | | </summary> |
| | | </member> |
| | | <member name="T:JWT.JwtEncoder"> |
| | | <summary> |
| | | Encodes Jwt. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.JwtEncoder.#ctor(JWT.Algorithms.IJwtAlgorithm,JWT.IJsonSerializer,JWT.IBase64UrlEncoder)"> |
| | | <summary> |
| | | Creates an instance of <see cref="T:JWT.JwtEncoder" /> |
| | | </summary> |
| | | <param name="jsonSerializer">The Json Serializer</param> |
| | | <param name="algorithm">The Jwt Algorithm</param> |
| | | <param name="urlEncoder">The Base64 URL Encoder</param> |
| | | </member> |
| | | <member name="M:JWT.JwtEncoder.Encode(System.Collections.Generic.IDictionary{System.String,System.Object},System.Object,System.Byte[])"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | </member> |
| | | <member name="T:JWT.JwtParts"> |
| | | <summary> |
| | | Represent the parts of a JWT |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.JwtParts.#ctor(System.String)"> |
| | | <summary> |
| | | Creates a new instance of <see cref="T:JWT.JwtParts" /> from the string representation of a JWT |
| | | </summary> |
| | | <param name="token">The string representation of a JWT</param> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtParts.#ctor(System.String[])"> |
| | | <summary> |
| | | Creates a new instance of <see cref="T:JWT.JwtParts" /> from the array representation of a JWT |
| | | </summary> |
| | | <param name="parts">The array representation of a JWT</param> |
| | | <exception cref="T:System.ArgumentNullException" /> |
| | | <exception cref="T:System.ArgumentOutOfRangeException" /> |
| | | </member> |
| | | <member name="P:JWT.JwtParts.Header"> |
| | | <summary> |
| | | Gets the Header part of a JWT |
| | | </summary> |
| | | </member> |
| | | <member name="P:JWT.JwtParts.Payload"> |
| | | <summary> |
| | | Gets the Payload part of a JWT |
| | | </summary> |
| | | </member> |
| | | <member name="P:JWT.JwtParts.Signature"> |
| | | <summary> |
| | | Gets the Signature part of a JWT |
| | | </summary> |
| | | </member> |
| | | <member name="P:JWT.JwtParts.Parts"> |
| | | <summary> |
| | | Gets the parts of a JWT |
| | | </summary> |
| | | </member> |
| | | <member name="T:JWT.JwtParts.JwtPartsIndex"> |
| | | <summary> |
| | | Helper enum to get the correct part from the array representation of a JWT parts |
| | | </summary> |
| | | </member> |
| | | <member name="T:JWT.JwtValidator"> |
| | | <summary> |
| | | Jwt validator. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.JwtValidator.#ctor(JWT.IJsonSerializer,JWT.IDateTimeProvider)"> |
| | | <summary> |
| | | Creates an instance of <see cref="T:JWT.JwtValidator" /> |
| | | </summary> |
| | | <param name="jsonSerializer">The Json Serializer</param> |
| | | <param name="dateTimeProvider">The DateTime Provider</param> |
| | | </member> |
| | | <member name="M:JWT.JwtValidator.Validate(System.String,System.String,System.String[])"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:JWT.Exceptions.SignatureVerificationException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtValidator.Validate(System.String,JWT.Algorithms.IAsymmetricAlgorithm,System.Byte[],System.Byte[])"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | <exception cref="T:JWT.Exceptions.SignatureVerificationException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtValidator.TryValidate(System.String,System.String,System.String,System.Exception@)"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtValidator.TryValidate(System.String,System.String,System.String[],System.Exception@)"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtValidator.TryValidate(System.String,JWT.Algorithms.IAsymmetricAlgorithm,System.Byte[],System.Byte[],System.Exception@)"> |
| | | <inheritdoc /> |
| | | <exception cref="T:System.ArgumentException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtValidator.CompareCryptoWithSignature(System.String,System.String)"> |
| | | <remarks>In the future this method can be opened for extension hence made protected virtual</remarks> |
| | | </member> |
| | | <member name="M:JWT.JwtValidator.ValidateExpClaim(System.Collections.Generic.IDictionary{System.String,System.Object},System.Double)"> |
| | | <summary> |
| | | Verifies the 'exp' claim. |
| | | </summary> |
| | | <remarks>See https://tools.ietf.org/html/rfc7515#section-4.1.4</remarks> |
| | | <exception cref="T:JWT.Exceptions.SignatureVerificationException" /> |
| | | <exception cref="T:JWT.Exceptions.TokenExpiredException" /> |
| | | </member> |
| | | <member name="M:JWT.JwtValidator.ValidateNbfClaim(System.Collections.Generic.IDictionary{System.String,System.Object},System.Double)"> |
| | | <summary> |
| | | Verifies the 'nbf' claim. |
| | | </summary> |
| | | <remarks>See https://tools.ietf.org/html/rfc7515#section-4.1.5</remarks> |
| | | <exception cref="T:JWT.Exceptions.SignatureVerificationException" /> |
| | | </member> |
| | | <member name="T:JWT.Serializers.JsonNetSerializer"> |
| | | <summary> |
| | | JSON serializer using Newtonsoft.Json implementation. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.Serializers.JsonNetSerializer.#ctor"> |
| | | <summary> |
| | | Creates a new instance of <see cref="T:JWT.Serializers.JsonNetSerializer" /> |
| | | </summary> |
| | | <remarks>Uses <see cref="M:Newtonsoft.Json.JsonSerializer.CreateDefault" /> as internal serializer</remarks> |
| | | </member> |
| | | <member name="M:JWT.Serializers.JsonNetSerializer.#ctor(Newtonsoft.Json.JsonSerializer)"> |
| | | <summary> |
| | | Creates a new instance of <see cref="T:JWT.Serializers.JsonNetSerializer" /> |
| | | </summary> |
| | | <param name="serializer">Internal <see cref="T:Newtonsoft.Json.JsonSerializer" /> to use for serialization</param> |
| | | </member> |
| | | <member name="M:JWT.Serializers.JsonNetSerializer.Serialize(System.Object)"> |
| | | <inheritdoc /> |
| | | </member> |
| | | <member name="M:JWT.Serializers.JsonNetSerializer.Deserialize``1(System.String)"> |
| | | <inheritdoc /> |
| | | </member> |
| | | <member name="P:JWT.UnixEpoch.Value"> |
| | | <summary> |
| | | Describes a point in time, defined as the number of seconds that have elapsed since 00:00:00 UTC, Thursday, 1 January 1970, not counting leap seconds. |
| | | See https://en.wikipedia.org/wiki/Unix_time /> |
| | | </summary> |
| | | </member> |
| | | <member name="T:JWT.UtcDateTimeProvider"> |
| | | <summary> |
| | | Provider for UTC DateTime. |
| | | </summary> |
| | | </member> |
| | | <member name="M:JWT.UtcDateTimeProvider.GetNow"> |
| | | <summary> |
| | | Retuns the current time (UTC). |
| | | </summary> |
| | | <returns></returns> |
| | | </member> |
| | | </members> |
| | | </doc> |
| WebApi/packages/JWT.7.3.0/lib/net40/JWT.pdb
WebApi/packages/JWT.7.3.0/lib/net40/JWT.xml
WebApi/packages/JWT.7.3.0/lib/net46/JWT.pdb
WebApi/packages/JWT.7.3.0/lib/net46/JWT.xml
WebApi/packages/JWT.7.3.0/lib/netstandard1.3/JWT.pdb
WebApi/packages/JWT.7.3.0/lib/netstandard1.3/JWT.xml
WebApi/packages/JWT.7.3.0/lib/netstandard2.0/JWT.pdb
WebApi/packages/JWT.7.3.0/lib/netstandard2.0/JWT.xml
WebApi/packages/Microsoft.ApplicationInsights.2.0.0/Microsoft.ApplicationInsights.2.0.0.nupkg
WebApi/packages/Microsoft.ApplicationInsights.2.0.0/lib/dotnet5.4/Microsoft.ApplicationInsights.XML
WebApi/packages/Microsoft.ApplicationInsights.2.0.0/lib/net40/Microsoft.ApplicationInsights.XML
WebApi/packages/Microsoft.ApplicationInsights.2.0.0/lib/net45/Microsoft.ApplicationInsights.XML
WebApi/packages/Microsoft.ApplicationInsights.2.0.0/lib/net46/Microsoft.ApplicationInsights.XML
WebApi/packages/Microsoft.ApplicationInsights.Agent.Intercept.1.2.1/Microsoft.ApplicationInsights.Agent.Intercept.1.2.1.nupkg
WebApi/packages/Microsoft.ApplicationInsights.DependencyCollector.2.0.0/Microsoft.ApplicationInsights.DependencyCollector.2.0.0.nupkg
WebApi/packages/Microsoft.ApplicationInsights.DependencyCollector.2.0.0/content/ApplicationInsights.config.install.xdt
WebApi/packages/Microsoft.ApplicationInsights.DependencyCollector.2.0.0/content/ApplicationInsights.config.transform
WebApi/packages/Microsoft.ApplicationInsights.DependencyCollector.2.0.0/content/ApplicationInsights.config.uninstall.xdt
WebApi/packages/Microsoft.ApplicationInsights.DependencyCollector.2.0.0/lib/net40/Microsoft.AI.DependencyCollector.XML
WebApi/packages/Microsoft.ApplicationInsights.DependencyCollector.2.0.0/lib/net45/Microsoft.AI.DependencyCollector.XML
WebApi/packages/Microsoft.ApplicationInsights.JavaScript.0.22.9-build00167/Microsoft.ApplicationInsights.JavaScript.0.22.9-build00167.nupkg
WebApi/packages/Microsoft.ApplicationInsights.JavaScript.0.22.9-build00167/content/scripts/ai.0.22.9-build00167.js
WebApi/packages/Microsoft.ApplicationInsights.JavaScript.0.22.9-build00167/content/scripts/ai.0.22.9-build00167.min.js
WebApi/packages/Microsoft.ApplicationInsights.JavaScript.0.22.9-build00167/tools/prefix.html
WebApi/packages/Microsoft.ApplicationInsights.PerfCounterCollector.2.0.0/Microsoft.ApplicationInsights.PerfCounterCollector.2.0.0.nupkg
WebApi/packages/Microsoft.ApplicationInsights.PerfCounterCollector.2.0.0/content/ApplicationInsights.config.install.xdt
WebApi/packages/Microsoft.ApplicationInsights.PerfCounterCollector.2.0.0/content/ApplicationInsights.config.transform
WebApi/packages/Microsoft.ApplicationInsights.PerfCounterCollector.2.0.0/content/ApplicationInsights.config.uninstall.xdt
WebApi/packages/Microsoft.ApplicationInsights.Web.2.0.0/Microsoft.ApplicationInsights.Web.2.0.0.nupkg
WebApi/packages/Microsoft.ApplicationInsights.Web.2.0.0/content/net40/ApplicationInsights.config.install.xdt
WebApi/packages/Microsoft.ApplicationInsights.Web.2.0.0/content/net40/ApplicationInsights.config.transform
WebApi/packages/Microsoft.ApplicationInsights.Web.2.0.0/content/net40/ApplicationInsights.config.uninstall.xdt
WebApi/packages/Microsoft.ApplicationInsights.Web.2.0.0/content/net40/web.config.install.xdt
WebApi/packages/Microsoft.ApplicationInsights.Web.2.0.0/content/net40/web.config.uninstall.xdt
WebApi/packages/Microsoft.ApplicationInsights.Web.2.0.0/content/net45/ApplicationInsights.config.install.xdt
WebApi/packages/Microsoft.ApplicationInsights.Web.2.0.0/content/net45/ApplicationInsights.config.transform
WebApi/packages/Microsoft.ApplicationInsights.Web.2.0.0/content/net45/ApplicationInsights.config.uninstall.xdt
WebApi/packages/Microsoft.ApplicationInsights.Web.2.0.0/content/net45/web.config.install.xdt
WebApi/packages/Microsoft.ApplicationInsights.Web.2.0.0/content/net45/web.config.uninstall.xdt
WebApi/packages/Microsoft.ApplicationInsights.Web.2.0.0/lib/net40/Microsoft.AI.Web.XML
WebApi/packages/Microsoft.ApplicationInsights.Web.2.0.0/lib/net45/Microsoft.AI.Web.XML
WebApi/packages/Microsoft.ApplicationInsights.WindowsServer.2.0.0/Microsoft.ApplicationInsights.WindowsServer.2.0.0.nupkg
WebApi/packages/Microsoft.ApplicationInsights.WindowsServer.2.0.0/Tools/install.ps1
WebApi/packages/Microsoft.ApplicationInsights.WindowsServer.2.0.0/content/ApplicationInsights.config.install.xdt
WebApi/packages/Microsoft.ApplicationInsights.WindowsServer.2.0.0/content/ApplicationInsights.config.transform
WebApi/packages/Microsoft.ApplicationInsights.WindowsServer.2.0.0/content/ApplicationInsights.config.uninstall.xdt
WebApi/packages/Microsoft.ApplicationInsights.WindowsServer.2.0.0/lib/net40/Microsoft.AI.WindowsServer.XML
WebApi/packages/Microsoft.ApplicationInsights.WindowsServer.2.0.0/lib/net45/Microsoft.AI.WindowsServer.XML
WebApi/packages/Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.2.0.0/Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.2.0.0.nupkg
WebApi/packages/Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.2.0.0/content/ApplicationInsights.config.install.xdt
WebApi/packages/Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.2.0.0/content/ApplicationInsights.config.transform
WebApi/packages/Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.2.0.0/content/ApplicationInsights.config.uninstall.xdt
WebApi/packages/Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.2.0.0/lib/net40/Microsoft.AI.ServerTelemetryChannel.XML
WebApi/packages/Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.2.0.0/lib/net45/Microsoft.AI.ServerTelemetryChannel.XML
WebApi/packages/Newtonsoft.Json.9.0.1/.signature.p7s
WebApi/packages/Newtonsoft.Json.9.0.1/Newtonsoft.Json.9.0.1.nupkg
WebApi/packages/Newtonsoft.Json.9.0.1/lib/net20/Newtonsoft.Json.xml
WebApi/packages/Newtonsoft.Json.9.0.1/lib/net35/Newtonsoft.Json.xml
WebApi/packages/Newtonsoft.Json.9.0.1/lib/net40/Newtonsoft.Json.xml
WebApi/packages/Newtonsoft.Json.9.0.1/lib/net45/Newtonsoft.Json.xml
WebApi/packages/Newtonsoft.Json.9.0.1/lib/netstandard1.0/Newtonsoft.Json.xml
WebApi/packages/Newtonsoft.Json.9.0.1/lib/portable-net40+sl5+wp80+win8+wpa81/Newtonsoft.Json.xml
WebApi/packages/Newtonsoft.Json.9.0.1/lib/portable-net45+wp80+win8+wpa81/Newtonsoft.Json.xml
WebApi/packages/Newtonsoft.Json.9.0.1/tools/install.ps1
WebForm/README.md |