asp.net web api 是一种框架,用于轻松构建可以访问多种客户端(包括浏览器和移动设备)的 http 服务。 asp.net web api 是一种用于在 .net framework 上构建 restful 应用程序的理想平台。

本文主要实现asp.net webapi 连接数据库获取数据,并以json字符串格式返回。

1.创建asp.net web application(.net framework)项目;

2.选择web api;

3.创建新项目完成;

在valuescontroller.cs中修改get方法并连接sqlserver数据库获取数据,以json字符串格式返回:

using system;
using system.collections.generic;
using system.data;
using system.data.sqlclient;
using system.web.http;
using newtonsoft.json;

namespace webapplication1.controllers
{
 public class valuescontroller : apicontroller
 {
  // get api/values
  public ienumerable<string> get()
  {
   return new string[] { "value1", "value2" };
  }

  // get api/values/5
  public string get(int id)
  {
   try
   {
    sqlconnection sqlconnection =
     new sqlconnection(
      "data source=127.0.0.1;initial catalog=garyweb;integrated security=true;user id=sa;password=123456");
    sqlconnection.open();
    string sql = "select * from users";
    dataset dataset = new dataset();
    sqldataadapter sqldataadapter = new sqldataadapter(sql, sqlconnection);
    sqldataadapter.fill(dataset);
    return jsonconvert.serializeobject(dataset);
   }
   catch (exception ex)
   {
    return ex.tostring();
   }
  }

  // post api/values
  public void post([frombody]string value)
  {
  }

  // put api/values/5
  public void put(int id, [frombody]string value)
  {
  }

  // delete api/values/5
  public void delete(int id)
  {
  }
 }
}

运行项目:

获得返回json字符串数据:

{
 "table": [
  {
   "userid": 1, 
   "username": "admin", 
   "displayname": "admin1", 
   "password": "jzae727k08kaomksgoagzww/xvqgr/pkegimkjrcbji=", 
   "email": "289602025@qq.com", 
   "status": 0, 
   "registrationtime": "2017/6/1", 
   "logintime": null, 
   "loginip": null
  }, 
  {
   "userid": 2, 
   "username": "admin1", 
   "displayname": "admin1", 
   "password": "jzae727k08kaomksgoagzww/xvqgr/pkegimkjrcbji=", 
   "email": "289602025@qq.com", 
   "status": 0, 
   "registrationtime": "2017/6/1", 
   "logintime": null, 
   "loginip": null
  }, 
  {
   "userid": 3, 
   "username": "admin2", 
   "displayname": "admin2", 
   "password": "jzae727k08kaomksgoagzww/xvqgr/pkegimkjrcbji=", 
   "email": "289602025@qq.com", 
   "status": 0, 
   "registrationtime": "2017/6/1", 
   "logintime": null, 
   "loginip": null
  }
 ]
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持www.887551.com。