我正在寻找比我们目前处理意外生产错误更好的解决方案,而不需要重新发明轮子.
我们的大量产品是安装在远程站点的WinForm和WPF应用程序.从NullReferenceExceptions到"常规网络错误",不可避免地会发生意外错误.因此,从程序员错误到环境问题.
目前,使用log4net记录所有这些未处理的异常,然后通过电子邮件发回给我们进行分析.但是我们发现,有时这些错误"报告"包含的信息太少,无法识别问题.
在这些报告中,我们需要以下信息:
我真的不想通过从头开始开发这个轮子来重新发明轮子.所需的组件:
注意:我们将SmartAssembly视为一种可能的解决方案,但尽管接近它并不能完全满足我们的需求,但我希望能够听到其他开发人员的工作以及是否存在其他替代方案.
编辑:感谢您的答案到目前为止.也许我在原始问题中并不清楚,问题不在于如何捕获所有无法处理的异常,而是如何处理它们以及围绕它们创建报告引擎(分析).
当填充每个表的预测值时,我必须估计数据库的数据大小.它应该至少包括用于数据和索引的大小.
以前在SQL Server 2000中有这样的工具,当提供每个表的记录数量时产生估计的大小(我认为它随SQL 2000资源工具包一起提供).我找不到2000或2005的这个工具:(
我知道sp_spacedused,但这对我不起作用,因为我必须使用值预先填充数据库,并且我可能有许多方案需要计算.
我正在编写计划作业来模拟 SQL Express 的 SQL Server 维护计划。(我必须这样做,因为 SQL Express 不存在 SQL Agent 和相关工具)
其中一个步骤是进行数据库完整性检查。用于此的 TSQL 是:
DBCC CHECKDB(N'Northwind') WITH NO_INFOMSGS
Run Code Online (Sandbox Code Playgroud)
我如何知道在执行此命令期间是否发生错误,在使用 ADO.NET 时是否会抛出异常,或者我是否必须解析命令的文本输出(如果是这样,我在输出中寻找什么)
这很难测试,因为我手头没有损坏的数据库。
我有以下Python 2.6程序和YAML定义(使用PyYAML):
import yaml
x = yaml.load(
"""
product:
name : 'Product X'
sku : 123
features :
- size : '10x30cm'
weight : '10kg'
"""
)
print type(x)
print x
Run Code Online (Sandbox Code Playgroud)
这导致以下输出:
<type 'dict'>
{'product': {'sku': 123, 'name': 'Product X', 'features': [{'weight': '10kg', 'size': '10x30cm'}]}}
可以使用来自x?的字段创建对象?
我想要以下内容:
print x.features[0].size
Run Code Online (Sandbox Code Playgroud)
我知道可以从现有的类创建和实例,但这不是我想要的特定场景.
编辑:
features根据Alex Martelli的建议改变了对索引器的访问权限我有几个TabPages,每个都包含富文本框.如何在选定的选项卡上访问richtechbox?
TabPage selectedTab = tabControl.SelectedTab;
RichTextBox selectedRtb = selectedTab.Controls.Find("rtb", true).First() as RichTextBox;
Run Code Online (Sandbox Code Playgroud)
这是我尝试但没有运气.
添加:
这是使用richtextbox控件添加标签页的方式
TabPage newTab = new TabPage(name);
RichTextBox rtb = new RichTextBox();
rtb.Dock = DockStyle.Fill;
rtb.BorderStyle = BorderStyle.None;
rtb.Text = file.Data;
newTab.Controls.Add(rtb);
tabControl.TabPages.Add(newTab);
tabControl.SelectedTab = newTab;
Run Code Online (Sandbox Code Playgroud) 我正在使用Entity Framework 5 Code First,我有以下模型:
class Document
{
public int Id {get;set;}
public String Name {get;set;}
public IList<Page> Pages {get;set;}
}
class DocumentTemplate
{
public int Id {get;set;}
public String Description {get;set;}
public String Name {get;set;}
public IList<Page> Pages {get;set;}
}
class Page
{
public int Id {get;set;}
public string Text {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
我知道如何映射子实体有1个父项的识别关系.但我想映射Page实体,以便它具有每个父级的标识关系.
此外,父关系是互斥的.特定页面将属于DocumentTemplate或Document,而不是两者.
实体框架5中是否可以进行这种映射?
我不想为Page创建单独的实体,因为它们基本上是相同的,除了父关系.
TIA.
我想调用URL 中Function App没有任何功能键的Azure
目前,我需要这样称呼它:
http://<myazureapp.com>/api/mfunc?code=3z81ag7IYWjaGdVs/Gi6BcmhROG4WJjGU3voL9UUp2iXEZZ2Vi6r7g==
Run Code Online (Sandbox Code Playgroud)
如果想调用它,就像不带code查询参数一样调用:
http://<myazureapp.com>/api/mfunc
Run Code Online (Sandbox Code Playgroud) 使用Python下载网页时如何利用HTTP 1.1的压缩?
我目前正在使用内置的urllib模块下载Web内容.阅读文档,我找不到任何确实使用压缩的信息.
它已经内置到urllib中了还是我可以使用另一个库?
这是我第一次使用,$.when而且我的语法有问题.
我的代码类似于下面的简化示例.它工作(如果我简化时没有引起错误).我的问题是我不知道customerIds数组中包含的许多元素.
var customerIds = new [1, 2, 3];
$.when(
getCustomerData(customerIds[0]),
getCustomerData(customerIds[1]),
getCustomerData(customerIds[2])
).then(function() {
alert('success');
}).fail(function() {
alert('error');
});
function getCustomerData(int id) {
return new $.Deferred(function(defer) {
doSomeWork(id, defer);
}).promise();
}
Run Code Online (Sandbox Code Playgroud)
我想写下$.when如下声明,但很难获得正确的语法.
$.when(
getCustomerDataCalls(customerIds),
).then(function() {
alert('success');
}).fail(function() {
alert('error');
});
Run Code Online (Sandbox Code Playgroud)
在哪里getCustomerDataCalls实施为:
function getCustomerDataCalls(customerIds) {
var dfds = [];
for (var id in customerIds) {
dfds.push(new $.Deferred(function(defer) {
doSomeWork(id, defer);
}).promise());
}
return dfds;
}
Run Code Online (Sandbox Code Playgroud)
不幸的是我的实施出了问题,我无法解决我出错的地方.我最好的猜测是返回一个Deferreds 数组时出错了
更新:
我在lanzz提到我的设计示例已经返回Deferred之后更新了代码,我更新了我的示例以包含 …
在我的senario中,我有一个全局设置对象,比如GlobalSettings,它有一个静态属性"Current"(单例),并且应该只有一个GlobalSettings实例.
但是......在我的数据模型中,有一个实体"LocalizedContent":
public class LocalizedContent {
public string Title { get; set; }
public string Content { get; set; }
public string CultureName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
在构造函数中,我想通过将CultureName设置为系统的默认文化来初始化实例,并且我可以从GlobalSettings.Current.DefaultCultureName获取默认文化名称.
但是,我不想在LocalizedContent类中使用单例属性"GlobalSettings.Current",因为它会导致强耦合.所以我的问题是,在哪里设置这个默认文化名称的正确位置?
提前致谢!