IBM® Bluemix 上运行ASP.NET Core

IBM® Bluemix® 上的“ASP.NET 核心”运行时采用“ASP.NET 核心”buildpack 技术。“ASP.NET 核心”是用于构建 .NET Web 应用程序的模块化开放式源代码框架。“.Net 核心”是跨平台的小型运行时,可由“ASP.NET 核心”应用程序实现。将它们相结合可实现基于云的先进 Web 应用程序。

检测

如果应用程序中的任何位置存在一个或多个包含 project.json 文件和至少一个 .cs 文件的文件夹,或者应用程序是从 dotnet publish 命令的输出目录进行推送,那么将使用 Bluemix 的“ASP.NET 核心”buildpack。

入门模板应用程序

IBM® Bluemix® 提供了“ASP.NET 核心”入门模板应用程序。“ASP.NET 核心”入门模板应用程序是一个简单的应用程序,它提供了一个可供您使用的模板。您可以体验该入门模板应用程序,对其进行更改并将更改推送到 Bluemix 环境。有关使用入门模板应用程序的帮助,请参阅使用入门模板应用程序。

运行时版本

指定 .NET CLI 版本

使用应用程序根目录中的可选 global.json 来控制 .NET CLI 版本。例如:

  {      "projects": [ "src" ],      "sdk": {        "version": "1.0.0-preview1-002702"      }   }

如果未指定,将使用稳定的最新候选发布版本。

定制 NuGet 数据包源

在应用程序根目录中的 NuGet.Config 文件中控制应用程序依赖项的下载来源位置。例如:

  <?xml version="1.0" encoding="utf-8"?>   <configuration>   <packageSources>      <add key="NuGet.org" value="https://api.nuget.org/v3/index.json"/>   </packageSources>   </configuration>

在本地开发应用程序

有关在本地运行“ASP.NET 核心”应用程序的更多信息,请参阅 ASP.NET 入门。要尽量匹配应用程序在 Bluemix 中的运行方式,请遵循 Linux 中有关“.NET 核心”的指示信息,但无需在 Linux 上开发应用程序。

使用 Yeoman 工具可生成新的项目模板,如 Building Projects with Yeoman 中所述。

推送发布的应用程序

如果想要在应用程序中包含其需要的所有二进制文件,以使 buildpack 无需下载任何外部二进制文件,您可以推送发布的自包含应用程序。请参阅 Types of portability in .Net Core,以获取有关自包含应用程序的更多信息。

要发布应用程序,请发出类似如下命令:

dotnet publish -r ubuntu.14.04-x64

然后即可从

 bin/<Debug|Release>/<framework>/<runtime>/publish

目录推送应用程序。

另请注意,如果在应用程序中使用 manifest.yml 文件,您可以在 manifest.ymle 中指定发布输出文件夹的路径。之后在推送应用程序时,您无需位于该文件夹中。

部署包含多个项目的应用程序

要部署包含多个项目的应用程序,您需要指定希望 buildpack 将哪个项目作为主要项目运行。在解决方案的根文件夹中创建 .deployment 文件来设置主要项目的路径即可完成此操作。您可以将主要项目的路径指定为项目文件夹或项目文件(.xproj 或 .csproj)。

例如,如果解决方案的 src 文件夹中包含 MyApp.DALMyApp.ServicesMyApp.Web 这三个项目,其中 MyApp.Web 是主要项目,那么 .deployment 文件的格式应如下所示:

  [config]  project = src/MyApp.Web

在此示例中,如果在 project.json 文件中将 MyApp.DALMyApp.Services 项目列为 MyApp.Web 的依赖项,那么 buildpack 会自动编译这两个项目,但 buildpack 只会尝试使用 dotnet run -p src/MyApp.Web 执行主要项目 MyApp.Web。假定 MyApp.Web 为 xproj 项目,那么此项目的路径还可指定为

project = src/MyApp.Web/MyApp.Web.xproj

使用 cli 样本存储库中的样本以及 Visual Studio 模板

buildpack 将使用 dotnet run 命令运行您的应用程序,并传递以下内容之后的命令行自变量

--server.urls http://0.0.0.0:${PORT}

应用程序需要将此自变量传递到 kestrel,以确保 kestrel 侦听正确的端口。

要实现此自变量的传递,需要对 cli 样本存储库中提供的样本以及 Visual Studio 提供的模板稍作修改,然后再部署到 Bluemix。

您需要根据以下示例中的注释对 Main 方法进行修改:

public static void Main(string[] args)  {
 var config = new ConfigurationBuilder() //ADD THESE 3 LINES AT THE TOP OF THE MAIN METHOD        .AddCommandLine(args)        .Build();    var host = new WebHostBuilder()        .UseKestrel()        .UseConfiguration(config) //ADD THIS LINE BEFORE 'UseStartup'        .UseStartup<Startup>()          .Build();    host.Run(); }

将以下依赖项添加到 project.json 中:

"Microsoft.Extensions.Configuration.CommandLine": "1.0.0-rc2-final",

using 语句添加到包含 Main 方法的文件中:

using Microsoft.Extensions.Configuration;

原文地址:https://new-console.ng.bluemix.net/docs/runtimes/dotnet/index.html


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

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

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

相关文章

拦截器 和过滤器

https://blog.csdn.net/zxd1435513775/article/details/80556034 拦截器&#xff08;Interceptor&#xff09;和过滤器&#xff08;Filter&#xff09;的执行顺序和区别 2018年06月03日 13:31:00 止步前行 阅读数&#xff1a;2871 标签&#xff1a; FilterInterceptorControll…

解析HTTP协议六种请求方法,get,head,put,delete,post有什么区别

转载自 解析HTTP协议六种请求方法,get,head,put,delete,post有什么区别 标准Http协议支持六种请求方法&#xff0c;即&#xff1a; 1、GET 2、POST 3、PUT 4、Delete 5、HEAD 6、Options 但其实我们大部分情况下只用到了GET和POST。如果想设计一个符合RESTful规范的web…

攻城掠地端mysql_【图片】攻城掠地单机版本服务端+攻城掠地GM工具【单兆权吧】_百度贴吧...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼player_wepon 兵器 宝石修改&#xff0e;1&#xff0c;为1级宝石  1001&#xff0c;1级晶石修改最好手动修改&#xff0c;手自进阶  最多改六个一多出错player_tickets  点卷改修activity    活动表store_house  背包表p…

同步和异步有何异同,什么场景使用

同步和异步有何异同&#xff0c;什么场景使用&#xff0c;举例说明&#xff01; 2016年11月30日 18:47:26 qq_36179561 阅读数&#xff1a;1752更多 个人分类&#xff1a; 基础知识 同步:发送一个请求,等待返回,然后再发送下一个请求 异步:发送一个请求,不等待返回,随时可以…

面试经历---YY欢聚时代

转载自 面试经历---YY欢聚时代&#xff08;2015年11月21日上午初试、25日下午复试&#xff09;YY欢聚时代一年多前去面试过一次&#xff0c;当时鄙视了&#xff0c;在现在的公司呆了1年半了&#xff0c;感觉做得很不爽&#xff0c;而且薪资又不满意&#xff0c;所以想找个新工…

走进异步编程的世界 - 开始接触 async/await

序 这是学习异步编程的入门篇。 涉及 C# 5.0 引入的 async/await&#xff0c;但在控制台输出示例时经常会采用 C# 6.0 的 $"" 来拼接字符串&#xff0c;相当于string.Format() 方法。 目录 Whats 异步&#xff1f;async/await 结构What’s 异步方法&#xff1f; 一、…

所有的软弱,都是昂贵的

作者&#xff1a;周冲 来源&#xff1a;周冲的影像声色&#xff08;fuck_your_dick&#xff09; 01 契诃夫有一个小说&#xff0c;名叫《柔弱的人》&#xff0c;讲一个主人&#xff0c;巧立名目&#xff0c;剥夺家庭教师的工资。 首先&#xff0c;他压缩掉她的周末&#xff0c…

python3中urlopen_解决python3 urllib中urlopen报错的问题

前言最近更新了Python版本&#xff0c;准备写个爬虫&#xff0c;意外的发现urllib库中属性不存在urlopen&#xff0c;于是各种google&#xff0c;然后总结一下给出解决方案问题的出现AttributeError: module object has no attribute urlopen问题的解决途径我们先来看下官方文档…

100+经典Java面试题及答案解析

转载自 100经典Java面试题及答案解析面向对象编程&#xff08;OOP&#xff09;Java是一个支持并发、基于类和面向对象的计算机编程语言。下面列出了面向对象软件开发的优点&#xff1a; 代码开发模块化&#xff0c;更易维护和修改。代码复用。增强代码的可靠性和灵活性。增加代…

.NET HttpClient的缺陷和文档错误让开发人员倍感沮丧

设计错误、缺陷及文档错误等导致正确使用.NET HttpClient变得出奇地困难。所以&#xff0c;即使是生产环境中看似运行正常的应用程序&#xff0c;在负荷不满的情况下&#xff0c;也遭受着性能问题和运行时故障。 来自ASP.NET Monsters的Simon Timms就通过一篇题为“你正在错误地…

python监听剪贴板_Python监听剪切板实现方法代码实例

第一种import win32clipboardimport time#速度快 容易出错class niubi():def lihai(self):while True:#jianting().main()t jianting().main()print(t)class jianting():def clipboard_get(self):"""获取剪贴板数据"""win32clipboard.OpenClipb…

新闻发布项目——业务逻辑层(UserService)

package bdqn.newsManageServlet.Service;import bdqn.newsManageServlet.entity.User;/*** 用户信息* author Administrator**/ public interface UserService {public User getLoginUser(String uName,String pwd, String msg);}

二叉树总结挺好的很好记忆

https://blog.csdn.net/fightforyourdream/article/details/16843303 面试大总结之二&#xff1a;Java搞定面试中的二叉树题目 2013年11月20日 14:04:27 chiiis 阅读数&#xff1a;25438更多 个人分类&#xff1a; AlgorithmInterview 这是本系列的第二篇&#xff0c;与前一…

免费开源分布式系统日志收集框架 Exceptionless

前言 从去年就答应过Eric&#xff08;Exceptionless的作者之一&#xff09;&#xff0c;在中国会帮助给 Exceptionless 做推广&#xff0c;但是由于各种原因一直没有做这件事情&#xff0c;在此对Eric表示歉意。:) Exceptionless 简介 Exceptionless 是一个开源的实时的日志收集…

如何安装mysql5.5.6_centos6安装mysql5.5.53

MysqL官网下载MysqL的red hat linux安装包下载地址为&#xff1a;http://dev.MysqL.com/downloads/MysqL/5.5.html#downloads下载后的文件为&#xff1a;MysqL-5.5.53-1.el7.x86_64.rpm-bundle.tar解压 tar 包 &#xff1a;tar -xvf MysqL-5.5.53-1.el7.x86_64.rpm-bundle.tar移…

java职业规划

百度搜索java职业规划好多啊啊啊

避免同步死锁

翻译自 避免同步死锁在我之前的文章“ Double-Checked Locking&#xff1a;Clever&#xff0c;but Broken ”&#xff08;JavaWorld&#xff0c;2001年2月&#xff09;&#xff0c;我描述了几种常用的避免同步的技术实际上是不安全的&#xff0c;并建议了一个“如有疑问&#…

程序员小测试:保守派 vs 自由派

最近&#xff0c;我在阅读 Steve Yegg 的文集《程序员的呐喊》。 这是一本非常有趣的书&#xff0c;里面甚至包含了一个小测试&#xff08;原文&#xff09;&#xff0c;区分一个程序员到底是保守派还是自由派。 下面一共有十个问题&#xff0c;每个问题都有 A 和 B 两个选项&a…

新闻发布项目——业务逻辑层(newsTbService)

package bdqn.newsManageServlet.Service;import java.util.List;import bdqn.newsManageServlet.entity.newsTb;/*** 新闻业务逻辑层的接口* author Administrator**/ public interface newsTbService {//分页查询public List<newsTb>getPagingNews(int pagesize,int pa…

django mysql 创建表_关于 django ORM 中,数据库建表方式的问题

本人以前是做客户端的&#xff0c;做后端没多久。一直有一个问题困扰我&#xff0c;正好现在手上有一个系统在做。系统逻辑是写一个爬虫在网上爬取一个网站的信息&#xff0c;经过加工处理后&#xff0c;使用 django 来展示和交互。表结构简化为三张表A:爬虫爬取得到的信息B:数…