小编Nec*_*ras的帖子

为什么我的appsettings.json文件中的配置值不通过Configuration.GetSection()。Get <MyObject>映射到自定义POCO对象的字段?

我有一些appsettings.json配置文件:

{
  "PocoSettings": {
    "ValueOne": "Foo",
    "ValueTwo": "Bar"
  }
}
Run Code Online (Sandbox Code Playgroud)

以及应该填充的设置对象:

public class PocoSettings
{
    public string ValueOne;
    public string ValueTwo;
}
Run Code Online (Sandbox Code Playgroud)

我尝试将其填充到我的Startup.cs文件中:

public Startup(IHostingEnvironment env)
{
    var builder = new ConfigurationBuilder()
        .SetBasePath(env.ContentRootPath)
        .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
        .AddEnvironmentVariables();
    this.Configuration = builder.Build();
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
    var MySettings = this.Configuration.GetSection("PocoSettings").Get<PocoSettings>();

    // Inject MySettings into your DI container of choice here.
}
Run Code Online (Sandbox Code Playgroud)

MySettings对象被创建,但不填充值。ValueOne并且ValueTwo均为null。为什么?

.net c# configuration .net-core

2
推荐指数
1
解决办法
877
查看次数

Asp.net core 5 / Odata v8实现(控制器不返回Odata类型)响应

我将 odata 添加到启动和模型构建器中,我想测试它是否有效并返回 OData,因此我更新了控制器并将其更改为“ODataController”,然后我做了一个简单的 HttpGet 测试结果,但 URL:\n Text返回 404未找到\n文本返回 404 未找到\n和\n文本返回带有 json 对象的简单数组

\n

这是我的代码

\n

启动.cs

\n
{\n    public class Startup\n    {\n        public Startup(IConfiguration configuration)\n        {\n            Configuration = configuration;\n        }\n\n        public IConfiguration Configuration { get; }\n\n        public void ConfigureServices(IServiceCollection services)\n        {               \n            //connection avec MySql in the new projetc \n            var connectionString = Configuration.GetConnectionString("DefaultConnection");\n            services.AddDbContext<ApplicationDbContext>(options =>\n            options.UseMySql(connectionString, new MySqlServerVersion(new Version(8, 0, 19)), mySqlOptions => mySqlOptions.CharSetBehavior(CharSetBehavior.NeverAppend)));\n\n            services.AddDbContext<ApplicationDbContext>(opt => opt.UseInMemoryDatabase("commande_clt"));\n            services.AddControllers().AddOData(opt => opt.AddRouteComponents("odata", GetEdmModel()));         // Odata\n …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-core

2
推荐指数
1
解决办法
3241
查看次数

如何让Umbraco与NWebSec内置的CSP Report事件处理程序相结合?

我正在使用Umbraco CMS版本7的网站上工作.我正在使用NWebSec在网站上实现CSP标头.NWebSec具有内置功能,可在发生CSP违规时引发.Net事件.通常你会用这样的事情来抓住那个事件:

protected void NWebSecHttpHeaderSecurityModule_CspViolationReported(object sender, CspViolationReportEventArgs e)
    {
        var report = e.ViolationReport;
        var serializedReport = JsonConvert.SerializeObject(report.Details);

        // Do a thing with the report
    }
Run Code Online (Sandbox Code Playgroud)

在Global.asax.cs文件中.但据我所知,Umbraco抢占了Global.asax.cs文件,它可以播放任何被抛出的事件.我有一个文件,其中包含一些自定义事件处理程序,如:

public void OnApplicationStarted(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext)
Run Code Online (Sandbox Code Playgroud)

处理通常在Global.asax.cs文件中的标准应用程序启动代码,但是将NWebSec事件处理程序放在同一个文件中并不起作用.大概是因为它使用.Net事件处理程序语法而不是Umbraco替换它的任何东西.

如何访问NWebSec抛出的事件?

c# asp.net-mvc umbraco nwebsec

1
推荐指数
1
解决办法
236
查看次数

如何配置 appspec.yml 文件来部署应用程序而不是单个页面?

我正在阅读有关如何使用 AWS CodeDeploy 直接从 BitBucket 部署代码的AWS 博客文章。大部分内容都相当简单,直到我提到了 appspec.yml 文件。我知道其目的是描述要部署的内容以及如何部署,但我不明白如何为应用程序(而不仅仅是一个简单的页面)执行此操作。根据我以前的经验,会有一系列步骤,例如

  1. 从仓库拉取
  2. 针对 X 项目运行 MSBuild。
  3. 针对 X 项目运行测试。
  4. 将构建工件复制到 S3。
  5. 停止 Web 服务器上的应用程序池。
  6. 运行 cmd 文件来部署构建工件。
  7. 在 Web 服务器上启动应用程序池。
  8. 清理/构建后步骤。

我假设我上面编写的步骤与此处详细介绍的appspec.yml 文件中的“文件”和“挂钩”部分之间存在某种相关性。不幸的是,我无法在头脑中找出两者之间的映射,我发现的每一篇博客文章、在线文档和视频几乎都只是说“你需要这个文件”并指出一个移动一个静态文件的示例并且有一个或两个钩子。我不知道如何集成部署的实际构建部分。

任何人都可以提供一个示例 appspec.yml 文件来说明完整的应用程序部署,而不是简单的复制粘贴,或者向我指出一个可以更好地解释此过程的资源吗?

msbuild bitbucket amazon-web-services aws-code-deploy

1
推荐指数
1
解决办法
4641
查看次数

在指定了所有固定参数后,必须出现1-Named参数规范

我在项目工作时遇到过这个问题,我无法理解如何解决这个问题

![] [1]

routes.MapRoute(
    name: "MoviesByReleaseDate",
    url: "movies/byreleasedate/{year}/{month}",
    defaults: new
    {
        controller = "Movies",
        action = "ByReleaseDate",      
    },
    new  { year = @"/d={4}", month = @"/d={2}" }   
);
Run Code Online (Sandbox Code Playgroud)

c# asp.net model-view-controller

-1
推荐指数
1
解决办法
7879
查看次数