This documentation is archived and is not being maintained.

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

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 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.


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

Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5