小编oro*_*edd的帖子

Symfony2慢速初始化时间

我在一个Ubuntu Server 12.04(64位)VM(VirtualBox)上运行Symfony2.主持人是MacBook专业版.出于某种原因,我在开发模式(app_dev.php)中获得了非常长的请求时间.我知道它在开发模式下速度较慢,但​​每个请求我说5-7秒(有时甚至更慢).在我的Mac上,我在开发模式下获得200ms左右的请求时间.

在Symfony2分析器中查看我的时间线后,我注意到~95%的请求时间是"初始化时间".这是什么?有什么原因可能会这么慢?

此问题仅适用于开发模式下的Symfony2,而不适用于我在VM上运行的任何其他站点,甚至不适用于生产模式下的Symfony2.

我看到了这一点(http://stackoverflow.com/questions/11162429/whats-included-in-the-initialization-time-in-the-symfony2-web-profiler),但它似乎没有回答我的问题.

ubuntu performance virtualbox symfony

54
推荐指数
2
解决办法
4万
查看次数

跨子域的ASP.NET Identity Cookie

对于表单身份验证,我在web.config中使用了它(请注意域属性):

<authentication mode="Forms">
  <forms loginUrl="~/Account/Login" timeout="2880" name=".ASPXAUTH" protection="Validation" path="/" domain=".myserver.dev" />
</authentication>
Run Code Online (Sandbox Code Playgroud)

如何在Mvc 5中为新的ASP.NET Identity Framework配置子域之间的单点登录?

更多信息:

我正在创建一个多租户应用程序.每个客户端都在子域上:

client1.myapp.com

client2.myapp.com

我希望用户能够登录client1.myapp.com然后转到client2.myapp.com并仍然登录.使用表单身份验证很容易.我正在试图弄清楚如何使用新的Identity Framework来实现它.

编辑

这是最终为我工作的代码:

app.UseCookieAuthentication(new CookieAuthenticationOptions
{
  AuthenticationType = "Application",
  LoginPath = "/Account/Login",
  CookieDomain = ".myapp.com"
});
Run Code Online (Sandbox Code Playgroud)

c# authentication forms-authentication asp.net-identity

40
推荐指数
4
解决办法
2万
查看次数

Resharper冗余'其他'真的多余?

Resharper告诉我这段代码中的'else'是多余的:

if(a)
{
   //Do Something
}
else if(b)
{
   //Do Something
}
Run Code Online (Sandbox Code Playgroud)

else似乎并没有多余的,因为else不断b被评估,如果a是真实的.如果b是变量,额外开销很小,但b也可能是表达式.

它是否正确?

c# resharper optimization

20
推荐指数
2
解决办法
7355
查看次数

异步任务中的HttpContext.Current null

我有一个使用repository(userRepo)的方法:

    public override Task<IdentityResult> CreateLocalUserAsync(IUser user, string password, CancellationToken cancellationToken)
    {
        var task = new Task<IdentityResult>(() => {

            TUserEntity newUser = new TUserEntity
            {
                Id = user.Id,
                UserName = user.UserName,
                Password = password
            };

            userRepo.Save(newUser).Flush();

            return new IdentityResult(true);
        }, cancellationToken);

        task.Start();

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

userRepo对象具有使用的依赖项HttpContext.Current.这两个都是使用ninject解决的InRequestScope.

AccountController在Mvc 5中默认调用上面的方法:

var result = await IdentityManager.Users.CreateLocalUserAsync(user, model.Password);
Run Code Online (Sandbox Code Playgroud)

我尝试将此设置添加到web.config:

<add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
Run Code Online (Sandbox Code Playgroud)

另外,我肯定使用的是.NET 4.5.这也在我的web.config中:

<httpRuntime targetFramework="4.5" />
Run Code Online (Sandbox Code Playgroud)

HttpContext在我开始执行任务之前无法获取信息,因为任务中的依赖userRepo项正在使用信息,并且使用Ninject解析了这两个对象.

我怎样才能确保HttpContext.Current不会为空?

c# ninject httpcontext async-await

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

温莎城堡懒加载服务

偶尔我发现自己处于这样一种情况,即只有满足某个条件才需要解析服务.例如,用户可能选择发送电子邮件或短信通知.我想懒得加载电子邮件或短信服务取决于用户选择的内容,这样我就不必加载它们并浪费资源(例如,如果有用户的10个选项......? ).

我遇到的问题是在我的引导程序代码之外使用容器(我不希望我的代码依赖于容器).我似乎找不到使用容器进行延迟加载服务的方法(除非我手动创建所需的服务并手动完成所有DI).这种情况是规则可以弯曲还是有更好的方法?

.net castle-windsor lazy-loading

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

Doctrine 2一对一单向关系删除非拥有方

我有两个具有一对一单向关系的实体:

class Foo {
 ...
/**
 * @OneToOne(targetEntity="Bar")
 */
private $bar;
...
}

class Bar {
...
}
Run Code Online (Sandbox Code Playgroud)

当我尝试删除Bar实体时,我收到此错误:

完整性约束违规:1451无法删除或更新父行:外键约束失败

如何在不失去删除Bar实体的能力的情况下保持单向关系?

doctrine foreign-keys

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

Rails 4跨子域的会话

我正在尝试以下操作,但没有运气试图在子域之间保持会话:

MyApp::Application.config.session_store :cookie_store, key: '_myapp_session', :domain => :all, :tld_length => 2

MyApp::Application.config.session_store :cookie_store, key: '_myapp_session', :domain => 'myapp.dev'

MyApp::Application.config.session_store :cookie_store, key: '_myapp_session', :domain => '.myapp.dev'
Run Code Online (Sandbox Code Playgroud)

我在Google和SO上找到了所有这些组合.

我看到了一些解释,但它涉及手动设置cookie.如果可能的话,我想坚持配置.

注意:我正在使用设计.我也重新启动了服务器并清除了cookie.

subdomain ruby-on-rails devise

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

生成PHP接口

是否有工具从现有类生成php接口?有一个像Netbeans自动getter/setter创建工具但接口的工具会很好.

php interface

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

文档准备好后,jQuery width()是否立即生效?

出于某种原因,$("...").width()在文档就绪后立即返回错误的值.

我看到了这些价值观:

文件准备好后立即:

$(document).ready(function(){
  $("li.active a").width() //returns 76 - incorrect
});

$(document).ready(function(){
  $(window).load(function(){
    $("li.active a").width() //returns 59 - the correct value
  });
});

$(document).ready(function(){
  setTimeout(function(){
    $("li.active a").width() //returns 59 - the correct value
  }, 100);
});
Run Code Online (Sandbox Code Playgroud)

我正在获取wordpress菜单项的宽度并调整它们的大小,以便它们始终适合我的响应式设计.没有图像或资产可能导致此更改.

更新 请参阅下面的评论.事实证明,有一种资产,一种嵌入式字体,需要一瞬间加载.

html wordpress jquery jquery-selectors

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

在多个 Web 应用程序之间共享 PHP 会话

我在同一域上有两个 Web 应用程序(一个 CMS 和一个电子商务平台),我想在它们之间共享会话数据。我可以轻松地进行设置,以便它们都使用相同的会话,但是 $_SESSION 变量中变量名冲突的可能性太大。我以为我可以使用命名会话,但我也无法让它工作:

session_name("WEB_APP_ONE");
session_start();
$webAppOneData = $_SESSION;
session_write_close();

//var_dump($_SESSION) = all of the session data for web app one is still contained in $_SESSION even though I closed the session with session_write_close()

session_name("WEB_APP_TWO");
session_start();
$_SESSION['WEB_APP_ONE'] = $webAppOneData;

//var_dump($_SESSION) = all of the session data for web app one is still here
Run Code Online (Sandbox Code Playgroud)

我不确定这是否可行,但我想知道是否可行!

注意:我所了解的实际用例是能够在 CMS 中显示访客购物车中有多少产品。购物车数据存储在电子商务平台的会话中,但我需要从CMS的标题中显示。我希望 CMS 和购物车之间能够无缝集成。

php session

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