.net可配置的业务错误消息

时间:2010-06-11 04:24:29

标签: .net architecture messages configurable

我需要实现某种解决方案,以便在满足某些条件时在业务逻辑层中返回错误消息。

该错误消息应该可以在文件或表格中配置,如果需要,可以在运行时进行编辑。

我已经在几种方式之前看到它完成了它总是会出现类似“此错误消息为{0}”的内容然后当开发人员使用消息时他们不必知道有多少(如果有的话)参数消息需要。

只是希望利用可能已经完成的工作,我不认为.net框架中已经存在提供程序或任何内容。

2 个答案:

答案 0 :(得分:0)

为什么不将错误消息作为错误类的属性(假设你有一个),允许开发人员设置自己的消息,也许包括你自己的一些静态消息的事件,然后接受一个paramarray放入作为string.format函数的第二部分。

似乎可以避免知道有多少参数等。

答案 1 :(得分:0)

解决方案;

使用像这样的命名占位符存储您的错误消息;

  • “这是一个错误{name1}。Andkg kfkjgkf {name2}”
  • “这是一些{size}问题”

然后你需要一个在其构造函数中带有原始错误消息的类,例如“this is some {size} problem”。

然后,该类允许开发人员为每个占位符指定值。

最后,开发人员将调用一个方法,用一个指定的值替换占位符并返回结果。

var rawMessage = "this is some {size} problem"; // fetch this from a file, db, or build runtime
var errorMessage = new ErrorMessage(rawMessage); // finds all the placeholders, stores them in a Dictionary<string, string>
errorMessage.SetPlaceholderValue("size", "big"); // sets the {size} placeholder value
var message = errorMessage.BuildErrorMessage(); // replaces placeholders with values and checks no values are missing

// message should look like "this is some big problem";
// this will handle any number of placeholders