Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
WebScriptEnablingBehavior Class
Collapse the table of content
Expand the table of content

WebScriptEnablingBehavior Class

Provides support for the behavior that enables Windows Communication Foundation (WCF) endpoints to receive HTTP requests from a browser-based ASP.NET AJAX client. This class cannot be inherited.


Namespace:  System.ServiceModel.Description
Assembly:  System.ServiceModel.Web (in System.ServiceModel.Web.dll)

public sealed class WebScriptEnablingBehavior : WebHttpBehavior

The WebScriptEnablingBehavior type exposes the following members.

Public methodWebScriptEnablingBehaviorInitializes a new instance of the WebScriptEnablingBehavior class.

Public propertyAutomaticFormatSelectionEnabledGets or sets a value that determines if automatic format selection is enabled. (Overrides WebHttpBehavior.AutomaticFormatSelectionEnabled.)
Public propertyDefaultBodyStyleGets or sets the default message body style. (Overrides WebHttpBehavior.DefaultBodyStyle.)
Public propertyDefaultOutgoingRequestFormatGets or sets the default outgoing request message format. (Overrides WebHttpBehavior.DefaultOutgoingRequestFormat.)
Public propertyDefaultOutgoingResponseFormatGets and sets the default outgoing response message format. (Overrides WebHttpBehavior.DefaultOutgoingResponseFormat.)
Public propertyFaultExceptionEnabledGets or sets the flag that specifies whether a FaultException is generated when an internal server error (HTTP status code: 500) occurs. (Overrides WebHttpBehavior.FaultExceptionEnabled.)
Public propertyHelpEnabledGets or sets a value that determines if the WCF REST Help page is enabled. (Overrides WebHttpBehavior.HelpEnabled.)
Protected propertyJavascriptCallbackParameterNameGets or sets the JavaScript callback parameter name. (Inherited from WebHttpBehavior.)

Public methodAddBindingParametersImplements the AddBindingParameters(ServiceEndpoint, BindingParameterCollection) method to pass data at runtime to bindings to support custom behavior. (Inherited from WebHttpBehavior.)
Public methodApplyClientBehaviorApplies the behavior to the client across an endpoint. (Overrides WebHttpBehavior.ApplyClientBehavior(ServiceEndpoint, ClientRuntime).)
Public methodApplyDispatchBehaviorApplies the behavior to the service endpoint. (Overrides WebHttpBehavior.ApplyDispatchBehavior(ServiceEndpoint, EndpointDispatcher).)
Public methodEquals(Object)Determines whether the specified object is equal to the current object. (Inherited from Object.)
Public methodGetHashCodeServes as the default hash function. (Inherited from Object.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)
Public methodValidateConfirms that the endpoint meets the requirements that allow it to function as an ASP.NET AJAX endpoint. (Overrides WebHttpBehavior.Validate(ServiceEndpoint).)

When applied to an endpoint, the WebScriptEnablingBehavior behavior enables WCF and ASP.NET AJAX integration, except for the support required for JavaScript Object Notation (JSON) encoding. Various types of encoding, including JSON, are enabled by the WebMessageEncodingElement or by an appropriately configured WebHttpBinding. The WebScriptEnablingBehavior behavior implements the IEndpointBehavior and inherits from WebHttpBehavior, which enables the more general Web programming model for WCF services exposing non-SOAP endpoints.

Specifically, the WebScriptEnablingBehavior:

  • Enables the HTTP programming model, including dispatch to operations based on a URL suffix, support for HTTP verb selection (POST or GET) and HTTP cache duration control. For more information about the HTTP programming model, see WCF Web HTTP Programming Model Overview. Note that the default HTTP verb is POST when using this behavior.

  • Enables the correct formatter for each operation's request and response messages - for example, support for URL parameters.

  • Enables the JavaScript Proxy endpoint.

To call a WCF service from an ASP.NET AJAX client, the service must be configured with the WebHttpBinding binding and the WebScriptEnablingBehavior must be added to the endpoint behavior collection. This can be done either in configuration by adding the WebScriptEnablingElement or without using configuration by activating the AJAX endpoint with the WebScriptServiceHostFactory instead of the default factory in the @ServiceHost directive in the .svc file.

For more information about different ways to enable a WCF service to respond to ASP.NET AJAX clients, see Creating WCF Services for ASP.NET AJAX.

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5

.NET Framework Client Profile

Supported in: 3.5 SP1

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
© 2015 Microsoft