转载:https://blog.csdn.net/ZYD45/article/details/79939475

创建接口的方式有很多,像是Web api,nodejs等等

今天,主要介绍,利用ashx的方式,来搭建一个简易的api


  1. 首先,利用VS编辑器,创建一个空的web应用程序

  2. 生成的项目文件

  3. 为此程序,添加一个新项,选择“一般处理程序”,可以看到文件后缀为.ashx

    若是生成后,重命名,不仅只改文件的名字,还要查看标记,更改标记里的信息

  4. 然后我们选择“启动”

    在生成的localhost网站的url里,增添“/ashx文件名.ashx",就可以看到如下信息

  5. 要是想返回json文件,修改下 context.Response.ContentType

    然后,返回的信息要组装成json字符串,

    当然.Net也提供了一些转json的方法,可以自行百度下

  6. context.Response.ContentType = "application/json";
  7. 这时候,再去访问,就可以在浏览器的Network中,看到返回的是json对象

  8. 要是想解析get方法方法传过来的参数
  9. string method = context.Request.QueryString["method"];//context.Request.QueryString["Get参数名"]

    这时候 method得到的就是“Login”这个值,

  10. 要是解析POST方法访问的参数,用context.Request.Form["POST参数名"]

    For Example

    前端用,ajax访问

  11. $.ajax({

    url:'localhost:4883/APITest.ashx?method=Login',

    type:"POST",

    dataType: "json",

    data:{password:'123',userID:'Admin'},

    success:function(data){

    console.log(data);//返回的json数据

    },

    error:function(err){

    console.log(err.responseText);//查看错误信息

    })
     
    ashx想要得到password 和userID就用

  12. string userID=context.Request.Form["userID"];//Admin

    string password=context.Request.Form["password";];//123


  1. 处理跨域访问

只需处理下请求头部即可

Web.Config添加(丢在configuration标签内就行)

<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="x-requested-with"/>
</customHeaders>
</httpProtocol>
</system.webServer>

请求方法里添加

public void ProcessRequest(HttpContext context)
{
context.Response.ClearHeaders();
context.Response.AppendHeader("Access-Control-Allow-Headers", "Content-Type,Content-Length, Authorization, Accept,X-Requested-With");
context.Response.AppendHeader("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
context.Response.AppendHeader("X-Powered-By", "3.2.1");
context.Response.ContentType = "application/json";
string msg = string.Format(@"接口访问成功");
string result = "[{\"Result\":\"" + msg + "\"}]";
context.Response.Write(result);
}

————————————————

版权声明:本文为CSDN博主「29号同学」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ZYD45/article/details/79939475

[ASP.Net ]利用ashx搭建简易接口的更多相关文章

  1. Asp.NetMVC利用LigerUI搭建一个简单的后台管理详解(函登录验证)

    上一篇 Asp.Net 中Grid详解两种方法使用LigerUI加载数据库数据填充数据分页  了解了LigerUI 中Grid的基本用法  现在结合上一篇的内容做一个简单的后台管理,当然也有前台的页面 ...

  2. 利用RAP搭建可视化接口管理平台

    环境:CentOS7 jdk:1.7.0_51 redis:3.2.8 mysql:5.6 tomcat:8.0 安装过程: 依赖组件安装: 安装jdk.redis.mysql.tomcat过程省略. ...

  3. 利用Laravel 搭建oauth2 API接口 附 Unauthenticated 解决办法

    利用Laravel 搭建oauth2 API接口 要求 laravel 5.4以上 安装 $ composer require laravel/passport 在配置文件 config/app.ph ...

  4. Django搭建简易博客

    Django简易博客,主要实现了以下功能 连接数据库 创建超级用户与后台管理 利用django-admin-bootstrap美化界面 template,view与动态URL 多说评论功能 Markd ...

  5. 关于ASP.NET或VS2005 搭建三层架构的理解

    最近想学习ASP.NET建网站,关于ASP.NET或VS2005 搭建三层架构的理解,网上摘录了一些资料,对于第(2)点的讲解让我理解印象深刻,如下: (1)为何使用N层架构? 因为每一层都可以在仅仅 ...

  6. Python中使用Flask、MongoDB搭建简易图片服务器

    主要介绍了Python中使用Flask.MongoDB搭建简易图片服务器,本文是一个详细完整的教程,需要的朋友可以参考下 1.前期准备 通过 pip 或 easy_install 安装了 pymong ...

  7. Unity + iBatis + Asp.net Mvc 系统搭建

    Unity + iBatis + Asp.net Mvc 系统搭建 之前用EntityFramework Code First做了一些小项目,很是方便:后来在一个 Java 项目中接触了myBatis ...

  8. Python - 利用flask搭建一个共享服务器

    零.概述 我利用flask搭建了一个简易的共享服务器,分享给大家 一.python代码 import os import time from flask import Flask,render_tem ...

  9. ASP.NET Core WebApi构建API接口服务实战演练

    一.ASP.NET Core WebApi课程介绍 人生苦短,我用.NET Core!提到Api接口,一般会想到以前用到的WebService和WCF服务,这三个技术都是用来创建服务接口,只不过Web ...

随机推荐

  1. 2019-11-29-VisualStudio-使用三个方法启动最新-C#-功能

    原文:2019-11-29-VisualStudio-使用三个方法启动最新-C#-功能 title author date CreateTime categories VisualStudio 使用三 ...

  2. 记WinForm中WebBrowser相关的俩个问题

    问题一:如何不让WebBrowser中弹出“安全警告” 当链接https网址时,IE会自动弹出上图中的窗口. 关闭窗口的具体思路如下: 使用WebBrowser加载中/加载完毕后触发的事件处理程序,在 ...

  3. beyond compare全文件夹比较,仅显示变化的文件

    beyond  compare是一款非常优秀的文件夹同步比较工具,赞. 非常强大的一点就是给定两个文件夹可以自动列出所有不同的文件和子文件夹,但是有一点可能很多人碰到过,也就是需要一个个点开才能重新比 ...

  4. 修改Nginx配置参数解决http状态码:413上传文件大小限制问题

    修改Nginx上传文件大小限制 我们使用ngnix做web server的时候,nginx对上传文件的大小有限制,默认是1M. 当超过大小的时候会报413(too large)错误.这个时候我们要修改 ...

  5. SpringIOC源码解析(下)

    注意,看完这篇文章需要很长很长很长时间... 本篇文章是SpringIOC源码解析(上)的续集,上一篇文章介绍了使用XML的方式启动Spring,然后追踪了BeanFactory容器的创建.配置文件的 ...

  6. 移动4G插卡注网

    本文根据插入移动4G单卡到注册4G网络过程的mtklog分析. 插卡动作: 从以上信息无法区分单卡还是双卡,通过ATR参数判断: 注网流程,此过程未开启4G数据连接: [MS->NW] ESM_ ...

  7. Canny算法检测边缘

    Canny算法是边缘检测的一个经典算法,比单纯用一些微分算子来检测的效果要好很多,其优势有以下几点: 边缘误检与漏检率低. 边缘定位准确,且边界较细. 自带一定的滤噪功能,或者说,对噪声的敏感度要比单 ...

  8. Solr搜索器的特性及相关操作

    一.搜索处理器简介 所有的请求处理器都实现一个Java类,本例实现了solr.SearchHandler.在运行时,solr.SearchHandler被解析为内置的Solr类org.apache.s ...

  9. MySQL报错合集解决办法: server has gone away, @@GLOBAL.GTID_PURGED can only be set when @@GLOBAL.GTID_MODE = ON

    server has gone away: 如下图 执行以下命令 show global variables like '%timeout%'; set global interactive_time ...

  10. 使用ftp搭建yum仓库

    此次操作在VMware Workstation虚拟机的CentOS7.5下进行 这里使用两台Linux主机,下表是它们所使用的操作系统以及IP地址. 两台Linux主机所使用的操作系统以及IP地址 操 ...