情况是这样的,错误如下:第一种情况:
登陆时出现错误:(输入用户名和密码)
“/test”应用程序中的服务器错误。
--------------------------------------------------------------------------------已添加项。字典中的键: “边丽” 所添加的键: “边丽” 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.ArgumentException: 已添加项。字典中的键: “边丽” 所添加的键: “边丽”源错误: 
行 157: System.Web.Security.FormsAuthentication.SetAuthCookie(userID,false);
行 158: //用Session保存一些常用的用户自定义信息
行 159: WebOA.Common.DBCommon.Login(Context,userID);
行 160:                           
行 161: Session["userID"]=System.Web.HttpUtility.UrlEncode(r["userID"].ToString());
 源文件: c:\inetpub\wwwroot\siadr\siadr\inc\default_header.ascx.cs    行: 159 堆栈跟踪: 
[ArgumentException: 已添加项。字典中的键: “边丽”  所添加的键: “边丽”]
   System.Collections.Hashtable.Insert(Object key, Object nvalue, Boolean add) +931
   System.Collections.Hashtable.Add(Object key, Object value) +11
   WebOA.Common.Users..ctor(BaseTables db) +287
   WebOA.Common.DBCommon.GetUsers(HttpContext context) +71
   WebOA.Common.DBCommon.GetUserEntity(HttpContext context, String userID) +67
   WebOA.Common.DBCommon.Login(HttpContext context, String userID) +91
   WebOA.Siadr.Inc.Default_Header.btnLogin_ServerClick(Object sender, ImageClickEventArgs e) in c:\inetpub\wwwroot\siadr\siadr\inc\default_header.ascx.cs:159
   System.Web.UI.HtmlControls.HtmlInputImage.OnServerClick(ImageClickEventArgs e) +109
   System.Web.UI.HtmlControls.HtmlInputImage.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +67
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
   System.Web.UI.Page.ProcessRequestMain() +1277
这是一个人员基本表格,有重复的人员姓名但是人员ID值是不同的.程序没有错误,
恢复数据库和应用程序备份还是不可以,但是备份在以前是可以正常运行的.为什么恢复还是不可以,
我有很多备份,这些都是可以正常运行的,为什么恢复不行呢?
我是这样做的,先将现在的asp.net应用程序从根目录删除,将备份应用程序考到目录下面,然后将数据库还原
应用程序和数据库是成对的,就是说在可以运行时,把两个都备份上,应用程序是拷贝.
 第二种情况:
  如果人员没有重复的人员名字,应用程序一样出错,会指出,   未将对象引用设置到对象的实例。 
在某些情况下,恢复备份可以运行的,要靠运气.
 
--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:1.1.4322.573; ASP.NET 版本:1.1.4322.573

解决方案 »

  1.   

    贴下相关的代码,你用的SetAuthCookie,是不是在其他的地方还用了这个方法或者用了
    FormsAuthentication.RedirectFromLoginPage()这可能导致cookie中有key相同的东西.
      

  2.   

    我也碰到了一个很怪的问题,我用的是.net中的那个智能设备应用程序来编写一个pda游戏,用的是c#,但就是有一个错误说是: “不可访问“System.STAThreadAttribute”,因为它受保护级别限制”但是不在这个模拟环境里的时候就不会出现这样的问题,哪位大哥帮帮我啊 
      

  3.   

    不知道楼主是cookie的key为空是什么意思,cookie里保存的实际上是key-value,即键值对,可以根据键取对应的值.
    如果手动加HttpCookie cookie=new HttpCookie("key","value");
    Response.Cookies.Add(cookie);
    同样Response.Cookies.Remove,RemoveAll等可以删除.登录的时候肯定保存用户名只一次.
      

  4.   

    “/test”应用程序中的服务器错误。
    --------------------------------------------------------------------------------常规网络错误。请检查您的网络文档。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: 常规网络错误。请检查您的网络文档。源错误: 
    行 46: 
    行 47:  comm.CommandText = "select Name,LinkAddr from  _OA_Link";
    行 48:  this.repLink.DataSource = comm.ExecuteDataTable().DefaultView;
    行 49:  this.repLink.DataBind();
    行 50: 
     源文件: c:\inetpub\wwwroot\siadr\default.aspx.cs    行: 48 
      

  5.   

    不知道楼主是cookie的key为空是什么意思,cookie里保存的实际上是key-value,即键值对,可以根据键取对应的值.
    如果手动加HttpCookie cookie=new HttpCookie("key","value");
    Response.Cookies.Add(cookie);
    同样Response.Cookies.Remove,RemoveAll等可以删除.登录的时候肯定保存用户名只一次.不知道楼主是cookie的key为空是什么意思,cookie里保存的实际上是key-value,即键值对,可以根据键取对应的值.
    如果手动加HttpCookie cookie=new HttpCookie("key","value");
    Response.Cookies.Add(cookie);
    同样Response.Cookies.Remove,RemoveAll等可以删除.登录的时候肯定保存用户名只一次.不知道楼主是cookie的key为空是什么意思,cookie里保存的实际上是key-value,即键值对,可以根据键取对应的值.
    如果手动加HttpCookie cookie=new HttpCookie("key","value");
    Response.Cookies.Add(cookie);
    同样Response.Cookies.Remove,RemoveAll等可以删除.登录的时候肯定保存用户名只一次.