Ocelot(七)- 入门
入门
ocelot仅适用于.net core,目前是为netstandard2.0构建的。如果ocelot适合您,那么此文档可能会有用。
.net
安装nuget包
使用nuget安装ocelot及其依赖项。您需要创建一个netstandard2.0项目并将其打包到其中。然后按照下面的“启动”和“ 配置部分启动并运行。
install-package ocelot
所有版本都可以在这里找到。
配置
以下是一个非常基本的ocelot.json。它不会做任何事情,但应该让ocelot开始。
{
"reroutes": [],
"globalconfiguration": {
"baseurl": "https://api.mybusiness.com"
}
}
这里要注意的最重要的是baseurl。ocelot需要知道它正在运行的url,以便进行header查找和替换以及某些管理配置。设置此url时,它应该是客户端将看到运行ocelot的外部url,例如,如果您正在运行容器,则ocelot可能会在url上运行但在其前面有类似nginx的响应在响应。在这种情况下,ocelot基本网址应为。
如果您正在使用容器并要求ocelot在响应客户端, 那么您可以执行此操作,但是如果您要部署多个ocelot,您可能希望在某种类型的命令行上传递它脚本。希望您使用的任何调度程序都可以通过ip。
程序
然后在您的program.cs中,您将需要以下内容。需要注意的主要事项是addocelot()(添加ocelot服务),useocelot()。wait()(设置所有ocelot中间件)。
public class program
{
public static void main(string[] args)
{
new webhostbuilder()
.usekestrel()
.usecontentroot(directory.getcurrentdirectory())
.configureappconfiguration((hostingcontext, config) =>
{
config
.setbasepath(hostingcontext.hostingenvironment.contentrootpath)
.addjsonfile("appsettings.json", true, true)
.addjsonfile($"appsettings.{hostingcontext.hostingenvironment.environmentname}.json", true, true)
.addjsonfile("ocelot.json")
.addenvironmentvariables();
})
.configureservices(s => {
s.addocelot();
})
.configurelogging((hostingcontext, logging) =>
{
//add your logging
})
.useiisintegration()
.configure(app =>
{
app.useocelot().wait();
})
.build()
.run();
}
}
**note:** when using asp.net core 2.2 and you want to use in-process hosting, replace **.useiisintegration()** with **.useiis()**, otherwise you'll get startup errors.
.net
安装nuget包
使用nuget安装ocelot及其依赖项。您需要创建一个netcoreapp1.0 + projct并将包带入其中。然后按照下面的“启动”和“ 配置”部分启动并运行。请注意,您需要从nuget feed中选择一个ocelot包。
所有版本都可以在这里找到。
配置
以下是一个非常基本的ocelot.json。它不会做任何事情,但应该让ocelot开始。
{
"reroutes": [],
"globalconfiguration": {}
}
程序
然后在您的program.cs中,您将需要以下内容。
public class program
{
public static void main(string[] args)
{
iwebhostbuilder builder = new webhostbuilder();
builder.configureservices(s => {
});
builder.usekestrel()
.usecontentroot(directory.getcurrentdirectory())
.usestartup<startup>();
var host = builder.build();
host.run();
}
}
启动
使用json文件进行配置的示例启动如下所示。
public class startup
{
public startup(ihostingenvironment env)
{
var builder = new configurationbuilder()
.setbasepath(env.contentrootpath)
.addjsonfile("appsettings.json", optional: true, reloadonchange: true)
.addjsonfile($"appsettings.{env.environmentname}.json", optional: true)
.addjsonfile("ocelot.json")
.addenvironmentvariables();
configuration = builder.build();
}
public iconfigurationroot configuration { get; }
public void configureservices(iservicecollection services)
{
services.addocelot(configuration);
}
public void configure(iapplicationbuilder app)
{
app.useocelot().wait();
}
}
这几乎是你入门需要的全部。
上一篇: 今天终于没有迟到
下一篇: 啊哈算法之巧用栈解密回文字符串