小编Sim*_*ver的帖子

"更新检查"对LINQ更新有多少开销

我有一个简单的行,我使用LINQ编辑.它有大约30列,包括主键数字序列.

当通过LINQ执行UPDATE时,UPDATE语句包括表的所有列(用于并发检查).

我想知道这是多么低效 - 如果不是无聊的话.由于主键上有索引,我假设该列用于初始行搜索,然后另外检查其他字段.我不会想到这将花费的时间可以忽略不计.

我问的原因是我在某些情况下看到这个UPDATE接管了一秒钟,这似乎不对.可能还有其他长期运行的事情正在发生,但这让我很好奇我是否应该担心.

我知道我可以将'UpdateCheck'设置为永远不会用于所有其他字段,但这很痛苦.

有没有办法关闭单个SubmitChanges()的'Update Check',或者我必须通过为每个字段更改'UpdateCheck'来实现.

任何意见,将不胜感激.

这是SQL更新:

exec sp_executesql N'UPDATE [dbo].[SiteVisit]
SET [TotalTimeOnSite] = @p12, [ContentActivatedTime] = @p13
WHERE ([SiteVisitId] = @p0) AND ([SiteUserId] IS NULL) AND ([ClientGUID] = @p1) AND ([ServerGUID] IS NULL) AND ([UserGUID] = @p2) AND ([SiteId] = @p3) AND ([EntryURL] = @p4) AND ([CampaignId] = @p5) AND ([Date] = @p6) AND ([Cookie] IS NULL) AND ([UserAgent] = @p7) AND ([Platform] IS NULL) AND ([Referer] = @p8) AND ([KnownRefererId] = @p9) AND ([FlashVersion] …
Run Code Online (Sandbox Code Playgroud)

linq sql-server updatecheck

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

我可以阻止我的WCF生成ArrayOfString而不是string []或List <string>

我对WCF服务代理有一个小问题,其中消息包含List<string>作为参数.

我在Visual Studio中使用"添加服务引用"来生成对我的服务的引用.

   // portion of my web service message
   public List<SubscribeInfo> Subscribe { get; set; }
   public List<string> Unsubscribe { get; set; }
Run Code Online (Sandbox Code Playgroud)

这些是我MsgIn的一个Web方法的生成属性.你可以看到它ArrayOfString在我使用时使用List<string>,而另一个需要List<SubscribeInfo>- 它匹配我上面的原始C#对象.

[System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false)]
public System.Collections.Generic.List<DataAccess.MailingListWSReference.SubscribeInfo> Subscribe {
    get {
        return this.SubscribeField;
    }
    set {
        if ((object.ReferenceEquals(this.SubscribeField, value) != true)) {
            this.SubscribeField = value;
            this.RaisePropertyChanged("Subscribe");
        }
    }
}

[System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false)]
publicDataAccess.MailingListWSReference.ArrayOfString Unsubscribe {
    get {
        return this.UnsubscribeField;
    }
    set {
        if ((object.ReferenceEquals(this.UnsubscribeField, value) != true)) {
            this.UnsubscribeField = …
Run Code Online (Sandbox Code Playgroud)

wcf

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

在jQuery中查找匹配的类名

我在页面中有一系列图像缩略图.它们是使用css sprites创建的.

<div class="galleryImg1"></div>
<div class="galleryImg2 featured"></div>
<div class="galleryImg3"></div>
Run Code Online (Sandbox Code Playgroud)

我最初使用id="galleryImg1"但改为使用,class="galleryImg1"因为图像可能出现在同一页面上的多个位置,我想避免重复的ID.

我有一个jQuery选择器将click事件附加到所有这些类.

$("[class^=galleryImg]").click(function() {
   // how do i get 'galleryImg2' and '2' here?
}
Run Code Online (Sandbox Code Playgroud)

我想知道的是,是否有一种简单的方法可以找到以"galleryImg"开头的className.我是否必须使用正则表达式或者是否有"更聪明"的方式?

(是的,如果我使用的是#ID选择器,那么我可以说'this.id'但是如上所述,我不想使用ID,因为我想显示同一图像的多个副本.)

jquery

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

在合法的群发邮件中嵌入图像或链接到电子邮件中的外部图像

事实证明,使用嵌入式图像发送带有.NET的电子邮件非常容易.通过嵌入我的意思是实际将图像包含为MIME附件.

我只是想弄清楚我是否应该将图像作为大量邮件的资源(选择加入/现有客户)嵌入.或者我只会参考图像<img src>

嵌入图像的原因

  • 垃圾邮件过滤器可能不太可能阻止电子邮件 - 因为不存在跟踪像素
  • 电子邮件客户端可能更有可能显示图像 - 因为不存在跟踪像素
  • 可供离线观看
  • 我们无需无限期托管图像

未嵌入图像的原因(指向外部网站的IMG src属性)

  • 如果我们有大量图像,垃圾邮件过滤器可能更有可能阻止大文件
  • 如果我们犯了错误,我们可以托管图像并更改它们
  • 我们可以在服务器日志中跟踪电子邮件的视图
  • 淘汰一大堆电子邮件应该花费更少的时间
  • 我们为托管图像555减少了服务器带宽命中
  • 使用嵌入式图像发送许多电子邮件可能需要很长时间,因为我们必须为每封电子邮件发送400kb

我相信还有更多理由.

我最关心垃圾邮件相关问题.对任何人的输入都很好奇

email

12
推荐指数
1
解决办法
2975
查看次数

我可以在ASP.NET MVC中使用[CompressFilter]而不破坏甜甜圈缓存

我试图让[ CompressFilter ]使用甜甜圈缓存并遇到问题.

会发生什么是整个页面被缓存而不仅仅是甜甜圈.CompressFilter我使用的来源如下.我将其从原始源更改为使用OnResultExecuted而不是OnActionExecuting()因为我需要访问结果的类型以避免缓存某些ActionResult子类.

看看实际的MVC v1源代码OutputCacheAttribute看起来它也在使用OnResultExecuted(),但我不认为这个事实直接导致冲突.

我不太清楚替换缓存是如何工作的,以了解其行为方式.我认为值得注意的是,这并不会导致任何类型的损坏显示.它只是表现得没有甜甜圈!

它看起来像我将不得不使用某种IIs'插件'来处理缓存,我真的想避免这样做,但它看起来我也需要甜甜圈缓存.

我现在更感兴趣的是知道它为什么会产生这种效果,但如果可能的话,解决方案也会很棒.

public class CompressFilter : ActionFilterAttribute
{
    public override void OnResultExecuted(ResultExecutedContext filterContext)
    {
        HttpRequestBase request = filterContext.HttpContext.Request;

        // dont encode images!
        if (filterContext.Result is ImageResult)
        {
            return;
        }

        string acceptEncoding = request.Headers["Accept-Encoding"];

        if (string.IsNullOrEmpty(acceptEncoding)) return;

        acceptEncoding = acceptEncoding.ToUpperInvariant();

        HttpResponseBase response = filterContext.HttpContext.Response;

        if (acceptEncoding.Contains("GZIP"))
        {
            response.AppendHeader("Content-encoding", "gzip");
            response.Filter = new GZipStream(response.Filter, CompressionMode.Compress);
        }
        else if (acceptEncoding.Contains("DEFLATE"))
        {
            response.AppendHeader("Content-encoding", "deflate");
            response.Filter …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc caching donut-caching

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

42是有效的信用卡号码吗?jQuery验证器认为它是

我们都知道42是一切的答案,但对我来说这是一个有效的信用卡号码.

尝试在此jQuery Validation测试页面中输入"42"或"42176" ,然后单击"确定".

这是怎么回事?我认为这应该是事实上的验证库.即使微软现在正在使用它,但它认为'42'和'42176'是有效的信用卡号码?!它甚至没有进行长度检查.当然,我也不负责增加长度检查?它被称为'信用卡'验证器,而不是'luhn'验证器.

编辑:搭便车幽默 - 我将如何修补验证插件来检查长度.那很容易吗?

jquery credit-card jquery-validate

11
推荐指数
3
解决办法
4955
查看次数

用于检测用户是否单击XFBML页面中的"赞"按钮的事件处理

我有一个Facebook连接应用程序/画布IFrame应用程序,它具有Like粉丝页面的控件.

我想检测用户何时点击Like按钮才能显示其他信息(折扣优惠券代码).

我正在使用最新的Javascript API,但可以处理的事件似乎不包括社交窗口小部件控件的检测.该文档Like Plugin不显示任何事件.

但是我知道它绝对可能,因为如果我Like在页面上有两个按钮,如果我喜欢或不喜欢它们,它们会立即相互更新.


编辑:这是特别允许,要求别人成为促销的风扇:

4.2在促销规则或其他方面,您不会在Facebook上采取任何行动时进入促销活动,例如,更新状态,在个人资料或页面上发布,或上传照片.

但是,您可以在成为网页粉丝时进入促销活动.

facebook xfbml

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

VS2012 - 为什么我的主UI线程显示绿色调试语句?

编辑:如果你看到同样的问题(并且你习惯于在VS2010下没有看到这个)请在下面评论,所以我知道这不仅仅是我 - 但一定要检查韩的答案,以确保没有出现这些情况. ..


我一直在更新我的应用程序,以便在VS2012 RTM中使用.NET 4.5运行,并注意到我不太了解的内容,这是意外的绿色突出显示的语句(而不是黄色).

在此输入图像描述

现在我很清楚这应该是什么意思,IDE甚至向我展示了一些解释工具提示.

这是当该线程从当前函数返回时执行的下一个语句

但是,对于这段代码,绝对没有任何异步或线程.在这个简单的例子中,我相信你会同意string.ToUpper()不会在另一个线程中关闭.我可以逐步完成代码.

没有其他事情发生,我在主线程上,你可以在这里看到.

小号

正在使用asyncawaitMVVM-Light(上面的方法是RelayCommand的结果),但我仍然获得这种行为,即使代码路径是直接关闭的事件处理程序等 PreviewKeyDown.

在此输入图像描述

如果我创建一个新的应用程序,我不能复制它 - 颜色是预期的黄色 - 即使使用await.

有人知道吗?它开始让我发疯!

visual-studio-2012

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

如何在Angular 2+模板中使用isArray()?

我有这个变量命名records,

现在我想在angular2/typescript中检查它是否是一个数组?

在AngularJS中,我曾经做过以下事情:

ng-if="selectedCol.data && !isArray(selectedCol.data)"
Run Code Online (Sandbox Code Playgroud)

但是当我想要做的时候,它不能正常工作;

*ngIf="selectedCol.model.data && !Array.isArray(selectedCol.model.data)"
Run Code Online (Sandbox Code Playgroud)

它给我下面的错误:

TypeError:无法读取未定义任何输入的属性'isArray'吗?

javascript typescript angular

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

使用动态键在 Typescript 中动态创建对象,无需将类型扩展为 { [key: string]: T }

动态对象键无需扩展至{ [key: string]: V }?

我正在尝试创建一个 Typescript 函数来生成一个具有动态键的对象,该动态键的名称在函数签名中提供,而返回类型不会扩展为{ [key: string]: V }.

所以我想打电话:

createObject('template', { items: [1, 2, 3] })

并返回一个{ template: { items: [1, 2, 3] } }不仅仅是带有字符串键的对象的对象。

快速绕道——让我们创造彩虹!

在你告诉我这是不可能之前,让我们先制作一条彩虹:

type Color = 'red' | 'orange' | 'yellow';
 
const color1: Color = 'red';
const color2: Color = 'orange';    
Run Code Online (Sandbox Code Playgroud)

在彩虹对象上创建两个动态属性:

const rainbow = {
    [color1]: { description: 'First color in rainbow' },
    [color2]: { description: 'Second color in rainbow' }
};
Run Code Online (Sandbox Code Playgroud)

现在让我们看看我们创建的 …

typescript mapped-types

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