问题列表 - 第4658页

数据库中的一些数据更改.如何触发一些C#代码在这些更改上做一些工作?

假设我有一些带有数据库的应用程序A. 现在我想添加另一个应用程序B,它应该跟踪应用程序A的数据库更改.应用程序B应该在数据发生变化时进行一些计算.两个应用程序之间没有直接通信.两者都只能看到数据库.

基本问题是:数据库中的某些数据发生了变化.如何触发一些C#代码在这些更改上做一些工作?


为了给出答案的一些刺激,我提到了一些我正在考虑的方法:

  1. 使应用程序B轮询感兴趣的表中的更改.优点:简单的方法.缺点:流量很大,特别是涉及到许多表时.
  2. 引入触发器,触发某些事件.当他们开火时,他们应该在"事件表"中写入一些条目.应用程序B只需要轮询"事件表".优势:减少流量.缺点:逻辑以触发器的形式放入数据库.(这不是触发器"邪恶"的问题.这是一个设计问题,这使它成为一个劣势.)
  3. 摆脱轮询方法并使用SqlDependency类来获取更改通知.优势:(可能?)流量少于轮询方式.缺点:不是数据库独立的.(我知道ODP.NET中的OracleDependency,但其他数据库呢?)

什么方法更有利?也许我已经错过了上述方法中的一些主要(dis)优势?也许还有其他一些我没有想到的方法?


编辑1:数据库独立性是...让我们称之为"销售人员"的一个因素.我可以使用SqlDependency或OracleDependency.对于DB2或其他数据库,我可以回退到轮询方法.这只是成本和收益的问题,我想至少考虑一下,以便我可以讨论它.

c# database ado.net odp.net

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

ASP.NET MVC - Response.Write代码 - 将它放在Controller,SingleFile或CodeBehind中

如果您要生成一个字符串页面并在最后一刻通过Response.Write输出所有内容,您应该在哪里放置此代码?

我需要能够动态地将一堆JavaScript写入客户端以使用一些新的Google可视化jsapi.我注意到MVC框架的最后一个版本"阻止了"视图上的CodeBehinds.这是真正的演示代码.它应该去哪里?什么是这里的首选方法...我从来不是"SingleFile"的粉丝.

.net asp.net-mvc

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

使用ASP.NET MVC身份验证的"记住我"不起作用

我有一个标准的ASP.NET MVC(RC Refresh)Web项目,带有标准的ASP.NET成员资格提供程序和项目模板中包含的Account控制器.

当我在登录表单中选中"记住我"时,我仍然没有被网站记住.(Firefox记得我的用户名和密码,但我预计会发生的事情是自动登录).

我是否必须手动设置和检查cookie?如果是这样,应该如何做到最好?

.net membership cookies asp.net-mvc

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

在运行时指定泛型集合类型参数

我有:

class Car {..}
class Other{
  List<T> GetAll(){..}
}
Run Code Online (Sandbox Code Playgroud)

我想要做:

Type t = typeof(Car);
List<t> Cars = GetAll<t>();
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

我想从运行时使用反射发现的类型的数据库中返回一个泛型集合.

c# generics casting runtime

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

我正在为我的团队编写一套编程思维规则:你的是什么?

我已经在列表上工作了一段时间,这有助于我分享编程方法和想法的原因以及如何做某事.

为此,我想建立一个包含以下内容的列表:

  • 最佳实践,
  • 最好的想法,
  • 最佳方法......

这有助于程序员以最有效的方式分析,思考,接近,解决和实施.

我在Stack Overflow的整个问题中看到过几十个非常有价值的评论,但是找不到我们将它们放在一起的地方.Stack Overflow上有最有争议的观点.但是,我只是在寻找可以分享并帮助我的团队的圣人见解,并通过更好的编程来更好地解决问题.

希望这可以是一个收集一两个简洁,深刻且易于分享,重复,审查的衬垫的地方.如果我们按照每个答案保留一个规则,那么最简单的投票可能是最容易的.

我将从第一个开始.

干 - 不要重复自己 - 在代码,评论或文档中.

rules

44
推荐指数
30
解决办法
3815
查看次数

C# - 如何按日期对DataTable进行排序

我有一个数据表有一个日期列,但我很难过如何按该列对它进行排序.有什么建议?

c# datatable date

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

Silverlight MVVM应用程序中服务定位器的用途是什么?

我正在尝试将所有部分放在一起用于我的MVVM Silverlight应用程序,我看到一些博客涉及服务定位器.

什么是服务定位器以及何时应该使用它?

silverlight mvvm

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

Windows上的"rails"命令

所以我使用Windows Installer安装了Ruby On Rails.

现在,启动指南说我必须启动一个终端并运行Rails命令来创建一个项目.我没有终端,那么如何执行Rails命令并创建项目?

Windows中的CMD命令行无法识别"rails"

我不认为这是一个PATH问题,因为当我在"Bin"目录中时,有"rails.bat"和"rails"没有扩展名.如果我运行Rails.bat,我会得到"文件名,目录名或卷标语法不正确."

我得到的消息与我传递给它的任何争论.

ruby-on-rails

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

JQuery .get vs load()性能问题

使用起来更好吗?

$.get("http://www.example.com/mydirectory", function(data) {
        $(".someclass").html(data);
});
Run Code Online (Sandbox Code Playgroud)

要么

$('.tripPlannerBottom').load("http://www.example.com/mydirectory");
Run Code Online (Sandbox Code Playgroud)

任何速度或性能优势?

jquery

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

什么可能导致自动增量主键字段(mysql)上的重复ID?

解决

来自开发人员:问题是以前版本的代码仍在写入使用手动ID而不是自动增量的表.自我注意:始终检查写入表的其他可能位置.

我们在表格中获得了重复的密钥.它们不是同时插入的(相隔6小时).

表结构:

CREATE TABLE `table_1` (
  `sales_id` int(10) unsigned NOT NULL auto_increment,
  `sales_revisions_id` int(10) unsigned NOT NULL default '0',
  `sales_name` varchar(50) default NULL,
  `recycle_id` int(10) unsigned default NULL,
  PRIMARY KEY  (`sales_id`),
  KEY `sales_revisions_id` (`sales_revisions_id`),
  KEY `sales_id` (`sales_id`),
  KEY `recycle_id` (`recycle_id`)
) ENGINE= MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=26759 ;
Run Code Online (Sandbox Code Playgroud)

插入:

insert into `table_1` ( `sales_name` ) VALUES ( "Blah Blah" )
Run Code Online (Sandbox Code Playgroud)

我们使用PHP5运行MySQL 5.0.20并使用mysql_insert_id()在插入查询后立即检索插入ID.

mysql insert lastinsertid

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