实现目的:配置website端与服务端对接

1:配置好各项配置文件

2:server端编写接口客户端调用

1.1首先配置文件有log4的配置文件,有config的配置文件,还有服务列表的配置文件

首先在项目下建立Configs文件夹,里面包含log4和系统配置文件,名字可以随便取只要路径在程序中配置对就行  

log4的配置方式大家可以网上百度一篇,博客园应该会有相关的文章,这里讲一下SystemConfig配置文件的配置方法

这里配置了日志和数据库的设置都是1

各项目的Webconfig文件配好配置文件的路径

,在Framework里面对应好就是

其实这里还可以拓展,只不过拓展之后使用的话要做一个类似日志和数据库的封装过程。

1.2:在站点端配置服务文件,如图  ,

详细内容包含

ServerList.config文件是服务列表文件可以配置不同的服务对应不同的Url,serviceList.config里面包含一批Services节点,Server属性就对应不同的服务名称,Name是在本程序中使用的名字,Url是对应接口的路径,Method时表示的用Post或者Get方式请求的,Isrelative表示是     否是激活的。

2.1 接下来我们在Server端写一组接口供website端调用

新建一个Test控制器,继承APi控制器,,

编写两个接口WebHttp,WebHttp2,分别返回对象和对象集合。注意方法名要用Post或者Get属性标注,

website 写两个方法调用 

运行 使用python写个调用测试下接口.

断点调试结果website端 

server端调用过程

python调试接口

同样把接口换成WebRequestTest2 返回的就是一个list数组

这里我向接口传的参数都是null,如果有需要参数的只要在对应接口上加上形参,在调用上加上实参,参数对象是一样的就行了会自动依赖注入到接口的对象上直接可以使用

注意 本篇讲的是演示了站点端调用服务端,真正前后端分离的话直接使用Server端使用webapi对外开放接口就行了,前端纯Html+css+脚本,asp.net WebApi有一个Help页面只要写好注释就会自动生成接口说明列表

服务端可以使单独抽出来的核心业务模块,这样接近与服务化。

其实接口测试有许多很好的工具,比如火狐的httprequest和Chroom的Postman这两个插件都很好用,只不过赶上火狐最近更新一批插件到时我以前装的不兼容了,重装了好几次火狐一更新就不能用,postman由于要FQ安装所以也懒得搞了,

直接python三行代码写一个方便多了,python简单强大,建议大家多用用。

还有调试的时候,本例,讲的是直接运行本地进行接口调用,如果真是项目组协同开发的话,建议还是将代码发布到iis上面去然后使用附加到进程的方式调用,这样与真实的服务器环境差距不大,而且方便其他人调用,,

值得注意的是使用附加到进程的方式调试,iis和visual studio 都需要使用管理员的身份打开,如果不清楚也可以百度一下。

还有一点 关于上面的LogFilter是使用Filter拦截器来记录程序的运行情况的

在项目根目录下建立Log文件夹就会自动记录日志  例如早上请求的两次接口 就有记录 

就到这里吧,博主讲的不是很详细,有些东西应为我发现博客园上已经有很多大佬写的很详细了所以查找一下也能查到,所以博主没有写的很详细.更多的是想把思路分享出来。

最后附上完整Demo地址,希望大家学习愉快,也欢迎大家提出更好的意见,后续会更新一些后端第三方技术,比如Orm框架EF,Dapper依赖注入框架Autofac,对象转换工具类AutoMapper等,博主也在学习中希望共同进步。

亲手搭建一个基于Asp.Net WebApi的项目基础框架4的更多相关文章

  1. 亲手搭建一个基于Asp.Net WebApi的项目基础框架1

    目标:教大家搭建一个简易的前后端分离的项目框架. 目录: 1:关于项目架构的概念 2:前后端分离的开发模式 3:搭建框架的各个部分 这段时间比较闲,所以想把之前项目里用到的一些技术写到博客里来,分享给 ...

  2. 亲手搭建一个基于Asp.Net WebApi的项目基础框架3

    1:使用Framework工具类封装http请求 接上第二篇的步骤,现在在站点中使用封装好的组件,将framework编译好之后把dll提取出来,然后放到lib当中 在website中引用dll 接下 ...

  3. 亲手搭建一个基于Asp.Net WebApi的项目基础框架2

    本篇目的:封装一些抽象类 1::封装日志相关类 2:封装一个Service操作类 3:封装缓存操作类 4:封装其他一些常用Helper 1.1在Framework项目里面建立好相关操作类文件夹,以便于 ...

  4. 用VSCode开发一个基于asp.net core 2.0/sql server linux(docker)/ng5/bs4的项目(1)

    最近使用vscode比较多. 学习了一下如何在mac上使用vscode开发asp.netcore项目. 这里是我写的关于vscode的一篇文章: https://www.cnblogs.com/cgz ...

  5. 使用EF Code First搭建一个简易ASP.NET MVC网站,允许数据库迁移

    本篇使用EF Code First搭建一个简易ASP.NET MVC 4网站,并允许数据库迁移. 创建一个ASP.NET MVC 4 网站. 在Models文件夹内创建Person类. public ...

  6. Uber如何搭建一个基于Kafka的跨数据中心复制平台 原创: 徐宏亮 AI前线 今天

    Uber如何搭建一个基于Kafka的跨数据中心复制平台 原创: 徐宏亮 AI前线 今天

  7. 快速搭建一个基于react的项目

    最近在学习react,快速搭建一个基于react的项目 1.创建一个放项目文件夹,用编辑器打开 2.打开集成终端输入命令: npm install -g create-react-app 3. cre ...

  8. 使用gulp搭建一个传统的多页面前端项目的开发环境

    1.简介 使用gulp搭建一个传统的多页面前端项目的开发环境 支持pug scss es6编译支持 支持开发环境和打包生成sourceMap 支持文件变动自动刷新浏览器,css是热更新(css改动无需 ...

  9. 基于RxJava2+Retrofit2精心打造的Android基础框架

    代码地址如下:http://www.demodashi.com/demo/12132.html XSnow 基于RxJava2+Retrofit2精心打造的Android基础框架,包含网络.上传.下载 ...

随机推荐

  1. 初始docker

    什么是docker? 很多人都是使用docker但是对docker的理解其实并没有这么透彻,只知道怎么用但是不知道为什么用 什么时候去用. 一.环境配置的难题 软件开发最大的麻烦事之一,就是环境配置. ...

  2. PHPredis安装

    一.PHPredis下载链接:https://pan.baidu.com/s/1bz0EaJgDpp2ADQJCJOHJGA 二.解压并进入目录 三.发现没有configure文件,需要安装autoc ...

  3. python-面向过程编程

    面向过程: 核心是过程.过程指的是解决问题的步骤,设计一条流水线,机械式的思维方式. 优点:复杂的问题流程化,进而简单化

  4. AppHangB1:explorer进程停止与Windows交互

    现象:Windows 7,打开 “计算机” 的时候,资源管理器卡死,如图所示. 解决方法:卸载 CAD迷你看图软件,利用 CCleaner 清除注册表.

  5. 深入浅出SharePoint——配置List通过邮件来接收内容

    应用场景:在SharePoint的开发中,我们经常需要通过接收并解析Mail的方式来进行数据通信. 解决方案:通常有两种方式:一种是直接使用公司的Exchange服务器,一种是在SharePoint ...

  6. #002 Emmet完整API

    介绍 这里包含了,所有的Emmet API,非常的详细,但是有一点详细过头了,如果只想快速上手,那么推荐<#001 Emmet的API图片> Emmet (前身为 Zen Coding) ...

  7. QT导入libcurl支持HTTPS

    对于我这种不会编译的人来说,必须找到已经编译好的DLL文件,以及头文件才能使用. 幸运的在这个网站https://stackoverflow.com/questions/28137379/libcur ...

  8. 查看oracle数据库版本

    1. 登录sysdba用户 sqlplus / as sysdba 2. 方法一:v$version SQL> select * from v$version; 3.  方法二:product_ ...

  9. python decorator的本质

    推荐查看博客:python的修饰器 对于Python的这个@注解语法糖- Syntactic Sugar 来说,当你在用某个@decorator来修饰某个函数func时,如下所示: @decorato ...

  10. Nginx总结.md

    基本配置 注意:下面的nginx版本是1.10,安装是在CentOS 7中通过epel源进行安装的nginx默认配置文件. # egrep -v "(^$)|(^#)|#" /et ...