当前位置: 首页 > news >正文

做网站的行情网站网站建设公司上海

做网站的行情,网站网站建设公司上海,网页设计与制作笔记,三亚房产网站开发一.创建web api项目 1.1、项目创建 MVC架构的话#xff0c;它会有view-model-control三层#xff0c;在web api中它的前端和后端是分离的#xff0c;所以只在项目中存在model-control两层 1.2、修改路由 打开App_Start文件夹下#xff0c;WebApiConfig.cs ,修改路由… 一.创建web api项目 1.1、项目创建 MVC架构的话它会有view-model-control三层在web api中它的前端和后端是分离的所以只在项目中存在model-control两层 1.2、修改路由 打开App_Start文件夹下WebApiConfig.cs ,修改路由加上{action}/ 这样就可以在api接口中通过接口函数名来导向我们希望调用的api函数否则只能通过controller来导向就可能会造成有相同参数的不同名函数冲突。其中{id}是api接口函数中的参数。   默认路由配置信息为【默认路由模板无法满足针对一种资源一种请求方式的多种操作。】 WebApi的默认路由是通过http的方法get/post/put/delete去匹配对应的action也就是说webapi的默认路由并不需要指定action的名称 using System; using System.Collections.Generic; using System.Linq; using System.Web.Http;namespace WebAPI {public static class WebApiConfig{public static void Register(HttpConfiguration config){// Web API 配置和服务// Web API 路由config.MapHttpAttributeRoutes();config.Routes.MapHttpRoute(name: DefaultApi,//修改路由加上{action}/ 这样就可以在api接口中通过接口函数名来导向我们希望调用的api函数//否则只能通过controller来导向就可能会造成有相同参数的不同名函数冲突。其中{id}是api接口函数中的参数routeTemplate: api/{controller}/{action}/{id},defaults: new { id RouteParameter.Optional });}} }二.测试案例 写一个测试的api函数并开始执行(不调试) 2.1、我们在model文件夹中添加一个类movie using System; using System.Collections.Generic; using System.Linq; using System.Web;namespace WebAPI.Models {public class movie{public string name { get; set; }public string director { get; set; }public string actor { get; set; }public string type { get; set; }public int price { get; set; }} } 2.1.2、我们在model文件夹中添加一个类Product using System; using System.Collections.Generic; using System.Linq; using System.Web;namespace WebAPI.Models {public class Product{public int Id { get; set; }public string Name { get; set; }public string Category { get; set; }public decimal Price { get; set; }} } 2.2、在controller文件夹下添加web api控制器命名改为TestController using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Http; using System.Web.Http; using WebAPI.Models;namespace WebAPI.Controllers {public class TestController : ApiController{movie[] mymovie new movie[]{new movie { name海蒂和爷爷,director阿兰.葛斯彭纳,actor阿努克,type动漫,price28},new movie { name云南虫谷,director佚名,actor潘粤明,type惊悚,price32},new movie { name沙海,director佚名,actor吴磊,type惊悚,price28},new movie { name千与千寻,director宫崎骏,actor千寻,type动漫,price28}};public IEnumerablemovie GetAllMovies(){return mymovie;}public IHttpActionResult GetMovie(string name) //异步方式创建有什么作用{var mov mymovie.FirstOrDefault((p) p.name name);if (mymovie null){return NotFound();}return Ok(mymovie);}} }这样就完成了一个web api实例的编写 2.2.2、在controller文件夹下添加web api控制器命名改为productsController using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Http; using System.Web.Http; using WebAPI.Models;namespace WebAPI.Controllers {public class productsController : ApiController{Product[] products new Product[]{new Product { Id 1, Name Tomato Soup, Category Groceries, Price 1 },new Product { Id 2, Name Yo-yo, Category Toys, Price 3.75M },new Product { Id 3, Name Hammer, Category Hardware, Price 16.99M }};public IEnumerableProduct GetAllProducts(){return products;}public IHttpActionResult GetProduct(int id){var product products.FirstOrDefault((p) p.Id id);if (product null){return NotFound();}return Ok(product);}} }2.2.3、在controller文件夹下添加web api控制器命名改为MyController using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Http; using System.Web.Http;namespace WebAPI.Controllers {public class MyController : ApiController{[HttpGet]public string MyExample(string param1, int param2){string res ;res param1 param2.ToString();//这边可以进行任意操作比如数据存入或者取出数据库等return res;}} }三.本地调试 3.1 运行调试以本地 localhost或127.0.0.1形式访问 ①点击工具栏【IIS Express】 ②浏览地址输入接口看是否可以访问 localhost:44381/api/products/GetAllProducts 注意 这里的路径是写你的控制器前缀名称Control文件下的productsController控制器文件的前缀 https://localhost:44381/api/Test/GetAllMovies 2直接在浏览器中调试也行 想要调试的值可以将WebApiConfig.cs的代码修如下 using System; using System.Collections.Generic; using System.Linq; using System.Web.Http;namespace WebAPI {public static class WebApiConfig{public static void Register(HttpConfiguration config){// Web API 配置和服务// Web API 路由config.MapHttpAttributeRoutes();config.Routes.MapHttpRoute(name: DefaultApi,//修改路由加上{action}/ 这样就可以在api接口中通过接口函数名来导向我们希望调用的api函数//否则只能通过controller来导向就可能会造成有相同参数的不同名函数冲突。其中{id}是api接口函数中的参数routeTemplate: api/{controller}/{action}/{id},defaults: new { id RouteParameter.Optional });//去掉xml返回格式、设置json字段命名采用var appXmlType config.Formatters.XmlFormatter.SupportedMediaTypes.FirstOrDefault(t t.MediaType application/xml);config.Formatters.XmlFormatter.SupportedMediaTypes.Remove(appXmlType);}} }ok显示成功 localhost:44381/api/My/MyExample?param1param22 WebApi项目实例3-1 3-1 (1)新添加到控制器UserInfoController, using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Http; using System.Web.Http; using WebAPI.Models;namespace WebAPI.Controllers {public class UserInfoController : ApiController{//检查用户名是否已注册private ApiTools tool new ApiTools();// [HttpPost][HttpGet]public HttpResponseMessage CheckUserName(string _userName){int num UserInfoGetCount(_userName);//查询是否存在该用户if (num 0){return tool.MsgFormat(ResponseCode.操作失败, 不可注册/用户已注册, 1 _userName);}else{return tool.MsgFormat(ResponseCode.成功, 可注册, 0 _userName);}}private int UserInfoGetCount(string username){//return Convert.ToInt32(SearchValue(select count(id) from userinfo where username username ));return username admin ? 1 : 0;}} }添加返回响应类ApiTools using System; using System.Collections.Generic; using System.Linq; using System.Net.Http; using System.Text.RegularExpressions; using System.Web;namespace WebAPI.Models {//添加返回响应类public class ApiTools{private string msgModel {{\code\:{0},\message\:\{1}\,\result\:{2}}};public ApiTools(){}public HttpResponseMessage MsgFormat(ResponseCode code, string explanation, string result){string r ^(\-|\)?\d(\.\d)?$;string json string.Empty;if (Regex.IsMatch(result, r) || result.ToLower() true || result.ToLower() false || result [] || result.Contains({)){json string.Format(msgModel, (int)code, explanation, result);}else{if (result.Contains()){json string.Format(msgModel, (int)code, explanation, result);}else{json string.Format(msgModel, (int)code, explanation, \ result \);}}return new HttpResponseMessage { Content new StringContent(json, System.Text.Encoding.UTF8, application/json) };}}public enum ResponseCode{操作失败 00000,成功 10200,}} 3-1 (2)本地调试调用Web API接口 运行调试以本地 localhost或127.0.0.1形式访问 ①点击工具栏【IIS Express】 ②浏览地址输入接口看是否可以访问 https://localhost:44381/api/UserInfo/CheckUserName?_userNamewxd 3.2 运行调试以本地IP192.168.6.152形式访问 127.0.0.1是回路地址来检验本机TCP/IP协议栈实际使用过程中服务端不在本机是外部地址要用IP地址测试。 外部用户采用IP端口号访问如下图浏览器访问不了400错误。   解决方案 因为 IIS 7 采用了更安全的 web.config 管理机制默认情况下会锁住配置项不允许更改。 以管理员身份运行命令行【此处不要操作】 C:\windows\system32\inetsrv\appcmd unlock config -section:system.webServer/handlers 如果modules也被锁定再运行 C:\windows\system32\inetsrv\appcmd unlock config -section:system.webServer/modules 客户端程序调用接口分为以下几种情况 通过Javascript 和 jQuery 调用 Web API 右键资源管理器解决方案下面的项目添加-新建项 将index.html内容替换成 !DOCTYPE html html xmlnshttp://www.w3.org/1999/xhtml headtitleProduct App/title /head bodydivh2All Products/h2ul idproducts //divdivh2Search by ID/h2input typetext idprodId size5 /input typebutton valueSearch onclickfind(); /p idproduct //divscript srchttps://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.0.3.min.js/scriptscriptvar uri api/Products;$(document).ready(function () {// Send an AJAX request$.getJSON(uri).done(function (data) {// On success, data contains a list of products.$.each(data, function (key, item) {// Add a list item for the product.$(li, { text: formatItem(item) }).appendTo($(#products));});});});function formatItem(item) {return item.Name : $ item.Price;}function find() {var id $(#prodId).val();$.getJSON(uri / id).done(function (data) {$(#product).text(formatItem(data));}).fail(function (jqXHR, textStatus, err) {$(#product).text(Error: err);});}/script /body /html四.发布web api 并部署 4.1、首先右键项目选择发布 到这里程序已经发布到指定的路径下了这里的路径可以是本机的文件夹也可以是服务器上的ftp路径 4.2、我们还剩最后一步就是在IIS上把发布的服务端程序挂上去不说了直接上图 打开iis选中网站右键 添加网站  好了服务端程序发布并部署完成。 这个WebAPI就是刚刚我们部署好的点击下图右侧的浏览*91(http)会打开网页
http://www.hkea.cn/news/14261543/

相关文章:

  • 在58做网站推广有效果吗如何开展网站推广
  • 手工做火枪的网站深圳涂料网站建设
  • 制作网站单页十堰秦楚网十堰晚报新闻
  • 科技网站制作免费推广网站入口2023燕
  • 算命公司网站建设制作开发方案网站建设的商业计划书
  • 嘉兴门户网站如何开发一个app软件
  • 重庆建网站价格表建设个人网站的好处
  • 网站设计开发的销售主要工作创新的中小型网站建设
  • 网站建设的成本有哪些方面怎么在网络上做推广
  • 建网站选号域名1800做网站因为专业
  • 山东省住房建设部网站大同哪有做网站的
  • 佛山外贸网站建设新闻大连建设工程规划公示牌
  • 网站优化怎么弄自己架设网站备案
  • 网站是每年都要付费吗美容美发网站模板
  • 郑州专业做淘宝直播网站装宽带需要多少钱
  • 个人门户网站模板南宁网站建设贴吧
  • 成都模板网站建设小米手机官方网站
  • 假网站备案wordpress系列教程 pdf
  • 工作室网站建设费用价格儿童教育机构网页设计素材
  • 门户网站开发技术 知乎医院网页
  • 揭阳公司做网站百度快照提交
  • 个人网站页面模板后缀的域名暂无法进行网站备案
  • wordpress登录会员中心温州seo网站推广
  • app软件开发就是网站开发吗企业seo价格查询价格
  • phton可以做网站吗沈阳网站建设公司的公司
  • 淄博培训网站建设奉贤做网站的
  • 中企动力建设的网站如何修改怎么做网站平台梦想
  • wordpress建外贸网站wordpress插件无法启用
  • 微博网站建设用数据库做网站
  • 黑龙江建设教育信息网站首页购买网站需要注意什么