小编Wes*_*sty的帖子

Visual Studio 2012 RTM intellisense:修复"挂起/暂停"?

我刚刚在Windows 7 x64桌面上安装了Visual Studio 2012 RTM.

不幸的是,我对开箱即用安装的性能非常不满意.每次我尝试在解决方案资源管理器中重命名文件时,更改为MVC cshtml编辑器,打开设计器视图,或者当我开始使用c#编辑器输入时智能感知弹出,整个visual studio应用程序会挂起5-10秒.

此处未启用任何自定义,插件,扩展,但未应用标准安装.

还有其他人经历过这个吗?是否有其他人找到了记录发生的应用程序故障或检测挂起的方法.我需要一些方法来确定出现了什么问题,以便确定需要更改的内容以纠正安装.

visual-studio-2012

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

LinqToSql混淆

我喜欢LinqToSql数据上下文对象和底层SQL数据库之间的紧密耦合,但我很好奇混淆是如何适应图片的.

[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_FamilyId", IsPrimaryKey=true, IsDbGenerated=true)]
public int FamilyId
{
  get
  {
    return this._FamilyId;
  }
  set
  {
     if ((this._FamilyId != value))
     {
        this.OnFamilyIdChanging(value);
        this.SendPropertyChanging();
        this._FamilyId = value;
        this.SendPropertyChanged("FamilyId");
        this.OnFamilyIdChanged();
     }
  }
}
Run Code Online (Sandbox Code Playgroud)

在数据上下文中,我的对象的属性autogenerated setter在这种情况下硬编码PropertyName,例如.SendPropertyChanging方法调用中的"FamilyId"字符串.下次重新生成文件时,将替换此代码中的更改,因此我无法使用反射帮助程序获取属性名称.

很明显,一旦发生混淆,这个属性就会被称为完全不同的东西.这似乎可以防止通知事件到达WPF应用程序UI事件处理程序.

所以我想,让我们尝试将这些自动生成的数据对象包起来,适配器模式样式.至少包装器将被混淆.因此,根据stackoverflow硬编码与反射

    private Family _family;

    public int FamilyId
    {
        get { return _family.FamilyId; }
        set
        {
            NotifyPropertyChanging(() => FamilyId);
            _family.FamilyId= value;
            NotifyPropertyChanged(() => FamilyId);
        }
    }
Run Code Online (Sandbox Code Playgroud)

在我尝试处理集合之前,这似乎没问题.EntitySet集合更复杂,因为集合中的每个元素都需要强制转换为包装类型.此外,当我们开始讨论延迟加载,事务以及我们没有在实际类型上执行业务层逻辑但包装类型时,复杂性开始增长.

所以我的直觉是,这已经变得复杂了.

是否有其他人使用WPF,LinqToSql数据类和混淆,可以揭示更正确的架构?

您使用哪种混淆工具有助于支持此过程?

回顾一下你从尝试中学到的东西,你能否建议你是否会再次进行同样的过程?你会尝试另一种方式吗?

我的偏好当然是让所有东西都完全混淆,如果它给我提供很少的保护,就不要坚持使用半开烘烤的高包装.

c# obfuscation linq-to-sql

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

标签 统计

c# ×1

linq-to-sql ×1

obfuscation ×1

visual-studio-2012 ×1