我刚刚开始研究一个棕色的ASP.NET 2.0 Web应用程序.与许多棕地应用程序一样,体系结构,特别是异常日志记录体系结构,不一致,在某些地方,缺失或不正确(吞咽异常,重新抛出,将它们用于控制逻辑等)
作为将所有这一切都置于控制之下的起点,我想在应用程序中抛出所有异常,然后将其记录在某个地方,如DB表.不幸的是,明确代码进入应用程序将是很多天,可能是几周的工作,因此规则出手编码事物(例如,将logger.log(ex)放在任何地方)以及诸如log4net和nlog之类的东西.我正在寻找另一个更轻量级的问题解决方案.
经过一些快速阅读,我遇到了各种各样的技术,如:
人们对这些解决方案的经验是什么?请记住,我希望尽可能简单而无痛地实现这一点,因此在这个阶段不需要花里胡哨.我只需要将每个异常报告给一个位置,这样我就可以开始在逻辑中找到漏洞了.
编辑:
我应该说清楚我想记录****所有****异常(甚至是处理的异常,因为有些处理不正确).是否可以配置Elmah来执行此操作?如果没有,我的其他选择是什么?
嗨我在oracle或某些功能中寻找与mysql相同的group_concat功能
我希望将当前目录结构视为树,这样就不会显示当前目录下的目录,类似于Pstree.我没有从lsOS X Leopard中找到一个选项.
如何在终端中创建当前目录结构的树?
如何为自定义配置节创建架构?我尝试制作一个,但是当我使用它时,它说唯一预期的元素是我在该模式中所拥有的,并抱怨标准的web.config内容,即使我仍然使用正常的DotNetConfig.xsd文件.
我想看一下不同C/C++函数的实现(比如strcpy,stcmp,strstr).这将有助于我了解c/c ++中的良好编码实践.你能告诉我在哪里可以找到它吗?
谢谢.
我想知道人们如何管理跨Tomcat应用程序服务器的多个实例维护JNDI资源.让我们以我的数据库JNDI资源为例.它在我的/conf/context.xml文件中声明,并从我的apps web.xml文件中引用.
必须在我的开发框,登台框和生产框中独立定义JNDI资源.如果我想设置开发人员/登台/生产箱的新实例怎么办?这意味着我必须在context.xml中为我提出的每个新实例重新创建资源名称?从设置角度来看,这是一个可能导致应用服务器开始指向错误数据库的人为错误的地方.
我发现这是繁琐和令人困惑的,因为我扩大了我的项目的开发人员数量以及最终我可能使用的生产服务器的数量.
你只是将它作为你的设置的一部分,或者每次重新安装tomcat并设置一个盒子时创建一个处理这个的安装脚本吗?或者是否有一些其他级别的间接可以使这更容易?
使用以下代码段作为我的问题的插图:
// #includes and other macros
class MyClass : public CFormView
{
private:
DECLARE_DYNCREATE(MyClass)
bool privateContent;
...
public:
bool publicContent;
...
};
class MusicPlayer
{
public:
AppClass *theApp; // which has a pointer accessing the MyClass object instantiated in the program
...
}
Run Code Online (Sandbox Code Playgroud)
当我在MyClass定义中放置关键字"private"时,当我尝试在MusicPlayer类的方法中访问privateContent成员变量时,privateContent成员变量似乎不是私有的.但是,如果我在DECLARE_DYNCREATE(MyClass)行之后放置"private"关键字,则privateContent成员变量的行为将返回到预期的值.有谁知道为什么会这样?提前致谢.
为什么世界上有这样的界限:
<%= Html.CheckBox("ForSale", Model.Product.ForSale)%> For Sale
Run Code Online (Sandbox Code Playgroud)
得到以下HTML:
<input id="ForSale" name="ForSale" type="checkbox" value="true" />
<input name="ForSale" type="hidden" value="false" />
For Sale
Run Code Online (Sandbox Code Playgroud)
现在每当我检查框和访问时Request.Form["ForSale"],我都会得到一个荒谬的回答"true,false".我应该解析那个吗?
对于其他HtmlHelper控件,此隐藏字段不会出现,那么为什么它会用于CheckBox?
如何关闭这个愚蠢的"功能"?或者HtmlHelper刚刚发展它的实用性?
更新
从下面的答案来看,似乎背后有一些逻辑.我准备了一个小扩展方法,所以我不必考虑它(感谢@ eu-ge-ne):
public static bool GetCheckBoxValue(this System.Web.HttpRequestBase req,
string name) {
return Convert.ToBoolean(req.Form.GetValues(name).First());
}
Run Code Online (Sandbox Code Playgroud) 我们
已经在PHP中使用过一段时间的cookie了.不过有些事情在我脑海中浮现.
是否可以收集所有cookie(不知道其名称),或者至少列出浏览器中存在的所有cookie名称?
问候.