Tôi đang xây dựng một ứng dụng web hiện đang sử dụng các dịch vụ web .asmx truyền thống và tôi đang tìm cách nâng cấp các dịch vụ này lên WebAPI. Tôi đã xem xét trên web nhưng tôi đang tìm cách dễ nhất/nhanh nhất để thực hiện nâng cấp này. Các dịch vụ web hiện trông hơi như thế này:Nâng cấp dịch vụ web từ asmx lên webAPI
using System.Web.Services;
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.Web.Script.Services.ScriptService]
public class SomeWebServiceName : System.Web.Services.WebService
{
SomeObject TheObject = new SomeObject;
[WebMethod(EnableSession = true)]
public string GetSomeData(string Param1, string Param2)
{
return TheObject.HandleRequest(Param1, Param2);
}
[WebMethod(EnableSession = true)]
public string GetSomeMoreData(string ParamA)
{
return TheObject.HandleAnotherRequest(ParamA);
}
}
Ở mức đơn giản nhất, họ nhanh chóng một đối tượng và sau đó là phương pháp web của cuộc gọi dịch vụ web một số phương pháp trên đối tượng đó để xử lý các yêu cầu.
Trên client, tôi sử dụng jquery với .ajax() như thế này:
$.ajax({
url: "../WebServices/SomeWebServiceName.asmx/GetSomeData",
data: AjaxData, ....});
Tôi muốn loại bỏ bất kỳ tham chiếu đến .asmx và nâng cấp toàn bộ ứng dụng để WebAPI. Cách đơn giản nhất để làm điều đó với mã ở trên là gì?
**/{action}/** placeholders là dư thừa trong Web API. – Jude