小编Gab*_*abe的帖子

防止繁重的进程在交换文件中下沉

我们的服务往往在客户服务器的夜晚入睡,然后很难醒来.似乎发生的事情是进程堆(有时几百MB)被移动到交换文件中.这种情况发生在晚上,当我们的服务没有使用时,其他人计划运行(数据库备份,AV扫描等).发生这种情况时,在几小时不活动后,对服务的第一次呼叫需要几分钟(随后的呼叫需要几秒钟).

我很确定这是一个虚拟内存管理问题,我真的很讨厌强迫操作系统将我们的服务保留在物理内存中.我知道这样做会损害服务器上的其他进程,并降低整体服务器吞吐量.话虽如此,我们的客户只是想让我们的应用程序响应.他们不关心夜间工作需要更长时间.

我依旧记得有一种方法可以强制Windows将页面保留在物理内存中,但我真的很讨厌这个想法.我更倾向于一些内部或外部监视器,它将启动更高级别的功能(已经有一些内部调度程序做得很少,没有任何区别).如果有第三方工具提供的那种服务本来就一样好.

我很想听到有关此类问题的任何意见,建议和常见解决方案.该服务使用VC2005编写,可在Windows服务器上运行.

windows performance pagefile virtual-memory

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

启动异步线程的当前和推荐方法是什么?

我有一个ASP.NET MVC 3(.NET 4)Web应用程序.

我有一个[HttpPost]动作方法,它将一些数据提交给数据库.

现在,在这个方法完成持久到存储库后,我希望执行"后台"任务(想想审计,或发送电子邮件等),我不关心结果(除非发生错误,其中我将执行日志记录).

我怎么能/应该从我的行动方法中解雇这个任务?

[HttpPost]
[Authorize]
public ActionResult Create(MyViewModel model)
{
   if (ModelState.IsValid)
   {
      _repo.Save(model); 
      // TODO: Fire off thread
      return RedirectToRoute("Somepage", new { id = model.id });
   }
   return View(model);
}
Run Code Online (Sandbox Code Playgroud)

c# multithreading .net-4.0 threadpool asp.net-mvc-3

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

如何交叉两个不同的IEnumerable集合

我认为这个问题之前已经被问到,但我还没有能够推断出一个明确的答案.我试图找到最好的方式(或一种方式)来交叉两个完全不同的可相关集合.

A类:

  • int z1
  • int z2
  • int z3
  • 字符串z4

B级:

  • int j5
  • int j6
  • T j7
  • T j8
  • 字符串j9

..我想相交List<A>List<B>z2 == j6.

可以这样做吗?

c# linq generics collections intersection

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

Stof\DoctrineExtensionsBundle:缺少Doctrine2的标识符/主键

我试图让Stof\DoctrineExtensionsBundle运行,以便能够轻松使用DoctrineExtensions.但是,PHP解释器告诉我:

没有为实体'Stof\DoctrineExtensionsBundle\Entity\Translation'指定标识符/主键.每个实体必须具有标识符/主键.

有谁知道如何规避这个问题?我想它可能在Doctrine2的注释中某处,但我不太了解它并且已经有一个"orm:index"值(用"orm:Id"重命名,这似乎是所需的值,不行).

这是DoctrineExtensions附带的Translation实体类的代码:

/**
 * Stof\DoctrineExtensionsBundle\Entity\Translation
 *
 * @orm:Entity(repositoryClass="Gedmo\Translatable\Entity\Repository\TranslationRepository")
 * @orm:Table(
 *         name="ext_translations",
 *         indexes={@orm:index(name="translations_lookup_idx", columns={
 *             "locale", "object_class", "foreign_key"
 *         })},
 *         uniqueConstraints={@orm:UniqueConstraint(name="lookup_unique_idx", columns={
 *             "locale", "object_class", "foreign_key", "field"
 *         })}
 * )
 */
class Translation extends AbstractTranslation
{
}
Run Code Online (Sandbox Code Playgroud)

顺便说一下,如果这有助于任何事情,那就是git存储库.但我无法在文档中找到这一点:https://github.com/stof/DoctrineExtensionsBundle

symfony doctrine-orm

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

Crop Stamps.com PDF标签

我正在努力从Endicia转换到Stamps.com为我的电子商务商店.对于一流的国际标签,Stamps.com目前强制标签为PDF格式的标准8x11尺寸文件.这样可以防止标签直接打印到Zebra打印机上(就像我们目前所做的那样).

我要做的是获取返回的现有pdf,将大小裁剪为包含实际标签的4"x6"区域并保存/打印.理想情况下,这将通过PHP的系统调用在PHP或cli中完成.

任何图书馆,功能或其他建议将不胜感激.

php pdf command-line command-line-interface zebra-printers

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

以持久的方式在Chrome中存储控制台日志记录

在学校项目中,我正在运行一些通过控制台窗口输入并从那里运行的javascript.此脚本操纵网页并将结果输出到控制台.

问题:以持久的方式保存/保存这些结果,这些结果不会因浏览器关闭,脚本故障/页面重新加载而消失,或者如果可能,PC崩溃.

我想过使用Log4js或jStorage(jQuery Storage)这样的框架,但由于这不是我操作的网站,我无法在页面中添加代码或标记.

有没有办法做到这一点?

注意:将结果记录到控制台并不重要,我可以将它们发送到某处或者使用它们执行其他操作,如果这样可以更容易记录.

谢谢.

javascript console logging google-chrome persistent

6
推荐指数
3
解决办法
8125
查看次数

编译引用一个头文件的两个C文件时出错"重复定义"

我有两个C文件和一个标题,如下所示:

头文件header.h:

char c = 0;
Run Code Online (Sandbox Code Playgroud)

file1.c中:

#include "header.h"
Run Code Online (Sandbox Code Playgroud)

file2.c中:

#include "header.h"
Run Code Online (Sandbox Code Playgroud)

编译时我被警告"重复定义".我理解原因,因为变量c在file1.c和file2.c中定义了两次; 但是,我确实需要在两个c文件中引用header.h.我该如何克服这个问题?

c header definition

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

跨域的iFrame和父页面之间通信的可能方式

请建议从iFrame触发父页面中的事件的可能技术.我尝试了url Hashing并使用window.postMessage技术但没有任何成功.

javascript iframe triggers cross-domain

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

如何识别匿名函数

我有一个类创建 aList<Action<int>>并将其保留到稍后的时间。此类可以在此列表中添加和删除委托。只要人们不太花哨,这种方法就很有效。为了对抗匿名函数(无法删除),我检查委托的目标是否为空。如果它为空,我会抛出异常。当存在包含函数的匿名委托时,就会出现问题。它有一个目标,但同样不可移动。下面的简化代码说明了我的问题

 public class MyDelegateContainer
 {
    List<Action<int>> m_Container = new List<Action<int>>();

    public void Add(Action<int> del)
    {
        if (del.Target == null) 
        { 
            throw new Exception("No static handlers"); 
        }
        m_Container.Add(del);
    }

    public bool Remove(Action<int> del)
    {
        if (m_Container.Contains(del))
        {
            m_Container.Remove(del);
            return true;
        }

        return false;
    }
}

public class MyFakeActionClass
{
    public void Test(int temp) { }
}

class Program
{
    static void Main(string[] args)
    {
        bool removed = false;
        int counter = 0;
        MyDelegateContainer container = new MyDelegateContainer();
        MyFakeActionClass …
Run Code Online (Sandbox Code Playgroud)

c# delegates anonymous-function

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

在Clojure中扩展(不实现)Java接口

我最近在Clojure看了很多,我一直在想它是否适合我下一个项目的范围.不幸的是,它涉及编写不可移植的代码,我需要访问Win32 API.

我偶然发现了Java Native Access库,可以轻松地将带有C接口的本机库映射到Java.它甚至提供了一个(空的)包装器Kernel32.dll作为教程中的一个例子!

但是,我有点难过将例子从Java翻译成Clojure.我知道我可以实现接口和实现类,但是我怎样才能简单地扩展接口


感谢Joost发布的链接,这是一个最小的工作示例:

(import (com.sun.jna Library Native Platform Pointer))
(import (com.sun.jna.win32 StdCallLibrary))

(def K32
     (gen-interface
      :name Kernel32
      :extends [com.sun.jna.win32.StdCallLibrary]
      :methods [[GetCurrentProcess [] com.sun.jna.Pointer]]))

(defn load-native-library [name interface]
  (cast interface (com.sun.jna.Native/loadLibrary name interface)))

(def k32 (load-native-library "kernel32" K32))

(println (.GetCurrentProcess k32))
Run Code Online (Sandbox Code Playgroud)

输出#<Pointer native@0xffffffff>,如预期!

clojure jna

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