ajax压根就没有什么“接受服务器错误处理”的概念,不知道你从哪里开始、甚至联想到 asp.net 去了。

解决方案 »

  1.   

    我的意思是,服务器接收一个请求,比如是个需要权限的请求,当访问者没有权限时,我就返回一个自定义信息。
    我使用 asp.net 的 web service 来做的,
    [WebMethod(EnableSession = true)]
    public void remove(int id)
    {
        try
        {                
            //只有经理才可以执行这个请求 
            //如果不是经理就会 throw error
            AdminManager.checkSessionAndPermission(AdminManager.OCCUPATION_LEVEL.manager); 
            using (DB db = new DB())
            {
                db.rooms.Remove(db.rooms.Where(r => r.id == id).Include("dailyRooms.offers").Include("imgs").Include("facilities").First());
                db.SaveChanges();
            }
        }
        catch (AjaxEx ex)
        {
            ex.endResponse(); //直接返回一个json,说明错误.
        }
        catch (Exception ex)
        {
            AjaxEx ajaxEx = new AjaxEx(ex.Message, AjaxEx.statusCodeEnum.microsoftError);
            ajaxEx.endResponse();
        }
    }
    上面的代码是我要的结果,
    因为很多访问的权限都不太一样,但是来来去去就那十来个,
    所以我把权限和 错误信息都写进了一个类。 
    ,只不过每个service 我都要重复写 try catch , 所以想知道怎样直接自定义的处理方式,放到"外面",减少copy paste.
      

  2.   

    我是从前端来的,没有正式学过asp.net,对c#也只是半桶水。人手不够,你知道的啦... 
    之前我是用 ashx 自己完全处理 response 的,后来觉得web service 封装好了接收参数和返回对象会自动序列化,直接调用也很方便,所以我就用用看咯 ^^