问题列表 - 第5763页

在NOLOCK上使用ADO.NET TransactionScope vs ExecuteCommand的高容量站点,直接READ UNCOMMITTED?

只需阅读Omar在他的博客Linq上的这篇有趣的文章,使用未提交的读取解决事务死锁和查询超时问题,最后Javed Hasan开始与他讨论他在高容量网站上解决nolock情况的问题.

在这里,试图解决的问题是,从sql意义上我们需要使用带有NOLOCK的Select语句或使用SET TRANSACTION LEVEL READ UNCOMMITTED,否则在DB中的高容量行将被锁定并导致错误.Omar使用的技术是Linq2Sql,所以问题是我们如何在你的C#数据访问代码中实现这一点,所以上述情况不会发生?

基本上在帖子中,Omar通过在现实世界网站上使用SqlProfiler等工具进行工作和测试来解决他的问题,而Javed Hasan则使用MSDN文档和Scott Hanselman的博客文章等来解决他的问题.

奥马尔建议使用以下内容

using (var db = new DropthingsDataContext2())
{
  db.Connection.Open();
  db.ExecuteCommand("SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;");

  var user = db.aspnet_Users.First();
  var pages = user.Pages.ToList();
}
Run Code Online (Sandbox Code Playgroud)

而Javed Hasan表示

using (new TransactionScope(TransactionScopeOption.Required, 
  new TransactionOptions { IsolationLevel = IsolationLevel.ReadUncommitted }))
{
 //Your db Operation
}
Run Code Online (Sandbox Code Playgroud)

我非常有兴趣知道你们在这个特定问题上你们在StatckOverflow这样的高容量网站上做了什么,或者杰夫和他们的家伙在这方面做了什么?

编辑:在阅读完第一篇文章后,我想在奥马尔的帖子中指出一些内容.

  1. 他的方法确实遇到了连接问题,但是他解决了这个问题,看到了他的帖子.
  2. 更重要的是,他提到他尝试使用ADO.NET Transaction方式,甚至尝试了Scott Hanselman在他的博客上写的内容,但它不适用于高容量网站,它会降低性能.Omar说这个"System.Transactions有很大的开销.我从来没有能够在高容量网站上使用它而不会使CPU达到100%而Req/sec降到1/10.它是为企业应用程序而不是高卷网站."

sql-server nolock transactionscope read-uncommitted linq-to-sql

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

C#/ ASP.NET帮助程序库

我将开始为我的Web项目构建一个小帮助程序库,但不确定它们应该包含哪些典型功能(仅使用C#和ASP.NET构建Web应用程序).我在考虑记录功能,缓存,邮件等.我应该放入其他任何典型功能吗?

c# asp.net

0
推荐指数
1
解决办法
1063
查看次数

MFC项目中的虚假内存泄漏

我有一个MFC项目,即链接到第三方DLL.在程序退出时,IDE报告"检测到的内存泄漏!" 并倾倒泄漏.

这些泄漏来自第三方DLL.我很确定这些都被错误地报道了.(快速Google检查表明,在CRT销毁文件范围内的变量之前,MFC会检查内存泄漏.)

有没有办法禁用内存泄漏检查,只有该DLL?

回应到目前为止发布的答案

我不认为我滥用了API.我怀疑的行为可以用一个简单的项目来复制

  1. 使用VS2005
  2. 创建新的解决方案.
  3. 创建一个新项目(MFC应用程序.)
  4. 创建一个新项目(Windows 32项目,应用程序类型:DLL,导出符号)
  5. 在dll项目中,导出一个函数.
  6. 在dll项目中,按如下方式定义类Foo

这是代码

class foo
{
    public:
        foo(void)  { p = new int; };
        ~foo(void) { delete p; }
    private:
        int* p;
};
Run Code Online (Sandbox Code Playgroud)

在dll项目中,创建类foo的实例,在文件级别作用域.

foo g_foo;

// This is an example of an exported function.
TEMPDLL_API int exportedFunction(void)
{
    return 42;
}
Run Code Online (Sandbox Code Playgroud)

在MFC项目中,链接到库,并在InitInstance()中调用导出的函数

运行应用程序时,即使p被删除,也会在调用g_foo的析构函数时报告内存泄漏.

mfc memory-leaks

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

方法在自定义对象中是否具有破坏性?

我必须将Java.Polynomial实现为学校作业.部分方法是加(多项式),乘法(多项式)等.

在类似的情况下

p.add(q); // computes p + q
Run Code Online (Sandbox Code Playgroud)

是否更好地返回void并将多项式的总和保持在p?还是更好地返回多项式并保持p的前值保持不变?

我的直觉告诉我,我应该做以下事情

  • 实现p.add(q)作为'破坏性'方法...它将q加到p的值并将总和存储在p中
  • 还实现了一个静态方法Polynomial.add(p,q),它返回多项式的和.

你怎么看?

java oop polynomial-math

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

如何在Windows XP中为可执行文件设置处理器关联?

我有一个带有第三方应用程序的四核系统,它偶尔会旋转几个进程(总是相同的可执行文件,但它有几个实例)并占用100%的CPU时间.我还在同一个盒子(IIS和第三方)上运行了几个Web服务.

所有内核繁忙的问题是它使第三方Web服务器超时(IIS工作正常,但比平时慢).我无法控制第三方Web服务器,它是更大产品的一部分,必须运行.因此,我尝试使用处理器亲和性(通过SysInternals Process Explorer)并将这些讨厌的进程限制为4个内核中的3个内核,并将第4个内核专用于第三方Web服务器,它似乎运行良好.

问题是它只对正在运行的进程设置了亲和力,而不是在可执行级别上设置亲和力,所以在这些进程完成后再重新生成为新进程时,它们再次相同 - 它们占用了所有4个核心.所以,我用Google搜索了这个来自Microsoft的ImageCfg.exe实用程序,但是我无法在Microsoft网站上找到它进行下载,我发现有些人尝试了它,现在抱怨它不能真正起作用.

有没有办法将亲和力粘贴到可执行文件上?

executable windows-xp processor affinity

9
推荐指数
3
解决办法
2万
查看次数

在PHP中构建管理界面的最快方法是什么?

在PHP中构建管理界面的最快方法是什么?

它可以是一个框架,一个与特定方法相结合的库/库,或者其他什么.

背景:我是一名Django开发者,被自动管理员宠坏了,他必须用PHP提供网络应用程序.该应用程序非常管理区域/形式,具有不同的访问级别.

php django user-interface frameworks

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

我在哪里可以找到AS400到Java接口?

有没有人有链接和资源从Java连接到AS400?

我记得几年前,有人告诉我一个连接器,它模拟键盘上的KeyStrokes和其他直接连接的"最纯粹"的方法.

在网络上我发现了很多链接,但我找不到一个完整的产品来做到这一点(我可能没有使用正确的关键字).

编辑

谢谢你的答案:

我们正在寻找的是一种访问AS400内部数据和/或它使用的屏幕的方法,并将它们暴露给其他重新使用的新应用程序.既可以作为某种Web服务,也可以直接通过Java(而java将使用webservices公开操作)

提前致谢.

编辑

根据MicSim的帖子,我也发现了这个链接:

http://www.ibm.com/developerworks/library/ws-as400/index.html

java interop ibm-midrange

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

从带动画的SuperView中删除UIVIew

我可以动画添加一个UIView到我的应用程序,它看起来非常漂亮,所以谢谢你苹果.

但是,如何从超级视图中移除此视图的动画?

我正在使用:

CATransition *animation = [CATransition animation];
[animation setDuration:1];
[animation setType:kCATransitionReveal];
[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]];
[[myview layer] addAnimation:animation forKey:kCATransitionReveal];
Run Code Online (Sandbox Code Playgroud)

动画"进入"过渡...你如何动画"出"过渡????

iphone cocoa-touch core-animation uiview

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

如何在JavaScript中解析excel文件?

我正在尝试编写一个小型Web工具,它使用Excel文件,解析内容,然后将数据与另一个数据集进行比较.这可以在JavaScript中轻松完成吗?有没有一个JavaScript库可以做到这一点?

javascript excel html5 parsing

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

在c#中动态改变css样式?

我有一些链接按钮,我在其中动态添加样式.我在一个方法中做了以下事情:

LinkButton lb = new LinkButton();
lb.Style["font-weight"] = "bold";
Run Code Online (Sandbox Code Playgroud)

当单击另一个链接时,它应该展开当前单击的粗体和粗体的链接按钮,所以在执行此操作的方法中,我尝试过:

lb.Style["font-weight"] = "none";
Run Code Online (Sandbox Code Playgroud)

以上不起作用,先前选择的链接保持粗体.

我刚刚意识到可能存在的问题.我正在创建多个链接,它看起来像是因为所有链接都被命名为lb,所以它永远不会删除粗体.我试图想办法让它记住以前选择的链接并且只展开那个链接.

c# asp.net

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