Mam następujące (od Tridion PowerTools), które pobiera nazwę użytkownika z CoreService, gdy działa niektóre JavaScript.Co oznaczają te wszystkie parametry podczas wywoływania metody internetowej WCF z języka Anguilla JavaScript?
JavaScript (Anguilla):
PowerTools.Popups.Example.prototype._onbtnGetUserInfoClicked = function() {
var onSuccess = Function.getDelegate(this, this._handleUserInfo);
var onFailure = null;
var context = null;
//call function
PowerTools.Model.Services.Example.GetUserInfo(onSuccess, onFailure,
context, false);
};
// Delegate function "onSuccess"
PowerTools.Popups.Example.prototype._handleUserInfo = function (response) {
var p = this.properties;
$j("#lblUserInfo").text(response.UserName);
};
CoreService strona: (C# .svc)
[OperationContract, WebGet(ResponseFormat = WebMessageFormat.Json)]
public ExampleData GetUserInfo()
{
var coreService = Client.GetCoreService();
_exampleData = new ExampleData()
{
UserName = coreService.GetCurrentUser().Title
};
return _exampleData;
}
Ten wysyła asynchroniczne wywołanie:
PowerTools.Model.Services.Example.GetUserInfo(onSuccess, onFailure, context, false)
niniejsza przypisuje inną funkcję do obsługi odpowiedzi:
Function.getDelegate(this, this._handleUserInfo)
Ale skąd onSuccess, onFailure, kontekst, a Boolean pochodzą w: PowerTools.Model.Services.Example.GetUserInfo(onSuccess, onFailure, context, false)
?
Ten podpis cztery parametr nie pasuje do żadnego-paramater GetUserInfo() w kodzie serwisowym. Dlaczego ta kolejność i te cztery?
EDIT: sprecyzować, część I był zdezorientowany. –