小编Iai*_*der的帖子

HTML - 如何知道何时加载所有帧?

我正在使用.NET WebBrowser控件.我怎么知道网页何时满载?

我想知道浏览器什么时候不提取任何数据.(当IE在状态栏中写'完成'时......).

笔记:

  • 对于包含多个框架的网站,DocumentComplete/NavigateComplete事件可能会多次发生.
  • 浏览器就绪状态也没有解决问题.
  • 我已经尝试检查帧集合中的帧数,然后计算我获得DocumentComplete事件的次数,但这也不起作用.
  • this.WebBrowser.IsBusy也不起作用.在文档完成处理程序中检查它时总是"假".

html c# browser mshtml

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

使用事件在NHibernate中进行数据审计

我正在重新审视并重新实现导致我在NHibernate中询问有关数据审计的问题的代码.不过这一次,我想要了解Sean Carpenter建议并实现ISaveOrUpdateEventListener(NHibernate 2.x中的新功能)

我想在数据库中为每个属性添加一行,使用旧值和新值,以便稍后在UI中我可以说"用户Bob在2009年3月9日21点将Wibble的属性从A更改为B: 04"

比较对象状态以确定哪个对象的属性已更改的最佳方法是什么?

您可以通过以下方式获取对象的加载状态:

    public void OnSaveOrUpdate(SaveOrUpdateEvent saveOrUpdateEvent)
    {
       object[] foo = saveOrUpdateEvent.Entry.LoadedState;
    }
Run Code Online (Sandbox Code Playgroud)

而且我想我可以使用反射来确定哪些属性已经改变,但我一直在挖掘并且似乎没有一组匹配的匹配属性.我原以为会有一个GetChangedProperties()方法.

我可以随时从数据库中获取旧对象并进行比较,但这是另一个数据库命中,并且在这种情况下似乎很重要.

这个最好的方向是什么?

PS如果它有所不同,这是一个ASP.NET-MVC/S#arp架构项目.

.net c# reflection nhibernate

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

ASP.NET MVC性能突然变得非常慢

我正在使用Billy McCafferty相当出色的S#arp架构.一切都很快,很快就开始运转.

然后我更新到最新的ASP.NET MVC RC.这意味着我必须得到S#arp的最新主干.

另外,两周前,我从XP更新到Vista(32位)

我的问题是表现突然变得悲惨.

一切似乎都有效,但它变得非常慢.每个http请求需要1秒钟.是的,一秒钟 - 您可以想象的是,像网络服务器这样的页面加载由一个巨大的,匆忙构造的鼠标滚轮中的关节炎驴提供动力.

页面上的每个脚本或图像都会增加一秒的加载时间.

  • 我没有打开log4net,所以我认为不是这样.
  • 这是在主页上运行,因此只有非常小的数据库内容(无论如何都非常快)
  • 对于简单的图像也是如此,所以我认为它必须是路由或Web服务器级别的东西.

有什么想法可能是什么?

.net asp.net-mvc performance s#arp-architecture windows-vista

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

Winform DatagridView数字列排序

我只使用一个简单的DataGridView来保存一堆数据(搞笑).

我在特定列中有小数.但是当按照那个十进制列排序时,它会错误地命令它.例如 :

开始订单可能是:

  • 0.56
  • 3.45
  • 500.89
  • 20078.90
  • 1.56
  • 100.29
  • 2.39

结束顺序是:

  • 0.56
  • 100.29
  • 1.56
  • 20078.90
  • 2.39
  • 3.45
  • 500.89

如您所见,它从第一个数字开始对其进行排序.然后以这种方式命令它.

我想可能我可以将列设置为不同的"ColumnType",并且可以自动执行此操作.但是没有"数字"或"十进制"列类型.

我在MSDN上查找问题,我可以找到可以在DataGridView上使用的"排序"方法.但是解释有点过头了,示例没有使用数字,只有文字,所以我无法看到我应该如何切换.

任何帮助将非常感激.

c# datagridview winforms

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

跟踪winform中的变化C#

我有一个表格,主持一个tabcontrol.这些选项卡中的每一个都有很多控件,包括文本框,组合框,树控件,旋转控件.

在表单的顶部有一个文本框.

如果使用表单控件进行任何更改,则表示在选项卡1的组合框中更改了值,或者从树控件中删除了一个项目,我需要显示"*"表示某些值已更改.

我怎样才能以有效的方式实现这一目标?或正在处理分配.控制更改事件是了解项目是否更改的唯一方法?

c# winforms

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

数据绑定对象列表到WinForms DataGridView,但不显示某些公共属性

我甚至不确定我是否正确地这样做了.但基本上我有一个由类构建的对象列表.从那里,我将列表绑定到Windows窗体上的数据网格视图(C#)

从那里,它在datagrid视图中显示对象的所有公共属性.但是,我仍然需要从我的应用程序的其他部分访问一些属性,但实际上并不需要在DataGridView中可见.

那么有一个属性或类似的东西,我可以在属性上面写,以排除它显示.

PS Im在运行时绑定.所以我无法通过设计师编辑列.

PPS请不要只是公共变量的答案(虽然这是唯一的方法,让我知道:)).

c# data-binding datasource datagridview winforms

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

使用SNMP和.NET进行网络自动发现

是否有任何库(第三方可以)可以帮助使用SNMP和.NET进行网络自动发现?

如果没有,你有没有自己推?

.net networking snmp

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

NHibernate映射 - 一对一(或一对零)

NHibernatians!

我有一张桌子[dbo].[Wibble]和另一张桌子[dbo].[WibbleExtended].

[Wibble]是主表,[WibbleExtended]是一个可选表,其中存储了一些其他字段.[WibbleExtended]表中的条目远少于主[Wibble]表.我认为这是在当天完成的,以解决一些空间问题(Wibble有很多行,而WibbleExtened有很多列).

每个表的ID都是相同的,来自外部源.

[dbo].[Wibble].[WibbleId]
Run Code Online (Sandbox Code Playgroud)

[dbo].[WibbleExtended].[WibbleId]
Run Code Online (Sandbox Code Playgroud)

是相同的,这两个表是如何相关的.

注意我无法更改架构.我对这个我几乎无法控制的遗留系统非常感兴趣.

在它周围搜索似乎一对一的映射是有问题的,并且流行的智慧是使用两个多对一映射.

我的映射目前是:

<class name="Wibble" table="Wibble" >
   <id name="Id" column="WibbleId" type="Int32">
      <generator class="assigned"/>
   </id>

   <many-to-one name="WibbleExtended" class="WibbleExtended" column="WibbleId" not-null="false" cascade="all"/>
</class>
Run Code Online (Sandbox Code Playgroud)

<class name="WibbleExtended" table="WibbleExtended" >
   <id name="Id" column="WibbleId" type="Int32">
        <generator class="assigned" />
   </id>

   <many-to-one name="Wibble" class="Wibble" column="WibbleId" not-null="true" />     
 </class>
Run Code Online (Sandbox Code Playgroud)

这个问题是我遇到了诸如此类的错误

System.IndexOutOfRangeException: Invalid index n for this SqlParameterCollection with Count=n.
Run Code Online (Sandbox Code Playgroud)

我环顾四周,看起来确实是正确的策略,它只是落在了最后的障碍.

问题是id生成器吗?映射的其他方面?

正确答案的免费碎肉馅饼.

编辑:好的 - 这就是我通过@James Gregory解决这个问题的方法.

  1. 将单元测试从WibbleExtended测试移至Wibble测试类并进行必要的修改.

  2. 在Wibble.hbm.xml中添加了以下内容

    <join table="WibbleExtended" optional="true">
         <key column="WibbleId"/>
         <property name="Blah1" column="Blah1" type="String" length="2000" not-null="false" …
    Run Code Online (Sandbox Code Playgroud)

c# nhibernate nhibernate-mapping

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

ORM对于.Net ON Oracle

我将很快开始一个新项目,在Oracle数据库上使用.Net 3.5和Winform.我们计划使用ORM.我们的架构师建议使用NHibernate.由于我个人对Entity Framework更熟悉,我认为它比NHibernate更容易使用.但由于Oracle没有任何官方规定,我们拒绝使用它.

所以我的问题是:我已经查看了可用的不同提供商,并找到了一些:

  • DevArt
  • DataDirct
  • EFOracleProvider

所以我想对它们中的每一个都有一些反馈 - 优点和缺点,缺少功能,类似的东西,使用它们的人,并知道我们是否更好地使用NHibernate?

谢谢您的帮助.

.net oracle nhibernate entity-framework winforms

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

为什么Visual Studio不能在多个核心上运行?CPU为25%

我正在使用噩梦糟糕的MS测试框架运行Visual Studio 2008.麻烦的是它将我的CPU发送到100%(四核上25%).

我的问题是为什么Visual Studio不能在多个核心上运行?当然M $必须有足够的线程处理才能使其正常工作.

visual-studio-2008 visual-studio

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