ScriptMethodAttribute Class

Definition

Specifies which HTTP verb is used to invoke a method, and the format of the response. This class cannot be inherited.

public ref class ScriptMethodAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Method)]
public sealed class ScriptMethodAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Method)>]
type ScriptMethodAttribute = class
    inherit Attribute
Public NotInheritable Class ScriptMethodAttribute
Inherits Attribute
Inheritance
ScriptMethodAttribute
Attributes

Examples

The following example shows how to apply ScriptMethodAttribute to the GetXmlDocument and EchoStringAndDate methods to specify which HTTP verb to use and to specify the response format.

Remarks

This attribute is used to specify information for methods that can be called from client script. The attribute lets you specify which HTTP verb (GET or POST) can be used to invoke a method. It also lets you specify whether the response is formatted by using either JavaScript Object Notation (JSON) or XML.

The ScriptMethodAttribute attribute is optional. (However, methods that can be called from client script must have the System.Web.Services.WebMethodAttribute attribute applied.). If a method is not marked with ScriptMethodAttribute, the method will be called by using the HTTP POST command and the response will be serialized as JSON. You cannot override this setting from script.

ScriptMethodAttribute takes only named parameters. The following are the properties of the ScriptMethodAttribute class that can be used as named parameters:

  • UseHttpGet

    Specifies whether the method will be invoked by using the HTTP GET command. The default is false.

    Important

    Setting the UseHttpGet property to true might pose a security risk for your application if you are working with sensitive data or transactions. In GET requests, the message is encoded by the browser into the URL and is therefore an easier target for tampering. For both GET and POST requests, you should follow security guidelines to protect sensitive data.

  • ResponseFormat

    Specifies whether the response will be serialized as JSON or as XML. The default is Json. The ResponseFormat property is useful to specify XML as the return type when the method returns an XmlDocument or an XmlElement object.

  • XmlSerializeString

    Specifies whether all return types, including string types, are serialized as XML. The value of the XmlSerializeString property is ignored when the response is serialized as JSON.

For more information about how to use attributes, see Attributes.

Constructors

ScriptMethodAttribute()

Initializes a new instance of the ScriptMethodAttribute class.

Properties

ResponseFormat

Gets or sets the format of the method response.

TypeId

When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)
UseHttpGet

Gets or sets a value that indicates whether to invoke the method by using HTTP GET.

XmlSerializeString

Gets or sets a value that indicates whether all return types are serialized as XML, which includes string types.

Methods

Equals(Object)

Returns a value that indicates whether this instance is equal to a specified object.

(Inherited from Attribute)
GetHashCode()

Returns the hash code for this instance.

(Inherited from Attribute)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
IsDefaultAttribute()

When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Inherited from Attribute)
Match(Object)

When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Inherited from Attribute)
MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
ToString()

Returns a string that represents the current object.

(Inherited from Object)

Explicit Interface Implementations

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Maps a set of names to a corresponding set of dispatch identifiers.

(Inherited from Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Retrieves the type information for an object, which can be used to get the type information for an interface.

(Inherited from Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Inherited from Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

Applies to

See also