繁体   English   中英

带服务的asp.net Web应用程序

[英]asp.net web application with a service

我有一个简单的asp.net Web应用程序项目。 其中有一个order.aspx页面显示不同的项目。 我设法通过在page_load事件中输出来显示那些项目。

现在,我正在使用JQuery从数据库加载项目详细信息,并显示用户单击项目的时间。

这是我正在使用的JQuery

$(".item").click(function(){
    $.post("Lookup.asp",
    {
        Id: $(this).id 
    },
    function(data, status){
        alert("Data: " + data + "\nStatus: " + status);
    });
});

现在,我想知道设置后端部分以提供数据的最佳方法是什么,什么是最佳方法。 目前,我正在考虑其页面加载事件上的Lookup.aspx页面将从请求对象接收ID,我查询db填充数据并通过响应对象将其发送回。 我不确定这是否是正确的方法。

我尚未设置此设置,因为我在考虑是否要创建一个单独的页面来执行此操作,那么我将不得不为其他类型的查询创建更多页面(我将有其他查询,例如检查db中某个项目的状态)。

我在想这种方法的另一个问题是,将存在仅用于提供数据的页面,而我们不想将其显示给公众。 如果某人拥有这些页面的名称,他们可以访问我们不需要的页面。

而且我正在使用实体框架,无论如何这都很重要。

对于Web服务部分。 最好,最简单的方法是使用WEB API。 只需编写一个控制器方法,它就成为返回json或xml的Web服务。

将Web API与ASP.NET Web窗体一起使用

现在关于第二部分是棘手的。 如果您的用户未登录,则该方法必须是公共的,以便某人可以访问。 因此,无论是通过ajax还是仅通过拥有url的人,都将并且必须能够访问该方法。

解决此问题的一种方法是对产品ID进行加密-解密。

或在Web API上使用身份验证。

https://www.asp.net/web-api/overview/security/authentication-and-authorization-in-aspnet-web-api

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM