首先得先了解并熟悉一下springcloud,并手动去搭建一个服务中心,也可参照eurake官方示例
如果是.net core的话,实现注册也是没有问题的,网上教程很多,可自行度娘。
最难的就是基于Framework的项目怎么实现注册,跟core的实现方式区别还是蛮大的,研究过程中也有不少坑。
下面就分享一下我踩完坑之后初步总结的实现步骤:
1.用VS2017或者其他创建NF4.5+的webAPI项目(webAPI的结构基本是保持MVC一致的,所以MVC项目基本也能按这个步骤来的)
2.在项目根目录内新建文件appsettings.json(这个文件主要是配置服务中心eurke地址等信息的):
{
"spring": {
"application": {
"name": "demoService"
}
},
"eureka": {
"client": {
"serviceUrl": "http://localhost:8761/eureka/",//服务中心地址
"shouldFetchRegistry": false,
"shouldRegisterWithEureka": true,//是否允许注册到服务中心 "validate_certificates": false
},
"instance": {
"port": }
},
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Debug",
"Pivotal": "Debug",
"Steeltoe": "Debug"
}
}
}
 
3.在项目文件夹App_Start下创建ApplicationConfig.cs:
 

public static class ApplicationConfig
{

public static IConfigurationRoot Configuration { get; set; }

public static void RegisterConfig(string environment)
{ // Set up configuration sources.
var builder = new ConfigurationBuilder()
.SetBasePath(GetContentRoot())
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: false)
.AddJsonFile($"appsettings.{environment}.json", optional: true)
.AddCloudFoundry()
.AddEnvironmentVariables();

Configuration = builder.Build();
}

public static string GetContentRoot()
{
var basePath = (string)AppDomain.CurrentDomain.GetData("APP_CONTEXT_BASE_DIRECTORY") ??
AppDomain.CurrentDomain.BaseDirectory;
return Path.GetFullPath(basePath);
}
}
 
注意这里需要添加的引用:
using Microsoft.Extensions.Configuration;
using Steeltoe.Extensions.Configuration.CloudFoundry;
这两个是需要在引用点右键选择NuGet程序包里添加的。
 
4.修改Global.asax文件,在Application_Start()内加入代码:
GlobalConfiguration.Configure(WebApiConfig.Register);

var config = GlobalConfiguration.Configuration;

// Build application configuration
ApplicationConfig.RegisterConfig("development");

var builder = new ContainerBuilder();

// Add Microsoft Options to container
builder.RegisterOptions();

// Add Microsoft Logging to container
builder.RegisterLogging(ApplicationConfig.Configuration);

// Add Console logger to container
builder.RegisterConsoleLogging();

// Register your Web API controllers.
builder.RegisterApiControllers(Assembly.GetExecutingAssembly());

// Register IDiscoveryClient, etc.
builder.RegisterDiscoveryClient(ApplicationConfig.Configuration);

// Initialize and Register FortuneContext
builder.RegisterInstance(SampleData.InitializeFortunes()).SingleInstance();

// Register FortuneRepository
builder.RegisterType<FortuneRepository>().As<IFortuneRepository>().SingleInstance();

var container = builder.Build();
config.DependencyResolver = new AutofacWebApiDependencyResolver(container);

// Get a logger from container
var logger = container.Resolve <ILogger<WebApiApplication>>();

logger.LogInformation("Finished container build, starting background services");

// Start the Discovery client background thread
container.StartDiscoveryClient();

logger.LogInformation("Finished starting background services");
添加引用:
using Autofac;
using Autofac.Integration.WebApi;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Console;
using Pivotal.Discovery.Client;
using Steeltoe.Common.Discovery;
using Steeltoe.Common.Logging.Autofac;
using Steeltoe.Common.Options.Autofac;
using System;
using System.Diagnostics;
using System.Reflection;
using System.Web.Http;
 
 
 

.net framework 4.5 +steeltoe+ springcloud 实现服务注册功能的更多相关文章

  1. SpringCloud+Consul 服务注册与服务发现

    SpringCloud+Consul 服务注册与服务发现 1. 服务注册: 在Spring.factories有一段: # Discovery Client Configuration org.spr ...

  2. SpringCloud之服务注册-eureka

    类似于DUBBO 的zookeeper, SpringCloud本身提供一套服务注册中心--eureka 与zookeeper的区别在于 1:zookeeper本身就是一个应用,安装即可用:eurek ...

  3. SpringCloud - 2. 服务注册 和 发现

    SpringCloud 的服务注册和发现是由Eureka来完成. 1.eureka server 1.1 依赖 <dependency> <groupId>org.spring ...

  4. 将SpringCloud Eureka 服务注册与发现部署到docker

    一.前言 最近在学习docker,顺便把之前学习的spring cloud 部署到Docker 中.至于什么是SpringCloud的服务注册与发现,什么是docker,我这里就不作赘述了.可以先去学 ...

  5. .net framework 4.5 +steeltoe+ springcloud(二) 实现服务发现与调用功能

    首先,写一个简单的可被调用的服务注册到服务中心,我们这命名为java-service,用的是IDEA创建一个spring boot项目,选择spring client类型. 修改application ...

  6. 微服务SpringCloud之服务注册与发现

    在找.net core 微服务框架时发现了Steeltoe开源项目,它可以基于Spring Cloud实现.net core和.net  Framework的微服务.正好之前也有学习过SpringBo ...

  7. springcloud(第三篇)springcloud eureka 服务注册与发现 *****

    http://blog.csdn.net/liaokailin/article/details/51314001 ******************************************* ...

  8. springcloud之服务注册与发现(Eureka)

    springcloud服务注册与发现 使用Eureka实现服务治理 作用:实现服务治理(服务注册与发现) 简介: Spring Cloud Eureka是Spring Cloud Netflix项目下 ...

  9. springcloud之服务注册与发现(zookeeper注册中心)-Finchley.SR2版

    新年第一篇博文,接着和大家分享springcloud相关内容:本次主要内容是使用cloud结合zookeeper作为注册中心来搭建服务调用,前面几篇文章有涉及到另外的eureka作为注册中心,有兴趣的 ...

随机推荐

  1. 正则表达式的方法:replace,match,test(replace参数可以是回调函数)

    1.replace: 作用对象:字符串 功能:用于替换字符串中的某些字符 参数:(1)正则表达式 (2)要替换的字符串 或者 回调函数 var str="1 2 3 4 5 6 7 8 9& ...

  2. 在 ASP.NET Core 项目中实现小写的路由URL

    在 ASP.NET MVC 早期版本中,我们可以通过在应用的 RegisterRoutes 方法中设置 routes.LowercaseUrls = true ; 来将页面的 URL 链接转小写.在 ...

  3. 如何学习 MFC ?

    //std::string => CString std::string srcString = "Hello World!"; CString dstString = CS ...

  4. 《android开发艺术探索》读书笔记(四)--View工作原理

    接上篇<android开发艺术探索>读书笔记(三) No1: View的三大流程:测量流程.布局流程.绘制流程 No2: ViewRoot对应于ViewRootImpl类,它是连接Wind ...

  5. 【前端】jQuery移动端左滑删除

    转载请注明出处:http://www.cnblogs.com/shamoyuu/p/left_slide_menu.html <!doctype html> <html> &l ...

  6. R语言︱XGBoost极端梯度上升以及forecastxgb(预测)+xgboost(回归)双案例解读

    XGBoost不仅仅可以用来做分类还可以做时间序列方面的预测,而且已经有人做的很好,可以见最后的案例. 应用一:XGBoost用来做预测 ------------------------------- ...

  7. win7 vs2012+wdk8.0 搭建wdf驱动开发环境

    开发环境搭建:系统:win7 x64工具:vs2012 + WDK8.0插件:wdfcoinstaller.msi(1)先安装vs2012,再安装wdk8.0,这样在打开vs2012时可以创建wind ...

  8. Caused by: java.sql.SQLException: Field 'id' doesn't have a default value

    1.错误描述 org.hibernate.exception.GenericJDBCException: error executing work at org.hibernate.exception ...

  9. Linux显示USB设备

    Linux显示USB设备 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ lsusb -tv /: Bus 08.Port 1: Dev 1, Class=ro ...

  10. SDL显示文字

    前面教程里,我们只显示图片,没提到如何显示文字, SDL本身没有显示文字功能,它需要用扩展库SDL_ttf来显示文字.ttf是True Type Font的缩写,ttf是Windows下的缺省字体,它 ...