小编Beh*_*zad的帖子

ASP.Net Identity在每个请求上运行多个查询

ASP.Net Identity正在对每个请求执行以下查询.我没有更改创建MVC项目时生成的任何身份代码.我的Startup.Auth.cs代码如下.

请注意,validateInterval设置为TimeSpan.FromMinutes(30).另请注意,Cookie expiration正在显式设置(ExpireTimeSpan)设置为TimeSpan.FromMinutes(30).我在SO上发现了一个类似的问题,其回答表明TimeSpan.FromMinutes(30)应该足以阻止ASP.Net Identity在每次请求时联系DB.

我在这里错过了什么?

Startup.Auth.cs

public partial class Startup
{
 public void ConfigureAuth(IAppBuilder app)
 {
  // Configure the db context, user manager and signin manager to use a single instance per request
  app.CreatePerOwinContext(ApplicationDbContext.Create);
  app.CreatePerOwinContext < ApplicationUserManager > (ApplicationUserManager.Create);
  app.CreatePerOwinContext < ApplicationSignInManager > (ApplicationSignInManager.Create);

  // Enable the application to use a cookie to store information for the signed in user
  // and to …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc asp.net-identity

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

httpClient.PostAsync 中的线程被中止问题

当我将请求发布到其余 api 时,程序将崩溃并且线程将被中止。请指教。

    public async Task<TResponse> Post<TRequest, TResponse>(string method, TRequest request)
    {
            JsonMediaTypeFormatter jsonFormat = new JsonMediaTypeFormatter
            {
                SerializerSettings =
                {
                    ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore,
                    NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore,
                    PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.None
                }
            };

            var response = await _httpClient.PostAsync(_baseUrl + method, request, jsonFormat);
            var finalResponse = await response.Content.ReadAsAsync<TResponse>();

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

请注意,不会向服务器发送任何请求。顺便说一下,_httpClient 将被定义如下

        _httpClient =
            new HttpClient(new HttpClientHandler
                {
                    AutomaticDecompression =
                        System.Net.DecompressionMethods.GZip | System.Net.DecompressionMethods.Deflate
                })
                {Timeout = TimeSpan.FromSeconds(50)};
        _httpClient.DefaultRequestHeaders.Add("Authorization", "apikey " + apiKey);
Run Code Online (Sandbox Code Playgroud)

c# dotnet-httpclient

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

如何从AppSettings中读取配置值并将配置注入接口实例

就在最近,我一直在尝试新的asp.net功能并遇到了这个问题。我知道我们可以将配置读取为强类型实例。但是我不知道如何在Microsoft依赖项注入中将配置注入到类中。

public interface IProvider
{
  IMyConfiguration Configuration {get;}
  Task Connect();
}

public abstract class Provider: IProvider
{
    private IMyConfiguration _myConfig;

    public Provider(IMyConfiguration config)
    {
        this._myConfig= config;
    }

    public IMyConfiguration Configuration => _myConfig;
    public abstract Task Connect();
}

public class ProviderOne:Provider
{
    public ProviderOne(IMyConfiguration  config) : base(config)
    {
    }

    public Task Connect()
    {
      //implementation
    }
}
Run Code Online (Sandbox Code Playgroud)

配置类:

public interface IMyConfiguration
{
     string TerminalId { get;set; }
     bool IsDefault {get;set;}
}
public class MyConfiguration : IMyConfiguration
{
     string TerminalId { get;set; } …
Run Code Online (Sandbox Code Playgroud)

c# dependency-injection .net-core asp.net-core

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

在领域驱动设计中将业务规则与实体分离

当我在软件项目中实践 DDD 时,我总是面临这样的问题:“为什么我应该在实体中实现我的业务规则?它们不应该是纯数据模型吗?”

请注意,根据我对 DDD 的理解,领域模型可以由持久模型和值对象组成。

我提出了一个解决方案,将持久模型与域模型分开。另一方面,我们有数据传输对象 (DTO),因此我们有 3 层数据映射。数据库到持久性模型、持久性模型到域模型以及域模型到 DTO。在我看来,我的解决方案不是一个有效的方案,因为必须付出太多的努力。

那么有没有更好的做法来实现这个目标呢?

domain-driven-design software-design

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

如何在不使用new关键字的情况下创建类的实例?

可以说我有一个类似下面的课程

public Class Person
{
  public string Firstname { set; get; }
  public string Lastname { set; get; }
}
Run Code Online (Sandbox Code Playgroud)

这是一个问题,如何从Person类中获取实例,如下所示?

Person p = "AAAA BBBB";
Run Code Online (Sandbox Code Playgroud)

所以现在,Firstname等于AAAA,Lastname等于BBBB,我不想在我的类中使用构造函数,首先,是否可以这样做?那怎么样?

c#

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