我搜索了很多关于我的性能问题并尝试了各种不同的东西,但我似乎无法让它足够快地工作.这是我最简单的问题:
我正在使用实体框架5,并且我希望能够在用户选择父项时延迟加载父项的子实例,因此我不必拉动整个数据库.然而,我一直有延迟加载孩子的性能问题.我认为问题是父和孩子之间的导航属性的连线.我也认为一定是我做错了,因为我相信这是一个简单的案例.
所以我建立了一个程序来测试单个延迟负载以隔离问题.
这是测试:
我创建了一个POCO Parent类和一个Child POCO类.父母有n个孩子,孩子有1个父母.SQL Server数据库中只有1个父项,单个父项只有25 000个子项.我尝试了不同的方法来加载这些数据.每当我在同一个DbContext中加载子项和父项时,都需要很长时间.但是如果我在不同的DbContexts中加载它们,它加载速度非常快.但是,我希望这些实例位于相同的DbContext中.
这是我的测试设置以及复制它所需的一切:
波苏斯:
public class Parent
{
public int ParentId { get; set; }
public string Name { get; set; }
public virtual List<Child> Childs { get; set; }
}
public class Child
{
public int ChildId { get; set; }
public int ParentId { get; set; }
public string Name { get; set; }
public virtual Parent Parent { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
的DbContext:
public class Entities : DbContext
{
public …Run Code Online (Sandbox Code Playgroud) 我正在使用 ASP.net Core MVC。在登录过程中,在 POST 控制器操作中,我将 HttpContext.SignInAsync 与包含 JWT 访问令牌的 AuthenticationProperties 结合使用。在同一个 HttpRequest 中,我无法重新获取这些属性来获取创建的访问令牌。
...
var claimsPrincipal = CreateClaimsPrincipal("userName");
var accessToken = new AuthenticationToken()
{
Name = OpenIdConnectParameterNames.AccessToken,
Value = TOKEN_VALUE
};
AuthenticationToken[] tokens = { accessToken };
var authenticationProperties = new AuthenticationProperties();
authenticationProperties.StoreTokens(tokens);
authenticationProperties.IsPersistent = true;
// Here we sign in the user
await HttpContext.SignInAsync(claimsPrincipal, authenticationProperties);
// Afterwards, we cannot access the access token either from
var tokenValueFromGetTokenAsync = HttpContext.GetTokenAsync(OpenIdConnectParameterNames.AccessToken)
// Or with
var result = await HttpContext.AuthenticateAsync();
var …Run Code Online (Sandbox Code Playgroud) 我在代理ASP.NET Core MVC应用程序时遇到问题.
我的应用程序在Kestrel上运行localhost:5000,我的Apache 2.4反向代理正在运行localhost:80.我要代理的所有请求localhost:80/test到localhost:5000
这是httpd.conf代理的部分:
...
<Location "/test">
ProxyPass "http://localhost:5000"
ProxyPassReverse "http://localhost:5000"
</Location>
...
Run Code Online (Sandbox Code Playgroud)
代理工作,但所有链接都被破坏.就像我有一个锚链接到一个以HomeController动作命名的控制器About,从代理返回的链接localhost/Home/About代替localhost/test/Home/About.主机是正确的,它test是缺少的上下文根.
处理这个问题的最佳做法是什么?ASP.NET Core中的配置是否指定了上下文根,以便TagHelpers将其考虑在内?或者它是Apache ProxyPass中重写链接的配置(真的不是这个的忠实粉丝)?
我正在尝试使用 groovy 脚本在活动的 Active Choices 参数中呈现从 shell 获得的信息。我可以使用如下 sh 方法从 jenkins 管道中的 groovy 脚本轻松访问 shell:
node()
{
sh 'git log ...'
}
Run Code Online (Sandbox Code Playgroud)
但是,当我在 Active options 的 groovy 脚本中尝试此操作时,它会崩溃并执行回退脚本。
是否可以在此上下文中切换到节点并执行 shell 命令?
谢谢您的帮助!