易截截图软件、单文件、免安装、纯绿色、仅160KB

ASP.NET Web应用程序写EventLog出错的解决方案

最近在对应一个ASP.NET Web应用程序Bug的时候,为了调查运行环境中具体的Bug于是查阅了一下错误日志。
这个程序的错误日志是直接保存在一个文本文件中的,结果发现就算是出错也不会留下任何痕迹。
一调试,竟然是把错误日志的保存路径给写错了。My God!
把路径改了,转念一想下次出错再不保存怎么办?谁知道真正的环境里会出什么状况呢。
于是乎,出错了就直接把错误日志写到服务器的EventLog上吧。
三下五除二改完了就等着好消息呢。
可是左等右等还是没有日志留下来,Bug还是照旧。
一查,嘿,不让写EventLog。
网上一查,果然已经有前车之鉴。微软官方上也有解决方法。
按照第一个方法做了一下,改了服务器的注册表就好用了。
第二个就没尝试了。
解决问题的文章就摘下来做个经验保留。
地址:http://support.microsoft.com/?scid=kb;zh-cn;329291&spid=810&sid=58#appliesto
原文:
症状
使用 ASP.NET 在事件日志中创建一个新的事件源时,您可能会收到下面的错误信息:System.Security.SecurityException:Requested registry access is not allowed.
原因
默认情况下,ASP.NET 工作进程的用户令牌是 ASPNET(或者,对于 Internet 信息服务 [IIS] 6.0 上运行的应用程序是 NetworkService)。由于您的帐户不具有创建事件源的正确用户权限,会出现“症状”部分中的问题。
解决方案
警告
:注册表编辑器使用不当可导致严重问题,从而可能需要重新安装操作系统。Microsoft 不能保证您可以解决因注册表编辑器使用不当而导致的问题。使用注册表编辑器需要您自担风险。
要解决此问题,在您运行 ASP.NET Web 应用程序之前,拥有管理权限的用户必须创建事件源。要创建事件源,请使用下列方法之一。
第一种方法
在注册表编辑器中,在应用程序
事件日志下创建一个事件源。为此,请执行下列步骤:

单击“开始”,然后单击“运行”。
在“打开”文本框中,键入 regedit

找到以下注册表子项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application
右键单击“Application”子项,指向“新建”,然后单击“项”。
键入 TEST
作为该项的名称。
关闭注册表编辑器。
第二种方法
System.Diagnostics 名称空间中的 EventLogInstaller
类允许您安装和配置一个事件日志,您的应用程序在运行时可以读取或


相关文档:

asp.net 几种页面间传值方法总结

一、目前在ASP.NET中页面传值共有这么几种方式:
第一种方法:
  通过URL链接地址传递
 send.aspx: 
protected void Button1_Click(object sender, EventArgs e)   
 {       
     Request.Redirect("Default2.aspx?usern ......

asp.net文件操作类

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using  ......

asp.net文件和文件夹压缩

法一:调用winrar
using Microsoft.Win32;
using System.Diagnostics;
protected void Button1_Click(object sender, EventArgs e)
    {
        RAR(@"E:\95413594531\GIS", "tmptest", @"E:\95413594531\");
    }
    /// ......

Asp.net 标准控件 (一)

Label——height:高度
              width:宽度
              backcolor:背景色
             ......

将Asp.net页面输出为HTML

WebRequest mywebrq;
WebResponse mywebresp;
StreamReader sr;
Streamwriter sw;
Private void Page_Load(object sender,EventArgs e) { mywebreq=WebRequest.Create( http://localhost/Test.aspx ); mywebresp=mywebreq.GetResponse();
sr=new streamReader(mywebresp.GetResponsestream());
strHtml=sr.ReadT ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号