小编Jør*_*ode的帖子

如何在两个浏览器窗口之间进行通信?

我有父浏览器窗口P. 单击按钮时,将打开一个新的浏览器窗口WIN-A.然后再次按下相同的按钮,它应该读取WIN-A窗口的标题并打开WIN-B

如何使用Javascript实现这一目标?

提前致谢

javascript

7
推荐指数
2
解决办法
5989
查看次数

Google Analytics的"异步跟踪"有任何缺点吗?

从最近的一个老答案中我了解到,除了传统的跟踪代码之外,Google Analytics还提供了所谓的"异步跟踪".从文档中看,异步跟踪似乎比传统的跟踪更受欢迎:

与传统安装不同,异步跟踪可优化浏览器加载ga.js的方式,从而最大限度地减少对用户体验的影响.它还允许您将Google Analytics片段放在页面中更高的位置,而不会延迟渲染后续内容.

该文档提到使用异步跟踪没有任何缺点,这让我想知道为什么这不是默认的跟踪方法.是否应该注意异步跟踪是否有任何陷阱,或者我应该继续进行所有安装的切换?

google-analytics

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

使用Autofac将log4net注入控制器

尝试使用Autofac将log4net类注入我的控制器,但是我得到以下异常:

可以使用可用的服务和参数调用在'MvcApplication6.Controllers.HomeController'类型上找到'公共绑定标志'的构造函数:无法解析构造函数'void .ctor(log4net.ILog)的参数'log4net.ILog logger' ".

我创建了一个模块,Log使用正确的类型注入类:

public class LogInjectionModule : Module
{
    protected override void AttachToComponentRegistration(IComponentRegistry registry, IComponentRegistration registration)
    {
         registration.Preparing += OnComponentPreparing;
    }

    static void OnComponentPreparing(object sender, PreparingEventArgs e)
    {
        var t = e.Component.Activator.LimitType;
        e.Parameters = e.Parameters.Union(new[] 
        { 
            new ResolvedParameter((p, i) => p.ParameterType == typeof(ILog), (p, i) => LogManager.GetLogger(t)) 
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我在我的ASP.NET MVC Application_Start方法中注册该模块:

protected void Application_Start()
{
     ContainerBuilder builder = new ContainerBuilder();
     builder.RegisterControllers(typeof (MvcApplication).Assembly) ;

     var container = builder.Build() ;
     DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); 

     builder.RegisterModule(new LogInjectionModule()); …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc log4net autofac

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

如何在ASP.NET中分配非持久性(内存中)cookie?

以下代码将作为响应的一部分向用户发送cookie:

var cookie = new HttpCookie("theAnswer", "42");
cookie.Expires = DateTime.Now.AddDays(7);
Response.Cookies.Add(cookie);
Run Code Online (Sandbox Code Playgroud)

cookie是持久性类型,大多数浏览器都会将其写入磁盘并在会话中使用.也就是说,即使浏览器和PC已经关闭,cookie明天仍然在客户端的PC上.一周后,cookie将被删除(由于第2行).

非持久性/内存中的cookie是另一种cookie,它的生命周期由客户端浏览会话的持续时间决定.通常,此类cookie保存在内存中,并在浏览器关闭时丢弃.

如何从ASP.NET分配内存中的cookie?

asp.net cookies

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

像Html.RenderAction()但没有重新实例化控制器对象

我喜欢RenderActionHtmlHelper对象上使用扩展方法来在页面中呈现侧边栏等,因为它允许我在控制器上的不同方法中保留每个这样的部分的数据访问代码.使用抽象控制器库,我可以定义一个默认的"侧边栏策略",然后可以在需要时通过覆盖具体控制器中的方法来改进.

我使用这种方法的唯一"问题"是,RenderAction它构建的方式是始终创建控制器类的新闻实例,即使从控制器中呈现动作已经在行动中.我的一些控制器在他们的Initialize方法中进行了一些数据查找,并且RenderAction在视图中使用该方法会导致在同一请求中多次出现这种情况.

RenderAction如果要调用的操作方法与"父"操作位于同一控制器类上,是否有一些替代方法将重用控制器对象?

asp.net-mvc renderaction

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

我该如何确保处理可能的一次性物品?

我正在开发一个.NET项目,它需要与一些用户定义的类进行交互 - 称为"作业".所有作业类必须IJob按顺序实现特定接口,以便库使用它们.有时,作业类可能包含非托管资源,需要明确处理.

如果我事先不知道工作是否需要明确处理,我应该如何确保所有工作在使用后妥善处理?我自己有一些想法,但是想听听你的意见/建议:

  1. Make IJob : IDisposable,强制所有作业实现一个Dispose()方法.这将让我在从事的工作using块,但是因为大多数的工作都没有预计需要明确的处置,这可能会增加对客户端开发人员不需要的混乱.

  2. 完成涉及try-finally块中作业的所有工作,并用于finally确保Dispose()在作业实现时调用IDisposable.这使得客户端更容易实现新的作业类 - 不必实现空Dispose()方法 - 但它也隐藏了库知道并关心可支配作业的事实.

写完这篇文章之后,我倾向于倾向于解决方案#1,但我仍然认为看到替代解决方案会很好,并且我已经想到了两个方面的其他优点/缺点.

.net c# idisposable interface

6
推荐指数
2
解决办法
438
查看次数

CSS:如何在所有访问过的链接旁边添加一个复选标记图标/ acsii字符?

对于任何访问过的(a:visited)网页,我想在我的网站上显示这些链接,并在链接左侧显示一个小复选标记.

例如:

"这是一个未经访问的链接"

√"这是一个访问过的链接"

问题:如何使用CSS完成复选标记?

html css

6
推荐指数
2
解决办法
2413
查看次数

学习MySQL,SQLite源代码,了解RDBMS的实现

我知道实现数据库是一个很大的主题,但我希望通过调查数据库系统的源代码,对数据库系统的工作方式有基本的了解(例如内存管理,二叉树,事务,sql解析,多线程,分区等).数据库.

由于有一些已经证明非常强大的开源数据库,如mysql,sqlite等.但是,代码非常复杂,我不知道从哪里开始.另外我发现旧的数据库教科书只是解释理论,而不是实现细节.

任何人都可以建议我应该如何开始,是否有任何书籍强调构建现代数据库行业中使用的dbms的技术和技术?

mysql database sqlite rdbms

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

Jquery - 拦截由ajax请求创建的链接

我有一些jQuery代码拦截点击页面上的链接:

$(document).ready(function()
{   
        $("a").click(function() {
            //do something here
        });
});
Run Code Online (Sandbox Code Playgroud)

我的问题是页面的某些部分尚未完成文档准备就绪.它们通过ajax调用填充.这些部分中的链接不会被上面的jQuery函数拦截.

我需要最初在文档就绪上运行的函数,但是我需要新的链接也应用相同的逻辑.

任何帮助将非常感谢.这是一个我不熟悉的领域.我编写了jQuery的东西但是ajax代码是一个我无法控制的外部组件.

javascript ajax jquery

6
推荐指数
2
解决办法
914
查看次数

在JSON中将缺失值显示为null或根本不显示

我正在构建一个Web服务API,使用JSON作为数据语言.设计从服务返回的数据的结构,我在决定如何处理缺失值时遇到一些麻烦.

考虑这个例子:我的网上商店有一个产品价格尚未知,可能是因为该产品尚未发布.我是否包括price: null(如下所示)或者我只是省略price此项目的属性?

{
    name: 'OSX 10.6.10',
    brand: 'Apple',
    price: null
}
Run Code Online (Sandbox Code Playgroud)

我主要担心的是使API尽可能易于使用.显式空值清楚地表明price可以在产品上预期a,但另一方面它看起来像浪费的字节.可能有一大堆属性与这个特定产品完全无关,而与其他产品相关 - 我是否应该明确地显示这些属性null

{
    name: 'OSX 10.6.10',
    price: 29.95,
    color: null,
    size: null
}
Run Code Online (Sandbox Code Playgroud)

Web服务设计是否有任何"最佳实践",有利于显式或隐式空值?任何事实上的标准?或者它完全取决于用例?

json web-services conventions

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