分享我的第一个asp.net core开发过程

.net core 这个东西感觉还是很不错的,学习了一下,并且做了一个微服务(IP地址查询服务) http://vju.cc/ip/ipquery

看上他的跨平台功能,所以就研究一下,中间有不少坑,有很多第三方类库还不支持.net core,就连微软自己也是三天两头的变,vs2015和vs2017开发就不一样,有的能生成发布,有的不能生成发布。

我的最终目标是把项目部署到docker上,再实现容灾,负载和集群功能,先来第一步吧。

下面就讲一下具体的代码吧!

项目的分层

 

项目用到了redis缓存最近的IP查询数据。

部署在 linux 14上

用到的第三方类库有:

  1. Autofac

  2. AutoMapper

  3. Dapper

  4. NLog

  5. StackExchange.Redis

  6. MySql.Data

IP查询有两个方式:

一是直接打开浏览器浏览页面直接获取客户端IP,并查询出IP及客户端操作系统和浏览器信息输出在界面上

http://vju.cc/ip/ipquery

输出如下:

 

二是通过提供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

原文地址:http://www.cnblogs.com/hanbing8/p/6189673.html


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/327443.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java并发编程:深入剖析ThreadLocal

转载自 Java并发编程:深入剖析ThreadLocal 一.对ThreadLocal的理解 ThreadLocal,很多地方叫做线程本地变量,也有些地方叫做线程本地存储,其实意思差不多。可能很多朋友都知道ThreadLocal为变量在每个线程中都创建了一个副本&…

最全三大框架整合(使用映射)——Dept.hbm.xml

<?xml version"1.0" encoding"utf-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <!-- Mapping file au…

软件测试遇到的异常情况,豪之诺软件测试项目开发中遇到比较多的Bug总结

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼在当前正在开发的项目中&#xff0c;最近进入测试阶段&#xff0c;遇到了几个比较揪心的问题&#xff1a;  其一&#xff0c;数据插入问题&#xff0c;在上一篇博客中大致也是解决了这一问题&#xff0c;虽说没有解决所有的&…

【spring boot】启动类启动 错误: 找不到或无法加载主类 com.codingapi.tm.TxManagerApplication 的解决方案

【spring boot】启动类启动 错误: 找不到或无法加载主类 com.codingapi.tm.TxManagerApplication 的解决方案 导入的一个外部的spring boot项目&#xff0c;运行启动类&#xff0c;出现错误&#xff1a;找不到或无法加载主类 com.codingapi.tm.TxManagerApplication 解决方案…

Rest环境搭建:服务提供者和消费者---SpringCloud

Rest环境搭建&#xff1a;服务提供者和消费者 4.1 介绍 我们会使用一个Dept部门模块做一个微服务通用案例Consumer消费者(Client)通过REST调用Provider提供者(Server)提供的服务。回顾Spring&#xff0c;SpringMVC&#xff0c;Mybatis等以往学习的知识。Maven的分包分模块架构…

Java 多线程 并发编程

转载自 Java 多线程 并发编程 一、多线程 1、操作系统有两个容易混淆的概念&#xff0c;进程和线程。 进程&#xff1a;一个计算机程序的运行实例&#xff0c;包含了需要执行的指令&#xff1b;有自己的独立地址空间&#xff0c;包含程序内容和数据&#xff1b;不同进程的地…

get√—搜索微信公众号【Dotnet跨平台】指定文章的办法

有同学是刚关注“Dotnet跨平台”微信公众号的&#xff0c;结果没看到以前的很多信息&#xff0c;尤其是有用信息&#xff0c;查看历史消息时&#xff0c;有时信息太多&#xff0c;光来回滑动可能要好久&#xff0c;好消息是&#xff0c;微信其实早就支持搜索指定公众号的历史文…

最全三大框架整合(使用映射)——IDeptDao.java

/** * Title: IDeptDao.java * Package org.dao * Description: TODO该方法的主要作用&#xff1a; * author A18ccms A18ccms_gmail_com * date 2017-5-18 下午2:18:33 * version V1.0 */ package org.dao;import org.entity.Dept;/** * * 项目名称&#xff1a;spr…

定西市计算机考试,2019年3月甘肃省定西市计算机等级考试时间

&nbsp&nbsp[导读]:2019年3月甘肃省定西市计算机等级考试时间2019年3月甘肃省定西市计算机等级考试时间考试时间2019年3月30日至4月1日&#xff1b;考试具体时间、地点均以“准考证”为准。NCRE开考一、二、三、四共4个级别。各级别定位和描述如下&#xff1a;一级&…

尚硅谷2020最新版SpringCloud(H版alibaba)框架开发教程全套完整版从入门到精通

01_前言闲聊和课程说明02_零基础微服务架构理论入门03_第二季Boot和Cloud版本选型04_Cloud组件停更说明05_父工程Project空间新建06_父工程pom文件07_复习DependencyManagement和Dependencies08_支付模块构建(上)09_支付模块构建(中)10_支付模块构建(下)11_热部署Devtools12_消…

Eureka服务注册中心---SpringCloud

Eureka服务注册中心 5.1 什么是Eureka Netflix在涉及Eureka时&#xff0c;遵循的就是API原则.Eureka是Netflix的有个子模块&#xff0c;也是核心模块之一。Eureka是基于REST的服务&#xff0c;用于定位服务&#xff0c;以实现云端中间件层服务发现和故障转移&#xff0c;服务…

一个复杂系统的拆分改造实践

1 为什么要拆分&#xff1f; 先看一段对话。 从上面对话可以看出拆分的理由&#xff1a; 1&#xff09; 应用间耦合严重。系统内各个应用之间不通&#xff0c;同样一个功能在各个应用中都有实现&#xff0c;后果就是改一处功能&#xff0c;需要同时改系统中的所有应用。这种情…

【深入理解JVM】:类加载器与双亲委派模型

转载自 【深入理解JVM】&#xff1a;类加载器与双亲委派模型 类加载器 加载类的开放性 类加载器&#xff08;ClassLoader&#xff09;是Java语言的一项创新&#xff0c;也是Java流行的一个重要原因。在类加载的第一阶段“加载”过程中&#xff0c;需要通过一个类的全限定名来…

最全三大框架整合(使用映射)——DeptDaoImpl.java

/** * Title: DeptDaoImpl.java * Package org.dao.impl * Description: TODO该方法的主要作用&#xff1a; * author A18ccms A18ccms_gmail_com * date 2017-5-18 下午2:19:46 * version V1.0 */ package org.dao.impl;import org.dao.IDeptDao; import org.entity.Dep…

excel批量插入 配置yml

jdbc:mysql://localhost:3306/day14_customer?useSSLtrue&rewriteBatchedStatementstrue

保密计算机能用旧显示器,旧液晶电视机别扔,可作电脑显示器用

现在家里的电视机更新换代也快&#xff0c;可能装修新房就换了一台新液晶电视机。但旧液晶电视机怎么处理&#xff1f;其实&#xff0c;液晶电视机是可以作为台式、笔记本电脑显示器用的。液晶电视也可以看做是电脑的显示屏&#xff0c;但输出亮度较大&#xff0c;长期使用对人…

最全三大框架整合(使用映射)——IDeptService.java

/** * Title: DeptDaoImpl.java * Package org.dao.impl * Description: TODO该方法的主要作用&#xff1a; * author A18ccms A18ccms_gmail_com * date 2017-5-18 下午2:19:46 * version V1.0 */ package org.dao.impl;import org.dao.IDeptDao; import org.entity.Dep…

秒杀架构实践

转载自 秒杀架构实践 前言 本次采用循序渐进的方式逐步提高性能达到并发秒杀的效果&#xff0c;文章较长请准备好瓜子板凳(liushuizhang)。 本文所有涉及的代码&#xff1a; https://github.com/crossoverJie/SSM https://github.com/crossoverJie/distributed-redis-tool 最…

负载均衡Ribbon和Feign---SpringCloud

负载均衡Ribbon和Feign Ribbon负载均衡(基于客户端) 6.1 负载均衡以及Ribbon Ribbon是什么&#xff1f; Spring Cloud Ribbon 是基于Netflix Ribbon 实现的一套客户端负载均衡的工具。简单的说&#xff0c;Ribbon 是 Netflix 发布的开源项目&#xff0c;主要功能是提供客户端…

ASP.NET Core 在 Swagger UI 中显示自定义的 Header Token

Swagger 是个好东西&#xff0c;对于前后端分离的网站来说&#xff0c;不仅是提高前后端开发人员沟通效率的利器&#xff0c;也大大方便了后端人员测试 API。有时候&#xff0c;API 中可能需要在 Header 中设置认证参数&#xff0c;比如 authToken&#xff0c;这样的功能我们通…