分享我的第一个asp.net core开发过程
.net core 这个东西感觉还是很不错的,学习了一下,并且做了一个微服务(IP地址查询服务) http://vju.cc/ip/ipquery
看上他的跨平台功能,所以就研究一下,中间有不少坑,有很多第三方类库还不支持.net core,就连微软自己也是三天两头的变,vs2015和vs2017开发就不一样,有的能生成发布,有的不能生成发布。
我的最终目标是把项目部署到docker上,再实现容灾,负载和集群功能,先来第一步吧。
下面就讲一下具体的代码吧!
项目的分层
项目用到了redis缓存最近的IP查询数据。
部署在 linux 14上
用到的第三方类库有:
- Autofac
- AutoMapper
- Dapper
- NLog
- StackExchange.Redis
- MySql.Data
IP查询有两个方式:
一是直接打开浏览器浏览页面直接获取客户端IP,并查询出IP及客户端操作系统和浏览器信息输出在界面上
输出如下:
二是通过提供API的方法,主要针对第三方应用调用(后面的IP地址由调用方提供)
http://vju.cc/ip/api/iplookup/iplookup_paid/116.224.233.48
输入如下:
默认提供json格式输出,如果调用方需要xml格式输出时,只需要在http请求的head里添加:Accept 为 application/xml 即可
源代码帖起来麻烦,有兴趣的可以拿下来浏览一下(没找到哪里可以上传附件,只能百度网盘了)
http://pan.baidu.com/s/1gfl0n1x
QQ群名称:.net core研究
QQ群号:115476247
分享我的第一个asp.net core开发过程的更多相关文章
- 如何一秒钟从头构建一个 ASP.NET Core 中间件
前言 其实地上本没有路,走的人多了,也便成了路. -- 鲁迅 就像上面鲁迅说的那样,其实在我们开发中间件的过程中,微软并没有制定一些策略或者文档来约束你如何编写一个中间件程序, 但是其中却存在者一些最 ...
- Kubernetes初探[1]:部署你的第一个ASP.NET Core应用到k8s集群
Kubernetes简介 Kubernetes是Google基于Borg开源的容器编排调度引擎,作为CNCF(Cloud Native Computing Foundation)最重要的组件之一,它的 ...
- 使用Visual Studio Code创建第一个ASP.NET Core应用程序
全文翻译自:Your First ASP.NET Core Application on a Mac Using Visual Studio Code 这篇文章将向你展示如何在Mac上写出你的第一个A ...
- 从零写一个Asp.net core手脚架(模型验证)
一个asp.net core项目,一定包含了各种的实体,在RESTful api里面,有很多的参数传递,不建立实体则大量的参数需要自定验证正确性,并且Action上面会写的密密麻麻的参数 在asp.n ...
- 如何远程关闭一个ASP.NET Core应用?
在<历数依赖注入的N种玩法>演示系统自动注册服务的实例中,我们会发现输出的列表包含两个特殊的服务,它们的对应的服务接口分别是IApplicationLifetime和IHostingEnv ...
- .NET Core RC2发布在即,我们试着用记事本编写一个ASP.NET Core RC2 MVC程序
在.NET Core 1.0.0 RC2即将正式发布之际,我也应应景,针对RC2 Preview版本编写一个史上最简单的MVC应用.由于VS 2015目前尚不支持,VS Code的智能感知尚欠火候,所 ...
- 【翻译】在Mac上使用VSCode创建你的第一个Asp.Net Core应用
Setting Up Your Development Environment 设置你的开发环境 To setup your development machine download and inst ...
- 用.Net Core控制台模拟一个ASP.Net Core的管道模型
在我的上几篇文章中降到了asp.net core的管道模型,为了更清楚地理解asp.net core的管道,再网上学习了.Net Core控制台应用程序对其的模拟,以加深映像,同时,供大家学习参考. ...
- 用VSCode开发一个asp.net core 2.0+angular 5项目(4): Angular5全局错误处理
第一部分: http://www.cnblogs.com/cgzl/p/8478993.html 第二部分: http://www.cnblogs.com/cgzl/p/8481825.html 第三 ...
随机推荐
- JetBrains ReSharper Ultimate 2017.2.2激活方法
先提供两个链接, 需要直接拿去用即可 第一个: http://xidea.online 第二个: http://idea.iteblog.com/key.php (我用的这个) 方法下图: 继续: ...
- BugkuCTF 逆向
Easy_vb 下载文件,打开 用 IDA 或 OD 打开 在中间部分发现 flag 把 MCTF 改成 flag,就是正确的 flag 了 Easy_Re 下载附件,打开
- 大杀器TheFatRat
项目地址:https://github.com/Screetsec/TheFatRat 安装TheFatRat root@sch01ar:/sch01ar# git clone https://git ...
- java成神之——Stream和Optional
Stream流 基本使用 流关闭 平行流 流重用 iterator转换成流 分组计数 无限流 流转集合 压缩流 统计数值流 集合转换流遍历 流拼接 reduce 使用流生成随机字符串 流的包装流 几种 ...
- Python 列表学习笔录
列表是Python中最基本的数据结构,列表是最常用的Python数据类型,列表的数据项不需要具有相同的类型.列表中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类 ...
- 【287】◀▶ arcpy 常用类说明
ArcPy 类列表(按字母顺序) 01 Raster 创建一个可在 Python 脚本或地图代数表达式中使用的栅格对象. 02 Cursor Cursor 是一种数据访问对象,可用于在表中迭代 ...
- 刷题向》关于一道像差分约束的数学题BZOJ1045(NORMAL)
关于这道题,乍一看很像查分约束,但是实际上这道题是可以用数学方法直接解决的. 这道题在蓝书上有原题,可以看到题解,在此再赘述一遍 首先,最终每个小朋友的糖果数量可以计算出来,等于糖果总数除以n,用av ...
- Codeforces 1109D (树的计数问题)
思路看这篇博客就行了:https://www.cnblogs.com/zhouzhendong/p/CF1109D.html, 讲的很好 今天学到了prufer编码,这是解决树上计数问题的一大利器,博 ...
- web优化
一个小型的网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构.性能的要求都很简单.随着互联网业务的不断丰富,网站相关的技术经过 ...
- GROUP BY ROLLUP和CUBE 用法
ROLLUP和CUBE 用法 Oracle的GROUP BY语句除了最基本的语法外,还支持ROLLUP和CUBE语句. 如果是Group by ROLLUP(A, B, C)的话 ...