NetCore之HelloWorld

2020-01-27 18:17


Sers提供了3种c#接入的方式(用户亦可自定义接入),Serslot是对net core2.1 web api的原生支持。无需修改原有web api代码结构,修改3处地方(仅一处代码)即可无缝接入。点我查看源码。点我下载源码。

1.添加nuget包引用

编辑csproj文件,添加如下代码,通过nuget安装Serslot

<ItemGroup><PackageReference Include="Sers.Serslot" Version="2.1.1.250" />
</ItemGroup>

2.修改项目启动代码

编辑Program.cs文件,按照如下添加两行代码

// Program.cs
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Logging;
using Vit.Extensions;   //----添加代码1namespace SerslotDemo
{public class Program{public static void Main(string[] args){CreateWebHostBuilder(args).Build().Run();}public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>WebHost.CreateDefaultBuilder(args).UseSerslot()  //----添加代码2.UseStartup<Startup>();}
}

3.修改配置文件

编辑 appsettings.json 文件,添加 Sers 配置(暂时不要关心配置内容是什么、有什么作用,直接把 Sers节点(3到30行)复制进去就好)。

//appsettings.json
{"Sers": {/* 通讯层配置 */"CL": {      /* one conn is one channel.can be multiable */"Client": [{// Socket.Iocp/* (x.1) type - Iocp *//* the class of builder in assemblyFile  */"className": "Sers.CL.Socket.Iocp.OrganizeClientBuilder",/* (x.2) conn config *//* 服务端 host地址。例如: "127.0.0.1"、"sersms.com" */"host": "127.0.0.1",/* 服务端 监听端口号。例如: 4501 */"port": 4501,/* 连接秘钥,用以验证连接安全性。服务端和客户端必须一致 */"secretKey": "SersCL"}]},/* LocalApiService 配置,可不指定 */"LocalApiService": {/* 后台服务的线程个数(单位个,默认0,代表不开启服务) */"workThreadCount": 16}    },"Logging": {"LogLevel": {"Default": "Warning"}},"AllowedHosts": "*"
}

4.运行服务中心

如果是在windows环境中,可以直接下载服务中心程序然后运行。
下载服务中心程序文件,解压,双击文件夹中的批处理文件“01 ServiceCenter.bat”即可。

服务中心是用net core编写的,请先安装netcore2.1运行环境。

控制台有如下类似输出则代表服务中心启动成功。

[INFO][14:57:33.9310][WebHost]will listening on: http://*:4580
[INFO][14:57:33.9323][WebHost]wwwroot : ......\wwwroot
Hosting environment: Production
Content root path: ......\Sers2.1.1.250\ServiceCenter
Now listening on: http://[::]:4580
Application started. Press Ctrl+C to shut down.

5.运行程序

运行程序,在服务中心的控制台看到如下输出则代表服务接入成功

[INFO][15:32:51.3471][CL] OnConnected,connTag:
[INFO][15:32:51.5732][ApiCenterService]Regist serviceStation,stationName:
[INFO][15:32:51.5744][ApiCenterService]Add ApiNode,serviceKey:/api/Values/*_DELETE
[INFO][15:32:51.5820][ApiCenterService]Add ApiNode,serviceKey:/api/Values_GET
[INFO][15:32:51.5832][ApiCenterService]Add ApiNode,serviceKey:/api/Values/*_GET
[INFO][15:32:51.5855][ApiCenterService]Add ApiNode,serviceKey:/api/Values_POST
[INFO][15:32:51.5870][ApiCenterService]Add ApiNode,serviceKey:/api/Values/*_PUT

打开地址 http://localhost:4580/api/Values,得到如下返回:

["value1","value2"]

说明我们的api注册到服务中心,并被成功调用了。

解析Sers微服务-NetCore之HelloWorld相关推荐

  1. 解析Sers微服务-NetCore之Serslot

    NetCore之Serslot 创建时间 2020-01-28 12:00    修改时间 2020-01-28 14:21 1.服务站点的生命周期 介绍Serslot之前,我们先了解一下服务站点的生 ...

  2. Sers微服务架构 初探

    Sers微服务架构协议(Sers 2.0.1/release) Sers为一套跨平台跨语言的开源微服务架构协议. 单机QPS能达15万.目前支持C++.Java.c#. 此版本为v2.0.1版.(Re ...

  3. Sers微服务2.1.1

    # Sers微服务架构协议(Sers 2.1.1/release) Sers为一套跨平台跨语言的开源微服务架构协议. 单机QPS能达15万.目前支持C++.Java.c#. 此版本为v2.1.1版.( ...

  4. Sers微服务快速入门-02.快速接入

    微服务给我们的第一映像是架构复杂,部署起来麻烦.其实并非如此,不同的架构选型必然带来不同的优点和缺点,没有一劳永逸的方法,配置简单是因为适用的场景面窄.在项目或产品的实际开发中往往随着时间的推进需要实 ...

  5. EventBus In eShop -- 解析微软微服务架构eShopOnContainers(四)

    引言 大家好像对分析源码厌倦了,说实在我也会厌倦,不过不看是无法分析其后面的东西,从易到难是一个必要的过程. 今天说下EventBus,前几天园里的大神已经把其解刨事件总线(Event Bus)知多少 ...

  6. Catalog Service - 解析微软微服务架构eShopOnContainers(三)

    上一篇我们说了Identity Service,因为其基于IdentityServer4开发的,所以知识点不是很多,今天我们来看下Catalog Service,今后的讲解都会把不同的.重点的拿出来讲 ...

  7. Identity Service - 解析微软微服务架构eShopOnContainers(二)

    接上一篇,众所周知一个网站的用户登录是非常重要,一站式的登录(SSO)也成了大家讨论的热点.微软在这个Demo中,把登录单独拉了出来,形成了一个Service,用户的注册.登录.找回密码等都在其中进行 ...

  8. Sers微服务快速入门-01.简介

    微服务给我们的第一映像是分布式.架构复杂庞大,部署起来非常麻烦.其实并非如此,不同的架构选型必然带来不同的优点和缺点,没有一劳永逸的方法,配置简单是因为适用的功能场景简单.在项目或产品的实际开发中往往 ...

  9. Sers微服务快速入门-00.目录

    Sers微服务快速入门-00.目录 01.简介 02.快速接入 未完待续

最新文章

  1. Oracle 聚合函数(Aggregate Functions)说明
  2. 串行端口 linux,规范模式Linux串行端口
  3. Vista下的五笔输入法
  4. x264 n-th pass编码时候Stats文件的含义
  5. 印度首富之女大婚,贫穷限制了我的想象……
  6. 卢伟冰曝Redmi K50系列最新进展:天玑9000调校比较顺利
  7. 模仿还是致敬?华为全新环绕屏手机酷似小米MIX Alpha
  8. 照片解锁手机不能忍?教你用OpenCV做活体检测 | 有代码
  9. js object转数组_const 和 Object.freeze() 的区别 ?
  10. 【Java并发编程】3、DelayQueue应用场景,多考生考试
  11. uva 10330(最大流)
  12. linux禁止客户端上传文件_linux 文件服务
  13. ARP防火墙 (防如网络执法官、网络剪刀手、局域网终结者限制本机网速)
  14. #华为云在HC2018#华为云学院
  15. 所选的用户密钥未在远程主机上注册,请再试一次
  16. Unity编辑器(Editor)的问题全解以及使用
  17. EasyRTMP手机直播推流到EasyDSS进行RTMP直播过程中分辨率反复切换崩溃问题解决
  18. 可以远程控制的浏览器(双核)让浏览器动起来
  19. 互联网快讯:菜鸟加码全球物流网络布局;猿辅导、掌门教育聚焦素质教育
  20. 小程序接入h5页面_微信小程序跳转外部链接(h5页面)以及数据交互

热门文章

  1. Altium Designer 13 将pcb图导出为stp文件
  2. 人类小脑的功能连接组学
  3. Ubuntu双系统安装
  4. 一位年薪35W的测试被开除,回怼的一番话,令人沉思
  5. 顶会查找论文的网址和检索方法
  6. Matlab:创建、串联和扩展矩阵
  7. mac 好玩的软件推荐
  8. myeclipse中修改字体大小
  9. 前后端分离 MVC 架构与 Java 接口规范,深入剖析必要性!
  10. 计算机自考本科好还是it培训好,自考本科文凭有用吗|自考怎么样