问题列表 - 第15253页

记录框架,一个好主意?

首先,为主观探测标题道歉.这是一个直接的问题.

目前我正在研究一套工具:

  • AC#Windows服务,主要用于维护Oracle数据库.
  • AC#Windows服务(将在多个节点站点上使用)来处理数据库的内容.
  • 一个ASP.NET Web界面,便于管理整个"系统"

目前,Windows服务已经被开发为控制台应用程序(以便于调试/开发),我正在将这些服务转换为服务.在使用这些服务测试了几天后,我发现我想增加日志记录的粒度.我发现我想念Console.WriteLine(),我想为这种类型的输出提供一个替代日志源,如平面文件.这让我想到,"我应该使用框架,还是让我受够了?"

我之所以提到我正在开发的方面的原因是为了解我的情况.已经创建了一个"核心"DLL,在所有组件中都是通用的,从而抽象出应用程序和数据库之间的交互层.在此DLL中,已创建一个类,该类将尝试"登录到数据库中的表",否则将失败"登录到本地事件日志".就是这样,这就是记录的程度.

在上述工具中,有多个日志记录实例与以下内容不同:

Log.LogError("Code", e.Message + "\n" + e.StackTrace);
Run Code Online (Sandbox Code Playgroud)

虽然非常基本,但这种方法确实利用反射来识别错误的来源.

我的问题

看看我目前的日志记录解决方案,就其功能以及如何与我的所有解决方案集成而言,它似乎"足够".但是,我一直在寻找日志框架(特别是log4net),它们的功能让我印象深刻.如果将来需要,能够添加另一种输出格式(例如SMTP服务器)对我来说听起来很酷!:)

我想知道移植到框架(如log4net)的好处?我需要调整代码的程度?我是否只是看着另一边更绿的草?最后,但最重要的是,我做的是正确的吗?我应该只将我的Log类的功能添加到"LogDebug"并完成它吗?我想要做的最后一件事就是彻底检修我的套件,只是为了一个"基本"功能,但如果有其他好处(设计,依赖,良好实践等等)我很感兴趣.

谢谢,

c# logging log4net

8
推荐指数
2
解决办法
2307
查看次数

django - 限制用户只能编辑他们自己的信息

我正在玩 django 并构建了一个小应用程序,用户可以在其中通过 url http:///localhost:8000/username/info/访问他们的信息。我想添加通过http:///localhost:8000/username/info/edit/编辑该信息的功能,但还想确保当前登录的用户(使用 django.contrib.auth)只能访问他的信息。我通过在视图中执行以下操作来完成此操作(视图 args 中的用户名是从 url 中捕获的):

@login_required
def edit_info(request, username=''):
    if request.user.username == username:
        # allow accessing and editing the info..
    else:
        # redirect to some error page
Run Code Online (Sandbox Code Playgroud)

所以,显然,我不希望用户“johnny”通过简单地将他的浏览器指向/jimmy/info/edit/来编辑属于用户“jimmy”的信息。以上工作,但我担心的是,就安全而言,我在这里遗漏了一些东西。这是解决这个问题的正确方法吗?谢谢。

security django django-authentication

5
推荐指数
1
解决办法
2361
查看次数

Arduino:轻量级压缩算法,用于将数据存储在EEPROM中

我想用ATmega168/ATmega328微控制器将大量数据存储到我的Arduino上,但不幸的是,只有256 KB/512 KB的EEPROM存储空间.

我的想法是利用压缩算法去除大小.但是,我对压缩算法的了解非常少,而且我对即用型库的搜索失败了.

那么,是否有一种优化存储大小的好方法?

compression embedded algorithm atmega arduino

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

如何强制链接器在调试期间包含我需要的函数?

我经常使用小方法来协助调试,这些方法在实际程序中没有使用.通常,我的大多数类都有一个AsString方法,我将其添加到手表中.我知道Delphi 2010有可视化工具,但我还在2007年.

考虑这个例子:

program Project1;

{$APPTYPE CONSOLE}

uses SysUtils;

type
  TMyClass = class
    F : integer;
    function AsString : string;
  end;

function TMyClass.AsString: string;
begin
  Result := 'Test: '+IntToStr(F);
end;

function SomeTest(aMC : TMyClass) : boolean;
begin
  //I want to be able to watch aMC.AsString while debugging this complex routine!
  Result := aMC.F > 100; 
end;

var
  X : TMyClass;

begin
  X := TMyClass.Create;
  try
    X.F := 100;
    if SomeTest(X)
      then writeln('OK')
      else writeln('Fail');
  finally
    X.Free;
  end;
  readln;
end.
Run Code Online (Sandbox Code Playgroud)

如果我将X.AsString作为监视添加,我只是得到"要调用的函数,TMyClass.AsString,被链接器删除". …

delphi debugging linker

12
推荐指数
2
解决办法
3277
查看次数

5
推荐指数
1
解决办法
1154
查看次数

在同一时间点发送短信

以前我发布了一个关于多线程的问题.实际上我的意图是通过使用c#和asp.net应用程序在同一时间点(例如:凌晨12:00)向1000(或更多)人发送短信.可以选择多线程概念来实现这一目标吗?

c# asp.net sms multithreading

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

如何将变量存储到磁盘,以便下次运行PowerShell脚本时可以使用它们?

我想将一个变量存储到磁盘或注册表中,以便下次运行计划脚本时可以使用它?最好是一个或两个......

干杯,罗伊

variables powershell

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

如何在firebug'风格的区域添加css选择器?

如何添加新的css类或id,然后在firebug的右侧css窗格中为html元素编写属性.就像我们可以在web开发人员工具栏中编写>编辑css

firebug

3
推荐指数
2
解决办法
6350
查看次数

程序如何删除自己的可执行文件

有没有办法让正在运行的进程可以删除自己的可执行文件?

例如,我创建一个控制台应用程序(单个exe),并在执行某些任务后以某种方式删除exe文件.

我必须向某人发送一个文件.我希望它在完成预定任务后删除.

无论如何都要在Windows中执行此操作

windows file process

29
推荐指数
4
解决办法
3万
查看次数

存储映射到字符串的整数的最佳方法是什么,以便键可以是python中的范围?

存储(非可变)格式的数据的最佳方法是什么:

doodahs = {
0-256: "FOO",
257: "BAR",
258: "FISH",
279: "MOOSE",
280-65534: "Darth Vader",
65535: "Death to all newbies" }
Run Code Online (Sandbox Code Playgroud)

我有相对大量的这类数据集,所以我可以定义字典(或接近它)的方式和通过索引访问.

哦,这是在Python 2.4上,所以如果你想让我使用更新的版本,请给出真正很好的升级理由(我会去3 :)

python types

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