关于在Asp.net中编写接口并在Vue中进行调用

Asp.net

我们在VisualStudio中新建的是ASP.NET Web 应用程序(.NET Framework)项目。

在项目中添加一个,命名为Login,其代码如下:

public class Login
    {
        public string RequestType { get; set; }
        public string UserID { get; set; }
        public string PassWord { get; set; }
    }

在项目中“右键-添加”一个一般处理程序

在其中编写以下代码:

public static T HttpContextJsonStringTo<T>(HttpContext context)
        {
            string jsonString = string.Empty;
            using (StreamReader streamReader = new StreamReader(context.Request.InputStream))
            {
                jsonString = streamReader.ReadToEnd();
            }
            JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();
            T obj = javaScriptSerializer.Deserialize<T>(jsonString);
            return obj;
        }

public void ProcessRequest(HttpContext context)
        {
            HttpResponse response = context.Response;
            HttpRequest request = context.Request;
            response.ContentType = "application/json";
            Login login = HttpContextJsonStringTo<Login>(context);
            string requestType = login.RequestType;
            switch (requestType)
            {
                case "Login":
                    UserLogin(context,login);
                    break;
                default:
                    context.Response.Write("{\"Code\":\"0\",\"Message\":\"请求的接口不存在!\"}");
                    break;
            }
        }

private void UserLogin(HttpContext context,Login login)
        {
            string userID = login.UserID;
            string userPassWord = login.PassWord;
            UserLogin userLogin = new UserLogin(userID,userPassWord);
            if (GetUserLoginResult(userLogin))
            {
                context.Response.Write("成功");
            }
            else
            {
                context.Response.Write("失败");
            }
        }

函数HttpContextJsonStringTo

其中,函数HttpContextJsonStringTo的作用是,将httpcontext中的由前端传过来的参数数据经过StreamReader和JavaScriptSerializer类解析赋值到我们的Login类中,并返回一个Login实例。

函数ProcessRequest

其中,函数ProcessRequest是新建一般处理程序文件时,自动生成的函数,这个函数在接口被调用的时候,会触发,或者说运行至此。我们需要在此写好我们处理数据的逻辑。

目前写的这个是将context中的json格式数据解析赋值到Login类中,进而对Login实例的数据进行处理和操作,判断等逻辑。

函数UserLogin

其中,函数UserLogin是你对获取到的用户名和密码进行的操作逻辑,目的是判断帐号密码是否正确,或者说在数据库是否能正确的查询到。在这里,就不对如何判断帐号密码是否正确进而深层分析了。

到此,咱们已经完成了后端Asp.net的代码逻辑,剩下的就是前端进行调用咱们的接口了

Vue

我们可以在cmd命令窗口中,通过node安装vue脚手架,进而新建一个Vue项目,再次就不做演示了。

我已经完成了一个vue的代码逻辑,我放出关键代码,如下:

methods: {
    LoginButtonClick() {
      var userid = this.data.userid;
      var userpassword = this.data.userpassword;
      console.log(userid);
      console.log(userpassword);
      this.$axios
        // .post("/TXHApi/UserHandler.ashx?UserID=" + userid + "&UserPassWord=" + userpassword + "&RequestType=Login", {
        .post("/TXHApi/UserHandler.ashx", {
            UserID: userid,
            UserPassWord: userpassword,
            RequestType: "Login",
        })
        .then((res) => {
          console.log(res);
        })
        .catch((err) => {
          console.error("接口请求发生错误", err);
        });
    },
  },

函数LoginButtonClick

该代码是一个页面script标签中的一部分,其中函数LoginButtonClick写在methods中,当点击登录按钮后,将执行该函数,通过axios的post请求并附带了三个参数给后端。

注意

在此之前,你得给vue项目安装一个axios。

你可以输入此命令:npm i axis -S

将会安装到你的vue项目中。

关于Asp.net

ASP.NET(Active Server Page .NET)又称为ASP+,不仅仅是ASP的简单升级,而是微软公司推出的新一代脚本语言。ASP.NET基于.NET Framework的Web开发平台,不但吸收了ASP以前版本的最大优点并参照Java、VB语言的开发优势加入了许多新的特色,同时也修正了以前的ASP版本的运行错误。

ASP.NET具备开发网站应用程序的一切解决方案,包括验证、缓存、状态管理、调试和部署等全部功能。在代码撰写方面特色是将页面逻辑和业务逻辑分开,它分离程序代码与显示的内容,让丰富多彩的网页更容易撰写。同时使程序代码看起来更洁净、更简单。

Asp.net的一些功能

Response

Response对象是属于Page对象的成员。不用声明便可以直接使用。它的主要功能是将HTTP的信息封装后,从ASP.NET的服务器端响应到用户浏览的网页上,以供用户浏览,其类名称为HttpResponse。Response将用于回应客户浏览器,告诉浏览器回应内容的报头、服务器端的状态信息以及输出指定的内容。

它的主要属性如下

BufferOutput:设定HTTP输出是否要做缓冲处理,预设为True。

Cache:传回目前网页快取的设定。

Charset :设定或取得HTTP的输出字符编码。

Cookies:传回目前请求的Httpcookieco}lection对象的集合。该对象将在本章第二节使用cookie小节中进行详细介绍。

IsCIientconnected:传回客户端是否仍然和服务器连接。

Statuscode:传回或设定输出至客户端浏览器的HTTP状态码,预设是200。

StatusDescription:传回或设定输出至客户端浏览器的HTTP状态说明字符串.预设是OK。

SuppressContent:设定是否将HTTP的内容送至客户端浏览器,若为True则网页将不会传至客户端。

它常用的方法如下

AppendToLog:将自定义的记录信息加到IIs的记录文件中。

AppendHeader:将自定义的标头信息加入到所输出的网页。

BinaryWrite:将一个二进制的字符串写入HTTP输出串流。

Clear:将缓冲区中的内容清除。

CIearHeaders:将缓冲区中所有的页面标头清除。

CIose:关闭客户端的联机。

End:将缓冲区中所有的内容送到客户端然后关闭联机。

Flush:将缓冲区中所有的数据送到客户端。

Redirect:将网页重新导向另一个地址。

Write:将数据输出至客户端。

WriteFile:将一个文件直接输出至客户端。

Request

Request对象也是Page对象的成员之一,在程序中不需声明便可以直接使用。它主要是让服务器取得客户端浏览器的一些数据。Request对象实际上操作system.web名字空间中的HttpRequest类。当用户发出请求执行ASP.NET程序时,CLR会将客户端的请求信息包装在Request对象中。这些请求信息包括请求报头、客户端的请求信息、请求方法、参数名、参数值等。

它的主要属性如下:

AppIicationPath:传回目前正在执行的服务器端的虚拟目录。

Browser:传回有关客户端浏览器的功能信息。

Clientcertificate:传回目前客户端所发出的网页浏览请求的联机ID。

ContentEncoding:传回客户端所支持的字段设定。中文Intemet ExpIorer预设ChineseTraditional(Big5)。

ContentType:传回目前需求的MIME内容类型。

Cookies:传回一个HttpcOOkiecoIIection对象的集合。

FiIes:传回客户端上传的文件集合。

Form:传回有关窗体变量的集合。

HttpMethod:传回目前客户端HTTP数据传输的方式是Get或Post。

IsAuthenticated:传回目前HTTP联机是否有效。

Cookie

Cookie对象是在浏览者访问某些网站时,Web服务器在客户端所写入的一些小文件。这些小文件存放在客户端的内存或磁盘中。

Cookie对象可以记录浏览者的个人信息、浏览器类型、访问该网站的时间、从事过哪些活动等等。在浏览者下次访问该网站时.通过查询Cookie对象中记录的信息.就可以辨认浏览者了。这样,就可以实现状态的管理了。

Response对象和Request对象都包含了一个Cookies属性,该属性继承了HttpCookieColIection。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值