实现目的:配置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. 关于打开现有项目时数据库连接配置遇到的问题 连接字符串中的数据源值指定未安装的SQL Server的实例。要解决此问题,可选择安装匹配的SQL Server实例或修改连接字符串中的数据源值

    最近在看红皮书<ASP.NET MVC 5 高级编程>时,为了更好理解,边看书,边打开源代码查看,在VS(Visual Studio 2015)中将源代码打开,发现数据库连接是关闭的,本想 ...

  2. [翻译] SIAlertView

    SIAlertView https://github.com/Sumi-Interactive/SIAlertView An UIAlertView replacement with block sy ...

  3. 铁乐学python_day04-作业

    1,写代码,有如下列表,按照要求实现每一个功能 li = ['alex', 'wusir', 'eric', 'rain', 'alex'] 计算列表的长度并输出 print(len(li)) 答:结 ...

  4. Word2016“此功能看似已中断 并需要修复”

    Word2016"此功能看似已中断 并需要修复" 文:铁乐与猫 在Win10系统上安装 Office 2016 之后,每次打开Word文档都会提示"很抱歉,此功能看似已中 ...

  5. 【Excel】如何用SUMIF实现SUMIFS的功能

    如何用SUMIF实现SUMIFS的功能   添加辅助列,辅助列内容为"条件区域1内容+条件区域内容2" 举个例子,我要挑选出"二车间"的"过桥过路费& ...

  6. php数据结构之二叉树

    树是一种比较重要的数据结构, 尤其是二叉树.二叉树是一种特殊的树,在二叉树中每个节点最多有两个子节点,一般称为左子节点和右子节点(或左孩子和右孩子),并且二叉树的子树有左右之 分,其次序不能任意颠倒. ...

  7. 使用Ajax无刷新页面登录

    <script> window.onload = function () { var myname = document.getElementById("uname") ...

  8. September 13th 2017 Week 37th Wednesday

    Whenever people agree with me, I always feel I must be wrong. 每次人们赞同我时,我都觉得自己一定错了. We can draw lesso ...

  9. [EffectiveC++]item45:运用成员函数模板接受所有兼容类型

  10. docker 部署django项目(nginx + uwsgi +mysql)

    最近在学习用docker部署Django项目,经过百折不挠的鼓捣,终于将项目部署成功,爬过好多坑,也发现很多技能需要提高.特此写下随笔与小伙伴们分享,希望能对大家有所启发. docker的理论我就不赘 ...