JavascriptCallbackBehaviorAttribute 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
合約行為,可讓您將URL查詢字串參數名稱設定為預設「回呼」以外的名稱。
public ref class JavascriptCallbackBehaviorAttribute sealed : Attribute, System::ServiceModel::Description::IContractBehavior
[System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=false)]
public sealed class JavascriptCallbackBehaviorAttribute : Attribute, System.ServiceModel.Description.IContractBehavior
[<System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=false)>]
type JavascriptCallbackBehaviorAttribute = class
inherit Attribute
interface IContractBehavior
Public NotInheritable Class JavascriptCallbackBehaviorAttribute
Inherits Attribute
Implements IContractBehavior
- 繼承
- 屬性
- 實作
備註
JSONP 是一種用於在網頁瀏覽器中實現跨站腳本支援的機制。 它涉及發送一個請求,並以回調函式名稱作為 URL 查詢字串參數值。 服務回傳回應時,會將通常的 JSON 有效載荷包裹在呼叫所提供的回調函式中,就像是一行可執行程式碼一樣。
以下是一個用於呼叫服務的 URL 範例: http://baseAddress/Service/RESTService?callback=functionName。 當被呼叫時,服務會回應以下 JSON。
functionName({ "root":"Something});
這 JavascriptCallbackBehaviorAttribute 讓開發者可以指定 URL 查詢字串參數的名稱,將其解讀為回調參數。 預設值為「callback」(不區分大小寫)。
以下範例展示了此屬性如何應用於服務合約。
[ServiceContract]
[JavascriptCallbackBehavior]
public class Service1
{
[OperationContract]
[WebGet(ResponseFormat=WebMessageFormat.Json)]
public string GetData()
{
// ...
}
}
此屬性僅在標記使用服務WebHttpBindingCrossDomainScriptAccessEnabled合約類型且綁定屬性設為 true時適用。
建構函式
| 名稱 | Description |
|---|---|
| JavascriptCallbackBehaviorAttribute() |
初始化 JavascriptCallbackBehaviorAttribute 類別的新執行個體。 |
屬性
| 名稱 | Description |
|---|---|
| TypeId |
在衍生類別中實作時,取得這個 Attribute的唯一標識碼。 (繼承來源 Attribute) |
| UrlParameterName |
取得或設定 URL 查詢字串參數名稱,用於跨域腳本存取。 |
方法
| 名稱 | Description |
|---|---|
| AddBindingParameters(ContractDescription, ServiceEndpoint, BindingParameterCollection) |
這是該方法的 AddBindingParameters(ContractDescription, ServiceEndpoint, BindingParameterCollection) 實作。 |
| ApplyClientBehavior(ContractDescription, ServiceEndpoint, ClientRuntime) |
這是該方法的 ApplyClientBehavior(ContractDescription, ServiceEndpoint, ClientRuntime) 實作。 |
| ApplyDispatchBehavior(ContractDescription, ServiceEndpoint, DispatchRuntime) |
這是該方法的 ApplyDispatchBehavior(ContractDescription, ServiceEndpoint, DispatchRuntime) 實作。 |
| Equals(Object) |
傳回值,這個值表示這個實例是否等於指定的物件。 (繼承來源 Attribute) |
| GetHashCode() |
傳回這個實例的哈希碼。 (繼承來源 Attribute) |
| GetType() |
取得目前實例的 Type。 (繼承來源 Object) |
| IsDefaultAttribute() |
在衍生類別中覆寫時,指出這個實例的值是否為衍生類別的預設值。 (繼承來源 Attribute) |
| Match(Object) |
在衍生類別中覆寫時,傳回值,指出這個實例是否等於指定的物件。 (繼承來源 Attribute) |
| MemberwiseClone() |
建立目前 Object的淺層複本。 (繼承來源 Object) |
| ToString() |
傳回表示目前 物件的字串。 (繼承來源 Object) |
| Validate(ContractDescription, ServiceEndpoint) |
明確介面實作
| 名稱 | Description |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
將一組名稱對應至一組對應的分派識別項 (Dispatch Identifier)。 (繼承來源 Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
擷取 物件的型別資訊,可用來取得介面的類型資訊。 (繼承來源 Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
擷取物件提供的類型資訊介面數目 (0 或 1)。 (繼承來源 Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
提供物件所公開屬性和方法的存取權。 (繼承來源 Attribute) |