没有什么比看到你的代码在调试器中崩溃的方法更令人沮丧的是一个异常的方法而你没有尝试/捕获它.
有没有一种简单的方法来扫描您的源并标记所有可能引发异常的函数?
视觉辅助中的构建是否有一些隐藏选项可以将这些功能着色为特定颜色?
谢谢
[R
我创建了一个带有参数的SQL查询的SqlCommand.我将所有参数添加到类中.
是否有一种简单的方法可以在将结果发送到数据库之前查看生成的SQL查询?
这对于调试来说非常方便.(例如,复制整个查询并在管理工作室中运行以尝试查明问题)
[R
我只是想做一个简单但通过线程安全的布尔测试(和设置),所以:
if(myBoolean==false) //should not lock/wait!
{
myBoolean=true;
.....
}
else
{
....
}
Run Code Online (Sandbox Code Playgroud)
我考虑过以下(虽然可能不正确,所以请在我误解的地方纠正我)
任何人都知道以有效的方式执行此操作的类/构造是什么?
我在.Net程序中使用ActiveMQ,我充斥着消息事件.
简而言之,当我得到一个队列事件'onMessage(IMessage receivedMsg)'时,我将消息放入一个内部队列,X线程就是这样做的.
起初,我在创建会话时有'AcknowledgementMode.AutoAcknowledge',所以我猜测队列中的所有消息都被吸入并放入内存队列(因为崩溃,所以一切都丢失了,这是冒险的).
所以我在创建会话时使用了'AcknowledgementMode.ClientAcknowledge',当工作人员准备好了消息时,它会在消息上调用'commit()'方法.但是,仍然会从队列中删除所有消息.
如何配置它只处理X个消息或处于内部队列中,并且不是所有内容都被立即"下载"了?
是否可以在.net中向SqlCommand对象添加多个查询?
如果其中一个查询失败而其余查询成功,该命令是否会将此报告为失败或成功?
最后一个问题:查询可以共享相同的参数吗?那么,这是可能的:
UPDATE mytable
SET column1 = @param1
WHERE recid = @recid;
UPDATE mytable2
SET column1 = @param1
WHERE recid = @recid2;
Run Code Online (Sandbox Code Playgroud)
(所以param1在查询之间共享)
谢谢!
[R
当程序中发生意外异常时(在调试器中).有时你只想跳过它,因为在那个时候杀死程序比继续更有害.或者你只是想继续,因为你对另一个错误/错误更感兴趣
是否有选项/ compilerflag/secretswitch来启用它?
我理解异常应该马上解决,但是有些情况(比如我所描述),其中只是想暂时跳过它
我有很多查找表,我将从中生成我的webresponse.
我认为使用Asp.net的IIS使我能够在内存中保留静态查找表,我可以用它来快速提供我的响应.
然而,是否还有非.net解决方案可以做同样的事情?
我看过fastcgi,但我认为这会启动X进程,任何人都可以处理Y请求.但是根据定义,这些过程彼此屏蔽.我可以将fastcgi配置为仅使用1个进程,但这是否具有可伸缩性含义?
任何使用PHP或任何其他解释语言的东西都不会飞,因为它也是cgi或fastcgi绑定的吗?
我理解memcache可能是一个选项,虽然这将需要另一个(本地)套接字连接,我宁愿避免,因为内存中的所有内容都会快得多.
该解决方案可以在WIndows或Unix下运行......它并不重要.唯一重要的是会有很多请求(现在100 /秒,一年增长到500 /秒),我想减少处理它所需的网络服务器数量.
当前的解决方案是使用PHP和memcache(以及偶尔命中SQL服务器后端)完成的.尽管速度很快(对于php来说),但是当50 /秒通过时,Apache会遇到真正的问题.
我已经对这个问题给予了赏金,因为我没有看到足够的回应做出明智的选择.
目前我正在考虑使用Asp.net或fastcgi和C(++).
我创建了一个OData端点(使用实体框架,WCF数据服务)
并添加了一个自定义测试WebGet测试方法,如下所示:
[WebGet(UriTemplate = "{text}")]
public IQueryable<string> SplitString(string text)
{
if (text == null) throw new DataServiceException("text not specified");
var result = (from s in text.Split('-') orderby s select s);
return result.AsQueryable();
}
Run Code Online (Sandbox Code Playgroud)
和配置行:
config.SetServiceOperationAccessRule("SplitString", ServiceOperationRights.All);
Run Code Online (Sandbox Code Playgroud)
但是,无论我如何指定url,我都无法填写文本参数.(它总是为空).
so:
http://localhost/myservice.svc/SplitString/testtext
不起作用(它抛出我的异常,因为param为null).用于使参数起作用的正确url格式(或UriTemplate)是什么?
我发现odata和WebGet的唯一例子只有一个没有任何参数的示例方法.
我希望有一个哈希表,其中字符串为键,而functionpointer(委托)为值.这样在给定基于字符串的命令的情况下调用正确的例程 但是,编译器不会吃它.
我究竟做错了什么?
//declaration
public delegate void categoryHandler(String request);
//init code
Hashtable categories = new Hashtable();
categories.Add("campaigns", Campaigns.post);
//function call
String category = "campaigns";
categoryHandler handler = (categoryHandler) categories[category];
if (handler != null)
{
handler(someString);
}
//handler
static public void post(String request)
{
...
}
Run Code Online (Sandbox Code Playgroud)
我得到的错误是我将函数放在哈希表中的行:错误2参数'2':无法从'方法组'转换为'对象'
我希望它只是一些语义上的东西我忘记了......但如果不能这样做......还有另一种方法来获得某种基于字符串的跳转表吗?
当您有600个请求/秒的峰值时,由于TTL到期而刷新项目的内存缓存有一些非常不利的影响.几乎在同一时间,200个线程/进程发现缓存为空并触发数据库请求以再次填充它
处理这些情况的最佳做法是什么?
ps这种情况的术语是什么?(让我有机会在主题上获得更好的谷歌搜索结果)
我想使用IOS 5用户名/密码AlertView样式,以防我在ios5上运行,并在我运行IOS4及更低版本时显示我自己的弹出窗口.
我如何在运行时检测操作系统版本?
我正在使用 linq 从数据库中的表中检索行。现在我只更新 1 列。然后我将其更新回数据库。
一切进展顺利,除了任何其他字段被另一个进程/线程/用户更改的时候在这种情况下,我得到一个异常(乐观并发),告诉我要注意,自从我上次获取对象以来,值已被更改与 linq 。
由于我只对这一列感兴趣,我可以告诉 linq 只更新这一列并忽略其他列吗?(并警告我这一栏确实已更改)
右