Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在AWS中禁用.NET核心2.0应用程序的开发环境

在AWS中禁用.NET核心2.0应用程序的开发环境
EN

Stack Overflow用户
提问于 2018-04-09 11:51:24
回答 3查看 2.1K关注 0票数 1

我有一个.NET Core应用程序,我把它部署到AWS ElasticBeanstalk上。但是当我进入应用程序时,我会收到一个错误消息:

在部署的应用程序中不应启用开发环境。

  1. launchsettings.json文件中,我将ASPNETCORE_ENVIRONMENT的值设置为Production
  2. 当我使用Visual (AWS工具包)部署应用程序时,我将Project build configuration的值设置为Release
  3. 我还用名称ASPNETCORE_ENVIRONMENTEB Software Configuration中的值Production创建了环境变量。

但我还是会犯同样的错误,知道会有什么修正吗?

我的launchSettings.json文件如下所示:

代码语言:javascript
运行
AI代码解释
复制
{
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://DUMMY.us-west-2.elasticbeanstalk.com/",
      "sslPort": 0
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "launchUrl": "http://DUMMY.us-west-2.elasticbeanstalk.com/",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "AlacsWeb": {
      "commandName": "Project",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      },
      "applicationUrl": "http://DUMMY.us-west-2.elasticbeanstalk.com/"
    }
  }
}

startup.cs文件:

代码语言:javascript
运行
AI代码解释
复制
public class Startup
{
    public Startup(IConfiguration configuration)
    {
        Configuration = configuration;
    }

    public IConfiguration Configuration { get; }

    // This method gets called by the runtime. Use this method to add services to the container.
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddDbContext<ApplicationDbContext>(options =>
            options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));

        services.AddIdentity<ApplicationUser, IdentityRole>()
            .AddEntityFrameworkStores<ApplicationDbContext>()
            .AddDefaultTokenProviders();

        // Add application services.
        services.AddTransient<IEmailSender, EmailSender>();

        services.AddMvc();

        // Add http context
        services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
    }

    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseBrowserLink();
            app.UseDeveloperExceptionPage();
            app.UseDatabaseErrorPage();
        }
        else
        {
            app.UseExceptionHandler("/Home/Error");
        }

        app.UseStaticFiles();

        app.UseAuthentication();

        app.UseMvc(routes =>
        {
            routes.MapRoute(
                name: "default",
                template: "{controller=Home}/{action=Index}/{id?}");
        });
    }
}
EN

回答 3

Stack Overflow用户

发布于 2018-04-12 23:13:42

谢谢你贴出你的代码。我在这里回答是因为有更多的话要说,超出了评论表格所允许的范围。

TLDR

在EBS中,您的环境变量被忽略了,因为您的创业公司没有选择它们。

我不知道launchSettings.json在EBS中有什么影响,但是考虑到文件中的环境变量被忽略了,我怀疑答案是没有的。

您可以在EBS中保存环境变量。

launchSettings.json

我自己不使用这些,所以下面是研究和琐碎的测试。

这篇MS文章声称这个文件只在Visual中运行

使用Visual时,可以在launchSettings.json文件中设置环境变量。

但是,我从一个简单的测试中了解到,这些内容也是由dotnet run在项目目录中获取的。另外,我知道VS代码会忽略它而支持.vscode/launch.json

我不知道的是IIS是否注意到了它。(我指的是EBS实例中的IIS,而不是您的开发框中的IIS Express )。

环境变量

我想我能理解为什么环境变量被忽略了。

Startup.cs有一个可供选择的构造函数,它允许您从环境变量、配置文件等构建配置对象。它接受一个IHostingEnvironment实例。

代码语言:javascript
运行
AI代码解释
复制
public class Startup
{
    public Startup(IHostingEnvironment env)
    {
        var builder = new ConfigurationBuilder()
                .AddEnvironmentVariables(); // <--- This picks up env variables
        Configuration = builder.Build();
    }


    public IConfigurationRoot Configuration { get; }

    // etc ....
}

EB环境变量

正如我在评论中所解释的那样,EB + dotnet核心2在环境变量上处于混乱状态。我们的解决方案不是解析每个我早些时候的回答的底层文件,而是对我们的dotnet应用程序进行文档化。

也就是说,您可以在EB中保存环境变量。正如您所说,软件配置是输入它们的正确位置。然后,单击您的环境(在EB中显示的绿色/灰色/任何卡片),转到Actions菜单,然后保存配置。

票数 1
EN

Stack Overflow用户

发布于 2018-04-17 01:35:27

launchsettings.json是特定于visual构建的。它不会影响部署。

下面的问题提供了一些关于这个问题的见解

ASP.NET Core1.0中的AWS弹性豆柄环境变量

票数 1
EN

Stack Overflow用户

发布于 2021-01-15 08:39:37

一个疯狂的解决方案:

取代:

代码语言:javascript
运行
AI代码解释
复制
  if (env.IsDevelopment())
    {
        app.UseBrowserLink();
        app.UseDeveloperExceptionPage();
        app.UseDatabaseErrorPage();
    }
    else
    {
        app.UseExceptionHandler("/Home/Error");
    }

代码语言:javascript
运行
AI代码解释
复制
  app.UseBrowserLink();
        app.UseDeveloperExceptionPage();
        app.UseDatabaseErrorPage();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49740635

复制
相关文章
python 调用Google Tran
调用Google 翻译API进行翻译 #!/usr/bin/python #coding: UTF-8 import sys reload(sys) sys.setdefaultencoding('utf8') from xml.etree import ElementTree as ET #引入解析xml文件的模块 import re import urllib,urllib2 #引入接入网络接口API的模块 from socket import error as SocketE
py3study
2020/01/09
1.1K0
博客上如何设置最佳 Google Adsense 广告投放位置
前面我总结了个人的 Google Adsense 投放经验,其中说到最重要的是位置, Google的建议是:博客一般分成两种页面,主页(列表页),日志页,所以可以分别对两种位置就行针对性摆放:
Denis
2023/04/14
9740
博客上如何设置最佳 Google Adsense 广告投放位置
Python3调用Google翻译
想弄一个批量翻译的东西,奈何百度翻译别人根本不研究,所以只能看谷歌翻译的了;这份代码的作者写的太聪明了,是真的很棒,思路很好,看到这样的代码简直年轻10岁
Elapse
2020/08/17
1.5K1
Google Python风格规范(上)
好的代码风格,给人舒服的感觉,今天介绍一下谷歌的Python风格规范,由于规范比较多,将分为两次介绍。
王强
2018/08/09
7090
怎样用Google APIs和Google的应用系统进行集成(3)—-调用Google 发现(Discovery)API的RESTful服务
说了这么多,那么首先同意我以Google Discovery RESTful服务为例,给大家演示怎样用最普通的Java代码调用Google Discovery RESTful服务。
全栈程序员站长
2022/07/12
9490
google code 上源码的下载方法
SVN全称是Subversion,是Apache的一个子项目 ,具体能够到SVN中文站(http://www.subversion.org.cn/)去了解下。Google Code是Google的一个开放源码计划,当中包含源码托管,即提供一个server来保存、共享和管理源码。每一个人都能够创建自己的Project,至于空间的大小,请看下图:
全栈程序员站长
2022/07/09
9650
google code 上源码的下载方法
如何屏蔽博客园中的Google广告
博客园中每篇文章的评论窗口最下面就带了一个Google的广告,当然我这个博客也不例外。不过这些广告我看着就不爽,于是就想办法把该死的广告去掉。使用Mathon2打开博客园中的任何一篇文章,选定Google广告和周围区域,右键“查看选定区域代码”就可以看到原来是Google的JS文件在我的页面中生成了一个Iframe,具体代码为:
深蓝studyzy
2022/06/15
7530
如何用 Google Colab 练 Python?
自动配置、有效求助、协作编程、版本控制。一站式解决 Python 新手练习中的痛点
王树义
2019/03/08
1.9K0
如何将你的Hexo博客部署到Google Firebase上
博主最近在 白嫖万恶的资本 将博客部署到新的CDN上,所以在寻找免费的静态Web应用部署工具,发现了Google Firebase。
pai233
2022/04/26
1.5K0
如何将你的Hexo博客部署到Google Firebase上
google colab上如何下载bert相关模型
https://storage.googleapis.com/bert_models/2018_10_18/cased_L-12_H-768_A-12.zip https://storage.googleapis.com/bert_models/2018_11_03/chinese_L-12_H-768_A-12.zip
西西嘛呦
2021/03/22
2.4K0
Google 的 Firebase 如何删除项目
https://www.ossez.com/t/google-firebase/13792
HoneyMoose
2021/11/02
3.3K0
Google 的 Firebase 如何删除项目
如何关闭google的安全搜索
我们平常使用google搜索,默认是已启用安全搜索的。例如在google搜索“1”,右上角会出现“已启用安全搜索”。 进入google帮助找到安全搜索内容https://support.google.com/websearch/answer/510 屏蔽 Google 上的色情内容 您可以使用安全搜索设置来滤除 Google 上包含露骨内容的搜索结果(例如色情内容)。安全搜索并非 100% 准确,但它能帮您屏蔽掉大多数成人内容。 您可将安全搜索用作一种家长控制方式,以使孩子远离您手机
小歪
2018/04/04
9.2K0
如何关闭google的安全搜索
Google S2 中的 CellID 是如何生成的 ?
笔者在《高效的多维空间点索引算法 — Geohash 和 Google S2》文章中详细的分析了 Google S2 的算法实现思想。文章发出来以后,一部分读者对它的实现产生了好奇。本文算是对上篇文章的补充,将从代码实现的角度来看看 Google S2 的算法具体实现。建议先读完上篇文章里面的算法思想,再看本篇的代码实现会更好理解一些。
一缕殇流化隐半边冰霜
2018/08/30
1.8K0
Google S2 中的 CellID 是如何生成的 ?
Google Colab上的YOLOv3 PyTorch
对于计算机视觉爱好者来说,YOLO(一次只看一次)是一种非常流行的实时对象检测概念,因为它的速度非常快并且性能出色。
代码医生工作室
2020/04/14
2.7K0
Google Colab上的YOLOv3 PyTorch
Openlayers中Google地图的加载
在实现的时候,参考了mygisforum的文章http://blog.csdn.net/mygisforum/article/details/7582449的内容,同时结合gwc的gridset,实现了google切片在Openlayers2中的调用与展示。
牛老师讲GIS
2018/10/23
2K0
Openlayers中Google地图的加载
Google Colab上安装TensorRT
NVIDIA TensorRT是一个高性能深度学习推理平台。它包括深度学习推理优化器和运行时,可为深度学习推理应用程序提供低延迟和高吞吐量。推理时,基于TensorRT的应用程序比仅CPU平台的执行速度快40倍。使用TensorRT,您可以优化所有主流框架中训练出的神经网络模型。
云水木石
2019/07/02
2.4K0
Google Colab上安装TensorRT
点击加载更多

相似问题

复制NSMenuItems最简单的方法是什么?

13

复制列的最简单方法是什么?

10

使用jQuery调整导航菜单大小的最简单方法

31

制作这个垂直菜单最简单的方法是什么?

30

为Android按钮添加箭头的最简单方法是什么

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档