简单记录在Visual Studio 2013中创建ASP.NET Web API 2
2015-08-20 19:44
716 查看
在很多跨平台的应用中就需要WebAPI,比如android与数据库的交互。
在新建ASP.NET项目下选择WebAPI点击确定就可以了。
.csharpcode,.csharpcodepre
{
font-size:small;
color:black;
font-family:consolas,"CourierNew",courier,monospace;
background-color:#ffffff;
/*white-space:pre;*/
}
.csharpcodepre{margin:0em;}
.csharpcode.rem{color:#008000;}
.csharpcode.kwrd{color:#0000ff;}
.csharpcode.str{color:#006080;}
.csharpcode.op{color:#0000c0;}
.csharpcode.preproc{color:#cc6633;}
.csharpcode.asp{background-color:#ffff00;}
.csharpcode.html{color:#800000;}
.csharpcode.attr{color:#ff0000;}
.csharpcode.alt
{
background-color:#f4f4f4;
width:100%;
margin:0em;
}
.csharpcode.lnum{color:#606060;}
.csharpcode,.csharpcodepre
{
font-size:small;
color:black;
font-family:consolas,"CourierNew",courier,monospace;
background-color:#ffffff;
/*white-space:pre;*/
}
.csharpcodepre{margin:0em;}
.csharpcode.rem{color:#008000;}
.csharpcode.kwrd{color:#0000ff;}
.csharpcode.str{color:#006080;}
.csharpcode.op{color:#0000c0;}
.csharpcode.preproc{color:#cc6633;}
.csharpcode.asp{background-color:#ffff00;}
.csharpcode.html{color:#800000;}
.csharpcode.attr{color:#ff0000;}
.csharpcode.alt
{
background-color:#f4f4f4;
width:100%;
margin:0em;
}
.csharpcode.lnum{color:#606060;}
.csharpcode,.csharpcodepre
{
font-size:small;
color:black;
font-family:consolas,"CourierNew",courier,monospace;
background-color:#ffffff;
/*white-space:pre;*/
}
.csharpcodepre{margin:0em;}
.csharpcode.rem{color:#008000;}
.csharpcode.kwrd{color:#0000ff;}
.csharpcode.str{color:#006080;}
.csharpcode.op{color:#0000c0;}
.csharpcode.preproc{color:#cc6633;}
.csharpcode.asp{background-color:#ffff00;}
.csharpcode.html{color:#800000;}
.csharpcode.attr{color:#ff0000;}
.csharpcode.alt
{
background-color:#f4f4f4;
width:100%;
margin:0em;
}
.csharpcode.lnum{color:#606060;}
[/code]
.csharpcode,.csharpcodepre
{
font-size:small;
color:black;
font-family:consolas,"CourierNew",courier,monospace;
background-color:#ffffff;
/*white-space:pre;*/
}
.csharpcodepre{margin:0em;}
.csharpcode.rem{color:#008000;}
.csharpcode.kwrd{color:#0000ff;}
.csharpcode.str{color:#006080;}
.csharpcode.op{color:#0000c0;}
.csharpcode.preproc{color:#cc6633;}
.csharpcode.asp{background-color:#ffff00;}
.csharpcode.html{color:#800000;}
.csharpcode.attr{color:#ff0000;}
.csharpcode.alt
{
background-color:#f4f4f4;
width:100%;
margin:0em;
}
.csharpcode.lnum{color:#606060;}
AddingaController
在解决方案下新建一个控制器
选择一个空的模板即可
下面就添加控制器的名称(Controller命名是有规范的,不能更改后面的Controller部分也不能在后门添加字符,不然都会导致最后无法访问到这个Controller像这个Controller就是通过/api/ChatApp/访问的,当然默认是Get的请求方式)
CreateaWebAPIProject
选择新建项目下的模板下的VisualC#节点下的Web节点,在模板列表下选择ASP.NETWeb应用程序,并命名为ChatApp就可以了。在新建ASP.NET项目下选择WebAPI点击确定就可以了。
AddingaModel
在解决方案下新建一个Model//新建ModelUser namespaceAPP_Chat.Models { publicclassUser { publicstringUID{get;set;} publicstringLoginName{get;set;} publicstringName{get;set;} publicstringPwd{get;set;} publicDateTimeCreateTime{get;set;} } }
//新建ModelResponseLoginState namespaceAPP_Chat.Models { publicclassResponseLoginState { publicUseruser{get;set;} publicintstate{get;set;} publicstringmsg{get;set;}
} }
//新建ModelRequestLogin namespaceAPP_Chat.Models { publicclassRequestLogin { publicstringLoginName{get;set;} publicstringPwd{get;set;} } }
.csharpcode,.csharpcodepre
{
font-size:small;
color:black;
font-family:consolas,"CourierNew",courier,monospace;
background-color:#ffffff;
/*white-space:pre;*/
}
.csharpcodepre{margin:0em;}
.csharpcode.rem{color:#008000;}
.csharpcode.kwrd{color:#0000ff;}
.csharpcode.str{color:#006080;}
.csharpcode.op{color:#0000c0;}
.csharpcode.preproc{color:#cc6633;}
.csharpcode.asp{background-color:#ffff00;}
.csharpcode.html{color:#800000;}
.csharpcode.attr{color:#ff0000;}
.csharpcode.alt
{
background-color:#f4f4f4;
width:100%;
margin:0em;
}
.csharpcode.lnum{color:#606060;}
.csharpcode,.csharpcodepre
{
font-size:small;
color:black;
font-family:consolas,"CourierNew",courier,monospace;
background-color:#ffffff;
/*white-space:pre;*/
}
.csharpcodepre{margin:0em;}
.csharpcode.rem{color:#008000;}
.csharpcode.kwrd{color:#0000ff;}
.csharpcode.str{color:#006080;}
.csharpcode.op{color:#0000c0;}
.csharpcode.preproc{color:#cc6633;}
.csharpcode.asp{background-color:#ffff00;}
.csharpcode.html{color:#800000;}
.csharpcode.attr{color:#ff0000;}
.csharpcode.alt
{
background-color:#f4f4f4;
width:100%;
margin:0em;
}
.csharpcode.lnum{color:#606060;}
.csharpcode,.csharpcodepre
{
font-size:small;
color:black;
font-family:consolas,"CourierNew",courier,monospace;
background-color:#ffffff;
/*white-space:pre;*/
}
.csharpcodepre{margin:0em;}
.csharpcode.rem{color:#008000;}
.csharpcode.kwrd{color:#0000ff;}
.csharpcode.str{color:#006080;}
.csharpcode.op{color:#0000c0;}
.csharpcode.preproc{color:#cc6633;}
.csharpcode.asp{background-color:#ffff00;}
.csharpcode.html{color:#800000;}
.csharpcode.attr{color:#ff0000;}
.csharpcode.alt
{
background-color:#f4f4f4;
width:100%;
margin:0em;
}
.csharpcode.lnum{color:#606060;}
[/code]
.csharpcode,.csharpcodepre
{
font-size:small;
color:black;
font-family:consolas,"CourierNew",courier,monospace;
background-color:#ffffff;
/*white-space:pre;*/
}
.csharpcodepre{margin:0em;}
.csharpcode.rem{color:#008000;}
.csharpcode.kwrd{color:#0000ff;}
.csharpcode.str{color:#006080;}
.csharpcode.op{color:#0000c0;}
.csharpcode.preproc{color:#cc6633;}
.csharpcode.asp{background-color:#ffff00;}
.csharpcode.html{color:#800000;}
.csharpcode.attr{color:#ff0000;}
.csharpcode.alt
{
background-color:#f4f4f4;
width:100%;
margin:0em;
}
.csharpcode.lnum{color:#606060;}
AddingaController
在解决方案下新建一个控制器
选择一个空的模板即可
下面就添加控制器的名称(Controller命名是有规范的,不能更改后面的Controller部分也不能在后门添加字符,不然都会导致最后无法访问到这个Controller像这个Controller就是通过/api/ChatApp/访问的,当然默认是Get的请求方式)
namespaceAPP_Chat.Controllers { publicclassChatAppController:ApiController { ///<summary> ///用户登录 ///</summary> ///<paramname="user">用户的登录名-LoginName,密码-Pwd</param> ///<returns>登录成功则返回用户的信息,和state=1</returns>[HttpPost]http请求方式 [HttpPost]
publicResponseLoginStateLogin(RequestLoginuser) { if(string.IsNullOrWhiteSpace(user.LoginName)) returnnewResponseLoginState(){state=0,msg="参数错误,LoginName未传出!"}; if(string.IsNullOrWhiteSpace(user.Pwd)) returnnewResponseLoginState(){state=0,msg="参数错误,Name未传出!"}; #region using(varconn=newSystem.Data.OracleClient.OracleConnection(OracleHelper.ConnString)) { conn.Open(); varcommand=conn.CreateCommand(); command.Parameters.Clear(); command.Parameters.Add(newOracleParameter(":loginName",user.LoginName)); command.Parameters.Add(newOracleParameter(":pwd",user.Pwd)); command.CommandText="select*fromAPP_ChatUserwhereloginname=:loginNameandpwd=:pwd"; varreader=command.ExecuteReader(); Userloginuser=newUser(); try { reader.Read(); loginuser.UID=reader["USERID"].ToString(); loginuser.LoginName=reader["LOGINNAME"].ToString(); loginuser.Name=reader["NAME"].ToString(); loginuser.Pwd=reader["PWD"].ToString(); loginuser.CreateTime=Convert.ToDateTime(reader["CreateTime"]); returnnewResponseLoginState(){state=1,msg="success",user=loginuser}; } catch(Exceptionex) { returnnewResponseLoginState(){state=0,msg=ex.Message,user=null}; } } #endregion } } }
通过访问api/ChatApp/Login就可以访问WebApi了
JavaScript来检测WebApi
<!DOCTYPEhtml>
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
<title></title>
<scriptsrc="Scripts/jquery-1.10.2.min.js"></script>
<script>
varuser;
functionlogin(){
$.ajax({
url:'/api/ChatApp/Login',
type:'POST',
dataType:'JSON',
data:{LoginName:'zhangsan',Pwd:'123'},
success:function(data){
if(typeof(data)!='object')
data=JSON.parse(data);
user=data.Data.User;
alert(JSON.stringify(data));
}
});
}
</script>
</head>
<body>
<inputtype="button"value="登录"onclick="login()"/>
</body>
</html>
如果有不清楚,可以参照下面的这个网址学习http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/tutorial-your-first-web-api
相关文章推荐
- Win10 兼容性 Visual studio web应用程序 ASP.NET 4.0 尚未在 Web 服务器上注册
- asp网站后台里嵌入kindeditor在线编辑器问题
- NET/ASP.NETMVC 深入剖析 Model元数据、HtmlHelper、自定义模板、模板的装饰者模式
- Aspose.Words使用教程之插入文档元素(三)
- Aspose.Words使用教程之插入文档元素(三)【连载】
- 关于ASP网页无法打开的解决方案
- asp.net mvc 删除栏目、栏目下又有子栏目的处理方式
- metasploit 中文系统安装失败问题
- ASP.NET-get与post模式的区别
- ASP.NET学习笔记01
- asp.net mvc中的拦截器
- jsp与php、asp的区别
- (转)Aspone.Cells设置Cell数据格式 Setting Display Formats of Numbers and Dates
- 【工作笔记0010】asp.net后台Request.QueryString获取的url中文参数乱码解决方案
- ASP.NET巧妙利用repeater控件和checkBox控件实现批量操作
- ASP.Net MVC-Web API使用Entity Framework时遇到Loop Reference
- asp.net获取当前时间
- asp.net CheckBox 綁定Boolean 類型
- Asp.mvc ~ 路由
- 选择PHP还是 ASP.NET:你做了正确选择么?(个人观点,但是也是受了行业内大多数人得影响吧)