Click or drag to resize

V8ScriptEngine Class

Represents an instance of the V8 JavaScript engine.
Inheritance Hierarchy
SystemObject
  Microsoft.ClearScriptScriptEngine
    Microsoft.ClearScript.V8V8ScriptEngine

Namespace: Microsoft.ClearScript.V8
Assembly: ClearScript.V8 (in ClearScript.V8.dll) Version: 7.4.5
Syntax
public sealed class V8ScriptEngine : ScriptEngine, 
	IScriptEngine, IDisposable

The V8ScriptEngine type exposes the following members.

Constructors
 NameDescription
Public methodV8ScriptEngine Initializes a new V8 script engine instance.
Public methodV8ScriptEngine(String) Initializes a new V8 script engine instance with the specified name.
Public methodV8ScriptEngine(V8RuntimeConstraints) Initializes a new V8 script engine instance with the specified resource constraints.
Public methodV8ScriptEngine(V8ScriptEngineFlags) Initializes a new V8 script engine instance with the specified options.
Public methodV8ScriptEngine(String, V8RuntimeConstraints) Initializes a new V8 script engine instance with the specified name and resource constraints.
Public methodV8ScriptEngine(String, V8ScriptEngineFlags) Initializes a new V8 script engine instance with the specified name and options.
Public methodV8ScriptEngine(V8RuntimeConstraints, V8ScriptEngineFlags) Initializes a new V8 script engine instance with the specified resource constraints and options.
Public methodV8ScriptEngine(V8ScriptEngineFlags, Int32) Initializes a new V8 script engine instance with the specified options and debug port.
Public methodV8ScriptEngine(String, V8RuntimeConstraints, V8ScriptEngineFlags) Initializes a new V8 script engine instance with the specified name, resource constraints, and options.
Public methodV8ScriptEngine(String, V8ScriptEngineFlags, Int32) Initializes a new V8 script engine instance with the specified name, options, and debug port.
Public methodV8ScriptEngine(V8RuntimeConstraints, V8ScriptEngineFlags, Int32) Initializes a new V8 script engine instance with the specified resource constraints, options, and debug port.
Public methodV8ScriptEngine(String, V8RuntimeConstraints, V8ScriptEngineFlags, Int32) Initializes a new V8 script engine instance with the specified name, resource constraints, options, and debug port.
Top
Properties
 NameDescription
Public propertyAccessContext Allows script code to access non-host resources.
(Inherited from ScriptEngine)
Public propertyAllowReflection Controls whether script code is permitted to use reflection.
(Inherited from ScriptEngine)
Public propertyContinuationCallback Gets or sets a callback that can be used to halt script execution.
(Inherited from ScriptEngine)
Public propertyCpuProfileSampleInterval Gets or sets the time interval between automatic CPU profile samples, in microseconds.
Public propertyCustomAttributeLoader Gets or sets the script engine's custom attribute loader.
(Inherited from ScriptEngine)
Public propertyDefaultAccess Gets or sets the default script access setting for all members of exposed objects.
(Inherited from ScriptEngine)
Public propertyDisableDynamicBinding Enables or disables dynamic method binding.
(Inherited from ScriptEngine)
Public propertyDisableExtensionMethods Enables or disables extension method support.
(Inherited from ScriptEngine)
Public propertyDisableFloatNarrowing Enables or disables floating point narrowing.
(Inherited from ScriptEngine)
Public propertyDisableListIndexTypeRestriction Enables or disables type restriction for array and list elements retrieved by index.
(Inherited from ScriptEngine)
Public propertyDisableTypeRestriction Enables or disables type restriction for field, property, and method return values.
(Inherited from ScriptEngine)
Public propertyDocumentSettings Gets or sets the script engine's document settings.
(Inherited from ScriptEngine)
Public propertyEnableAutoHostVariables Enables or disables automatic host variable tunneling for by-reference arguments to script functions and delegates.
(Inherited from ScriptEngine)
Public propertyEnableNullResultWrapping Enables or disables null wrapping for field, property, and method return values.
(Inherited from ScriptEngine)
Public propertyEnableRuntimeInterruptPropagation Enables or disables interrupt propagation in the V8 runtime.
Public propertyEnforceAnonymousTypeAccess Enables or disables access restrictions for anonymous types.
(Inherited from ScriptEngine)
Public propertyExposeHostObjectStaticMembers Controls whether host objects provide access to the static members of their exposed types to script code.
(Inherited from ScriptEngine)
Public propertyFileNameExtension Gets the script engine's recommended file name extension for script files.
(Overrides ScriptEngineFileNameExtension)
Public propertyFormatCode Enables or disables script code formatting.
(Inherited from ScriptEngine)
Public propertyGlobal Allows the host to access script resources.
(Overrides ScriptEngineGlobal)
Public propertyHostData Allows the host to attach arbitrary data to the script engine.
(Inherited from ScriptEngine)
Public propertyMaxRuntimeHeapSize Gets or sets a soft limit for the size of the V8 runtime's heap.
Public propertyMaxRuntimeStackUsage Gets or sets the maximum amount by which the V8 runtime is permitted to grow the stack during script execution.
Public propertyName Gets the name associated with the script engine instance.
(Inherited from ScriptEngine)
Public propertyNullExportValue Gets or sets the script engine's null export value.
(Inherited from ScriptEngine)
Public propertyRuntimeHeapSizeSampleInterval Gets or sets the minimum time interval between consecutive heap size samples.
Public propertyRuntimeHeapSizeViolationPolicy Gets or sets the V8 runtime's behavior in response to a violation of the maximum heap size.
Public propertyScript Allows the host to access script resources dynamically.
(Overrides ScriptEngineScript)
Public propertySuppressExtensionMethodEnumeration Enables or disables extension method enumeration.
Public propertySuppressInstanceMethodEnumeration Enables or disables instance method enumeration.
Public propertyUndefinedImportValue Gets or sets the script engine's undefined import value.
(Inherited from ScriptEngine)
Public propertyUseReflectionBindFallback Enables or disables the use of reflection-based method binding as a fallback.
(Inherited from ScriptEngine)
Public propertyVoidResultValue Gets or sets the script engine's void result export value.
(Inherited from ScriptEngine)
Top
Methods
 NameDescription
Public methodAddCOMObject(String, Guid) Creates a COM/ActiveX object and exposes it to script code. The registered class is specified by class identifier (CLSID).
(Inherited from ScriptEngine)
Public methodAddCOMObject(String, String) Creates a COM/ActiveX object and exposes it to script code. The registered class is specified by programmatic identifier (ProgID).
(Inherited from ScriptEngine)
Public methodAddCOMObject(String, HostItemFlags, Guid) Creates a COM/ActiveX object and exposes it to script code with the specified options. The registered class is specified by class identifier (CLSID).
(Inherited from ScriptEngine)
Public methodAddCOMObject(String, HostItemFlags, String) Creates a COM/ActiveX object and exposes it to script code with the specified options. The registered class is specified by programmatic identifier (ProgID).
(Inherited from ScriptEngine)
Public methodAddCOMObject(String, Guid, String) Creates a COM/ActiveX object on the specified server and exposes it to script code. The registered class is specified by class identifier (CLSID).
(Inherited from ScriptEngine)
Public methodAddCOMObject(String, String, String) Creates a COM/ActiveX object on the specified server and exposes it to script code. The registered class is specified by programmatic identifier (ProgID).
(Inherited from ScriptEngine)
Public methodAddCOMObject(String, HostItemFlags, Guid, String) Creates a COM/ActiveX object on the specified server and exposes it to script code with the specified options. The registered class is specified by class identifier (CLSID).
(Inherited from ScriptEngine)
Public methodAddCOMObject(String, HostItemFlags, String, String) Creates a COM/ActiveX object on the specified server and exposes it to script code with the specified options. The registered class is specified by programmatic identifier (ProgID).
(Inherited from ScriptEngine)
Public methodAddCOMType(String, Guid) Imports a COM/ActiveX type and exposes it to script code. The registered class is specified by class identifier (CLSID).
(Inherited from ScriptEngine)
Public methodAddCOMType(String, String) Imports a COM/ActiveX type and exposes it to script code. The registered class is specified by programmatic identifier (ProgID).
(Inherited from ScriptEngine)
Public methodAddCOMType(String, HostItemFlags, Guid) Imports a COM/ActiveX type and exposes it to script code with the specified options. The registered class is specified by class identifier (CLSID).
(Inherited from ScriptEngine)
Public methodAddCOMType(String, HostItemFlags, String) Imports a COM/ActiveX type and exposes it to script code with the specified options. The registered class is specified by programmatic identifier (ProgID).
(Inherited from ScriptEngine)
Public methodAddCOMType(String, Guid, String) Imports a COM/ActiveX type from the specified server and exposes it to script code. The registered class is specified by class identifier (CLSID).
(Inherited from ScriptEngine)
Public methodAddCOMType(String, String, String) Imports a COM/ActiveX type from the specified server and exposes it to script code. The registered class is specified by programmatic identifier (ProgID).
(Inherited from ScriptEngine)
Public methodAddCOMType(String, HostItemFlags, Guid, String) Imports a COM/ActiveX type from the specified server and exposes it to script code with the specified options. The registered class is specified by class identifier (CLSID).
(Inherited from ScriptEngine)
Public methodAddCOMType(String, HostItemFlags, String, String) Imports a COM/ActiveX type from the specified server and exposes it to script code with the specified options. The registered class is specified by programmatic identifier (ProgID).
(Inherited from ScriptEngine)
Public methodAddHostObject(String, Object) Exposes a host object to script code.
(Inherited from ScriptEngine)
Public methodAddHostObject(String, HostItemFlags, Object) Exposes a host object to script code with the specified options.
(Inherited from ScriptEngine)
Public methodAddHostType(Type) Exposes a host type to script code with a default name.
(Inherited from ScriptEngine)
Public methodAddHostType(HostItemFlags, Type) Exposes a host type to script code with a default name and the specified options.
(Inherited from ScriptEngine)
Public methodAddHostType(String, Type) Exposes a host type to script code.
(Inherited from ScriptEngine)
Public methodAddHostType(String, HostItemFlags, Type) Exposes a host type to script code with the specified options.
(Inherited from ScriptEngine)
Public methodAddHostType(String, String, Type) Exposes a host type to script code. The type is specified by name.
(Inherited from ScriptEngine)
Public methodAddHostType(String, HostItemFlags, String, Type) Exposes a host type to script code with the specified options. The type is specified by name.
(Inherited from ScriptEngine)
Public methodAddHostType(String, String, String, Type) Exposes a host type to script code. The type is specified by type name and assembly name.
(Inherited from ScriptEngine)
Public methodAddHostType(String, HostItemFlags, String, String, Type) Exposes a host type to script code with the specified options. The type is specified by type name and assembly name.
(Inherited from ScriptEngine)
Public methodAddHostTypes Exposes host types to script code.
(Inherited from ScriptEngine)
Public methodAddRestrictedHostObjectT(String, T) Exposes a host object to script code with the specified type restriction.
(Inherited from ScriptEngine)
Public methodAddRestrictedHostObjectT(String, HostItemFlags, T) Exposes a host object to script code with the specified type restriction and options.
(Inherited from ScriptEngine)
Public methodBeginCpuProfile(String) Begins collecting a new CPU profile.
Public methodBeginCpuProfile(String, V8CpuProfileFlags) Begins collecting a new CPU profile with the specified options.
Public methodCancelAwaitDebugger Resumes script execution if the script engine is waiting for a debugger connection.
Public methodCancelInterrupt Cancels any pending request to interrupt script execution.
Public methodCollectCpuProfileSample Collects a sample in all CPU profiles active in the V8 runtime.
Public methodCollectGarbage Performs garbage collection.
(Overrides ScriptEngineCollectGarbage(Boolean))
Public methodCompile(String) Creates a compiled script.
Public methodCompile(DocumentInfo, String) Creates a compiled script with the specified document meta-information.
Public methodCompile(String, String) Creates a compiled script with an associated document name.
Public methodCompile(String, V8CacheKind, Byte) Creates a compiled script, generating cache data for accelerated recompilation.
Public methodCompile(DocumentInfo, String, V8CacheKind, Byte) Creates a compiled script with the specified document meta-information, generating cache data for accelerated recompilation.
Public methodCompile(String, V8CacheKind, Byte, Boolean) Creates a compiled script, consuming previously generated cache data.
Public methodCompile(String, V8CacheKind, Byte, V8CacheResult) Creates a compiled script, consuming previously generated cache data and updating it if necessary.
Public methodCompile(String, String, V8CacheKind, Byte) Creates a compiled script with an associated document name, generating cache data for accelerated recompilation.
Public methodCompile(DocumentInfo, String, V8CacheKind, Byte, Boolean) Creates a compiled script with an associated document name, consuming previously generated cache data.
Public methodCompile(DocumentInfo, String, V8CacheKind, Byte, V8CacheResult) Creates a compiled script with the specified document meta-information, consuming previously generated cache data and updating it if necessary.
Public methodCompile(String, String, V8CacheKind, Byte, Boolean) Creates a compiled script with an associated document name, consuming previously generated cache data.
Public methodCompile(String, String, V8CacheKind, Byte, V8CacheResult) Creates a compiled script with an associated document name, consuming previously generated cache data and updating it if necessary.
Public methodCompileDocument(String) Loads and compiles a script document.
Public methodCompileDocument(String, DocumentCategory) Loads and compiles a document with the specified category.
Public methodCompileDocument(String, DocumentCategory, DocumentContextCallback) Loads and compiles a document with the specified category and context callback.
Public methodCompileDocument(String, V8CacheKind, Byte) Loads and compiles a script document, generating cache data for accelerated recompilation.
Public methodCompileDocument(String, DocumentCategory, V8CacheKind, Byte) Loads and compiles a document with the specified category, generating cache data for accelerated recompilation.
Public methodCompileDocument(String, V8CacheKind, Byte, Boolean) Loads and compiles a script document, consuming previously generated cache data.
Public methodCompileDocument(String, V8CacheKind, Byte, V8CacheResult) Loads and compiles a script document, consuming previously generated cache data and updating it if necessary.
Public methodCompileDocument(String, DocumentCategory, DocumentContextCallback, V8CacheKind, Byte) Loads and compiles a document with the specified category and context callback, generating cache data for accelerated recompilation.
Public methodCompileDocument(String, DocumentCategory, V8CacheKind, Byte, Boolean) Loads and compiles a document with the specified category, consuming previously generated cache data.
Public methodCompileDocument(String, DocumentCategory, V8CacheKind, Byte, V8CacheResult) Loads and compiles a document with the specified category, consuming previously generated cache data and updating it if necessary.
Public methodCompileDocument(String, DocumentCategory, DocumentContextCallback, V8CacheKind, Byte, Boolean) Loads and compiles a document with the specified category and context callback, consuming previously generated cache data.
Public methodCompileDocument(String, DocumentCategory, DocumentContextCallback, V8CacheKind, Byte, V8CacheResult) Loads and compiles a document with the specified category and context callback, consuming previously generated cache data and updating it if necessary.
Public methodDisposePerforms application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
(Inherited from ScriptEngine)
Protected methodDispose(Boolean) Releases the unmanaged resources used by the script engine and optionally releases the managed resources.
(Overrides ScriptEngineDispose(Boolean))
Public methodEndCpuProfile Completes and returns a CPU profile.
Public methodEqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
Public methodEvaluate(String) Evaluates script code.
(Inherited from ScriptEngine)
Public methodEvaluate(V8Script) Evaluates a compiled script.
Public methodEvaluate(DocumentInfo, String) Evaluates script code with the specified document meta-information.
(Inherited from ScriptEngine)
Public methodEvaluate(String, String) Evaluates script code with an associated document name.
(Inherited from ScriptEngine)
Public methodEvaluate(String, Boolean, String) Evaluates script code with an associated document name, optionally discarding the document after execution.
(Inherited from ScriptEngine)
Public methodEvaluateDocument(String) Loads and evaluates a script document.
(Inherited from ScriptEngine)
Public methodEvaluateDocument(String, DocumentCategory) Loads and evaluates a document with the specified category.
(Inherited from ScriptEngine)
Public methodEvaluateDocument(String, DocumentCategory, DocumentContextCallback) Loads and evaluates a document with the specified category and context callback.
(Inherited from ScriptEngine)
Public methodExecute(String) Executes script code.
(Inherited from ScriptEngine)
Public methodExecute(V8Script) Executes a compiled script.
Public methodExecute(DocumentInfo, String) Executes script code with the specified document meta-information.
(Inherited from ScriptEngine)
Public methodExecute(String, String) Executes script code with an associated document name.
(Inherited from ScriptEngine)
Public methodExecute(String, Boolean, String) Executes script code with an associated document name, optionally discarding the document after execution.
(Inherited from ScriptEngine)
Public methodExecuteCommand Executes script code as a command.
(Overrides ScriptEngineExecuteCommand(String))
Public methodExecuteDocument(String) Loads and executes a script document.
(Inherited from ScriptEngine)
Public methodExecuteDocument(String, DocumentCategory) Loads and executes a document with the specified category.
(Inherited from ScriptEngine)
Public methodExecuteDocument(String, DocumentCategory, DocumentContextCallback) Loads and executes a document with the specified category and context callback.
(Inherited from ScriptEngine)
Protected methodFinalize Releases unmanaged resources and performs other cleanup operations before the script engine is reclaimed by garbage collection.
(Inherited from ScriptEngine)
Public methodGetHashCodeServes as the default hash function.
(Inherited from Object)
Public methodGetRuntimeHeapInfo Returns memory usage information for the V8 runtime.
Public methodGetStackTrace Gets a string representation of the script call stack.
(Overrides ScriptEngineGetStackTrace)
Public methodGetTypeGets the Type of the current instance.
(Inherited from Object)
Public methodInterrupt Interrupts script execution and causes the script engine to throw an exception.
(Overrides ScriptEngineInterrupt)
Public methodInvoke Invokes a global function or procedure.
(Inherited from ScriptEngine)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
Public methodToStringReturns a string that represents the current object.
(Inherited from Object)
Public methodWriteRuntimeHeapSnapshot Writes a snapshot of the V8 runtime's heap to the given stream.
Top
Remarks
Unlike WindowsScriptEngine instances, V8ScriptEngine instances do not have thread affinity. The underlying script engine is not thread-safe, however, so this class uses internal locks to automatically serialize all script code execution for a given instance. Script delegates and event handlers are invoked on the calling thread without marshaling.
See Also