实现目的:配置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. 分别用C/C++ 和 C#实现简单的观察者模式

    网上找了很多关于观察者模式的代码例子和文章,都写的比较复杂,我个人还是喜欢从易到难,今天自己参考网上资料,也写了一个简单观察者模式的例子,简单的复习了一下Observer 模式,Observer 模式 ...

  2. 退出全屏监听ESC事件

    fullscreenchange事件 fullscreenchange:当窗口大小改变时触发 isFullscreen:全局变量 window.addEventListener("fulls ...

  3. 设计多选按钮ListChooseView

    设计多选按钮ListChooseView 答应某位女屌丝而写的控件,效果还不错,开源给大家^_^! 效果图: 源码: // // ListChooseView.h // ScrollChooseBut ...

  4. 1星|《社群X平台》:没有实际工作经验的职业写手拼凑而成

    社群X平台 赋能企业指数级增长 网站上介绍作者有一些身份.书中没提作者的职位,只介绍是“码字为生”.书的封底有一些名人言论的引用,咋一看以为都是推荐本书,细看只有最后李善友在推荐本书,其他人的话都是跟 ...

  5. SDN2017 第一次实验作业

    1. 安装mininet 从github上获取Mininet源码并运行安装脚本 $ git clone git://github.com/mininet/mininet $ ./mininet/uti ...

  6. spring-boot默认的application.properties属性

    # =================================================================== # COMMON SPRING BOOT PROPERTIE ...

  7. UE4中的AI行为树简单介绍

    UE4引擎中可以实现简单AI的方式有很多,行为树是其中比较常用也很实用的AI控制方式,在官网的学习文档中也有最简单的目标跟踪AI操作教程,笔者在这里只作简单介绍. AIController->和 ...

  8. 2018 ACM-ICPC 中国大学生程序设计竞赛线上赛 H题 Rock Paper Scissors Lizard Spock.(FFT字符串匹配)

    2018 ACM-ICPC 中国大学生程序设计竞赛线上赛:https://www.jisuanke.com/contest/1227 题目链接:https://nanti.jisuanke.com/t ...

  9. struts2 标签使用注意

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/qilixiang012/article/details/31954501 通常是用html标签.而不 ...

  10. BZOJ3786:星系探索(Splay,括号序)

    Description 物理学家小C的研究正遇到某个瓶颈. 他正在研究的是一个星系,这个星系中有n个星球,其中有一个主星球(方便起见我们默认其为1号星球),其余的所有星球均有且仅有一个依赖星球.主星球 ...