Tôi có những điều sau đây (từ Tridion PowerTools), có tên người dùng từ CoreService khi một số JavaScript chạy.Tất cả các thông số này khi gọi một phương thức web WCF từ Anguilla JavaScript có nghĩa là gì?
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 bên: (C# .svc)
[OperationContract, WebGet(ResponseFormat = WebMessageFormat.Json)]
public ExampleData GetUserInfo()
{
var coreService = Client.GetCoreService();
_exampleData = new ExampleData()
{
UserName = coreService.GetCurrentUser().Title
};
return _exampleData;
}
này sẽ gửi một cuộc gọi không đồng bộ:
PowerTools.Model.Services.Example.GetUserInfo(onSuccess, onFailure, context, false)
Trong khi này gán một chức năng khác nhau để xử lý các phản ứng:
Function.getDelegate(this, this._handleUserInfo)
Nhưng nơi nào onSuccess, onFailure, bối cảnh và các Boolean đến từ trong: PowerTools.Model.Services.Example.GetUserInfo(onSuccess, onFailure, context, false)
?
Chữ ký bốn tham số này không khớp với GetUserInfo() không có tham số trong mã dịch vụ. Tại sao thứ tự và bốn thứ này?
Edit: màu sáng mà phần I bối rối. –