小编Nat*_*tan的帖子

如何在NET Core上的AWS SDK上设置凭据?

我是AWS SDK的新手,我正在尝试遵循AWS 文档,但几乎没有提供我需要设置的内容.

官方文档告诉我将其添加到appsettings.json:

{
  "AWS": {
    "Profile": "local-test-profile",
    "Region": "us-west-2"
  }
}
Run Code Online (Sandbox Code Playgroud)

然后创建客户端:

var options = Configuration.GetAWSOptions();
IAmazonS3 client = options.CreateServiceClient<IAmazonS3>();
Run Code Online (Sandbox Code Playgroud)

这会导致抛出异常,说它无法找到凭据.我在哪里放置Api ID和密钥?这个档案是什么?

请记住,我对如何设置它没有偏好.我只是想遵循.NET Core的官方文档,他们唯一的例子不起作用.文档似乎暗示我应该事先了解他们的许多术语和设置,或者我正在迁移现有应用程序并且已经完成了所有设置.

有人可以指点我这个例子中缺少什么只是为了让API正确连接到AWS?

c# aws-sdk aws-sdk-net

25
推荐指数
4
解决办法
1万
查看次数

如何处理演员内的异常?

是否有一个标准模式来处理Akka.NET中的参与者中的异常?

我看到了一些模式来创建主管,但似乎这SupervisorStrategy是一种处理演员无法解决的事情的方法.

我有一个接收大量数据的actor,需要将它存储在外部服务器中.外部数据库可能无法访问.如果是,则服务器可能正在重新启动或网络可能已关闭.我不需要重新启动演员或任何东西,我只想通知发件人一些有关正在发生的事情的信息,因此他可以将消息保留在磁盘上并重新安排以供日后使用.

发件人不是连接到数据库的此actor的父级.我应该创建一个主管来处理这个问题吗?或者我应该将我的接收处理程序封装在try/catch块中,只是用于Tell通过自定义响应通知发件人a,就好像它是正常的消息一样?

我知道有一Failure堂课,但我不确定我是否打算在这种情况下使用它.

c# akka.net

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

如何从一台机器获取软件包列表并在另一台机器上安装巧克力?

调用clist -l给我一个包含版本的包列表:

7zip.install 16.04
ccleaner 5.28.6005
ConEmu 17.3.16.0
...
Run Code Online (Sandbox Code Playgroud)

如何在没有版本信息的情况下获取此列表?

我的目的是使用此输出来调用choco install 7zip.install ccleaner ConEmu ...另一台机器.另一种答案可能是如何clist直接使用输出cinst.

chocolatey

20
推荐指数
6
解决办法
6139
查看次数

如何在每个ASP.NET WebApi请求上对JWT令牌应用自定义验证?

在使用承载令牌验证Web api呼叫时,是否可以为每个请求添加自定义验证?

我正在使用以下配置,应用程序已经正确验证了JWT令牌.

app.UseOAuthAuthorizationServer(new OAuthAuthorizationServerOptions
{
    AuthenticationType = "jwt",
    TokenEndpointPath = new PathString("/api/token"),
    AccessTokenFormat = new CustomJwtFormat(),
    Provider = new CustomOAuthProvider(),
});

app.UseJwtBearerAuthentication(new JwtBearerAuthenticationOptions
{
    AllowedAudiences = new[] { "all" },
    IssuerSecurityTokenProviders = new[] { new SymmetricKeyIssuerSecurityTokenProvider(Config.JWT_Issuer, Config.JWT_Key) },,

});
Run Code Online (Sandbox Code Playgroud)

现在,由于令牌设置为永不过期,我想为使用不记名令牌的每个请求添加一个额外的自定义验证步骤,因此我可以根据请求验证一些其他信息,并在需要时拒绝访问.

在每个请求中添加此验证的正确位置在哪里?

c# jwt asp.net-web-api

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

是否可以从wwwroot文件夹外部提供静态文件?

我有一个ASP.NET MVC 6项目,具有以下结构:

project/
  wwwroot/
  custom/
  project.json
Run Code Online (Sandbox Code Playgroud)

我希望提供文件,custom因为它是一个虚拟文件夹,http://localhost/custom而不必在开发过程中复制它们.

是否可以在没有IIS的虚拟文件夹的情况下在vNext中执行此操作(例如,使用StaticFile中间件)?

c# asp.net-core-mvc

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

如何使用Json.NET以与对象相同的方式序列化JObject?

如何控制JObject到字符串的序列化?

我有一些返回JObject的API,我通常会应用一些更改并保留或返回它们.我想避免持久化null属性并应用一些额外的格式,但JsonConvert似乎完全忽略我的设置.

以下是问题的示例:

// startup.cs has the following
services.AddMvc().AddJsonOptions(o =>
{
    o.SerializerSettings.NullValueHandling = NullValueHandling.Ignore;
});

public class SampleController : Controller
{
    JsonSerializerSettings _settings = new JsonSerializerSettings
    {
        NullValueHandling = NullValueHandling.Ignore
    };

    [HttpPost]
    [Route("object")]
    public object PostObject([FromBody] SomeObject data)
    {
        return JsonConvert.SerializeObject(data, _settings);
    }

    [HttpPost]
    [Route("jobject")]
    public object PostJObject([FromBody] JObject data)
    {
        return JsonConvert.SerializeObject(data, _settings);
    }

    public class SomeObject
    {
        public string Foo { get; set; }
        public string Bar { get; set; }
    }
}
Run Code Online (Sandbox Code Playgroud)

发布{ "Foo": "Foo", "Bar": …

c# json.net

8
推荐指数
3
解决办法
3847
查看次数

ServiceProvider不为瞬态EF上下文释放内存

我在.NET 4.6.2上有一个Windows服务,我使用.NET ServiceProvider(System.IServiceProvider接口)将EF6 DbContext注册为Transient .该服务开始使用大约30mb的内存,一天后达到1Gb.

在进程上运行一个探查器告诉我等待释放的数十万个DbContext对象,即使我在每次使用后都处理了上下文.

以下是代码示例:

// registration
var services = new ServiceCollection();
services.AddTransient(sp => new ServiceDbContext(connectionString));
var serviceProvider = services.BuildServiceProvider();

// use
using (var ctx = serviceProvider.GetRequiredService<ServiceDbContext>()) { ... }
Run Code Online (Sandbox Code Playgroud)

将AsNoTracking添加到查询会减少内存使用量,但上下文仍然永远存在于内存中.似乎ServiceProvider没有任何发布方法.

这是一个示例对象树,通过运行服务几分钟,然后让它闲置几分钟.4838是我实例化上下文的次数.注意我在闲置几分钟之后强制GC进行此拍摄:

在此输入图像描述

除了处理它之外,我还有什么办法可以释放上下文吗?或者这是内置服务提供商的一些限制?

c# memory-leaks entity-framework dependency-injection

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

如何从ui bootstrap的uibModal.open设置组件输出绑定

给定一个带有输出绑定的组件,如下所示:

angular.module('app').component('myComponent', {
    templateUrl: 'myComponent.html',

    bindings: {
        onSelect: '&'
    },

    controller: class {

        selectedItems = [];

        // called when the user clicks a button, outputs an array of selected items
        selectItems() {
            this.onSelect({items: this.selectedItems});
        }

    }
});
Run Code Online (Sandbox Code Playgroud)

如果用作标记,我可以使用以下代码获取所选项:

<my-component on-select='$ctrl.select(items)' />
Run Code Online (Sandbox Code Playgroud)

如何使用ui.bootstrap实现相同的功能uibModal.open

这似乎不起作用:

$uibModal.open({
    component: 'myComponent',
    resolve: {
        onSelect: () => (items) => { console.log('parent event handler', items); }
    }
});
Run Code Online (Sandbox Code Playgroud)

angularjs typescript angular-ui-bootstrap

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

如何从 lambda 创建 Quartz.Net 作业?

是否可以从 Quartz.net 中的 lambda 创建工作?

我有很多任务需要运行,我真的很想避免为每个工作创建一个类。我不需要任何高级设置,我只需要时不时调用一个方法。

scheduler.ScheduleJob(() => DoSomething(a), TimeSpan.FromSeconds(10));
scheduler.ScheduleJob(() => DoAnotherThing(b), TimeSpan.FromSeconds(20));
scheduler.ScheduleJob(() => DoThis(c), TimeSpan.FromHours(2));
scheduler.ScheduleJob(() => DoThat(d), TimeSpan.FromMinutes(30));
...
Run Code Online (Sandbox Code Playgroud)

我会为此创建一个扩展方法,但似乎每个工作都需要它自己的类型才能创建 IJob,这使事情变得比应有的困难。

关于如何实现这一点的任何想法?

c# quartz.net

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

如何使用System.js与CDN和本地回退?

我跑了jspm install angular,它在本地安装到我的jspm_packages文件夹.

从代码中,我使用常规的ES6导入import angular from 'angular'.

如果CDN不可用,我需要做什么才能从CDN加载角度并回退到本地版本?

ecmascript-6 systemjs jspm

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