加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

这个ASP.NET顾问知道他在做什么?

发布时间:2020-12-15 19:00:22 所属栏目:asp.Net 来源:网络整理
导读:我们子公司的IT部门有一个咨询公司写他们一个ASP.NET应用程序.现在有了间歇性的问题,混淆当前用户是谁,并且已经知道向Joe显示一些Bob的数据错误. 顾问被带回来进行故障排除,我们被邀请听取他们的解释.两件事情出了问题. 首先,顾问负责人提供了这个伪代码: v
我们子公司的IT部门有一个咨询公司写他们一个ASP.NET应用程序.现在有了间歇性的问题,混淆当前用户是谁,并且已经知道向Joe显示一些Bob的数据错误.

顾问被带回来进行故障排除,我们被邀请听取他们的解释.两件事情出了问题.

首先,顾问负责人提供了这个伪代码:

void MyFunction()
{
    Session["UserID"] = SomeProprietarySessionManagementLookup();
    Response.Redirect("SomeOtherPage.aspx");
}

他继续说,会话变量的分配是异步的,这似乎是不真实的.授予查询功能的调用可以异步执行,但这似乎是不明智的.

鉴于所谓的异步性,他的理论认为,在引发重定向的不可避免的ThreadAbort异常之前,会话变量没有被分配.这样就可以防止SomeOtherPage显示正确的用户数据.

第二,他举了一个他推荐的编码最佳实践的例子.而不是写:

int MyFunction(int x,int x)
{
    try 
    {
        return x / y; 
    }
    catch(Exception ex)
    {
        // log it
        throw;
    }
}

他推荐的技术是:

int MyFunction(int x,int y,out bool isSuccessful)
  {
    isSuccessful = false;

    if (y == 0)
        return 0;

    isSuccessful = true;

    return x / y;
  }

在某些情况下,从性能角度来看,这肯定会奏效.

然而,从这些和其他讨论点来看,在我们看来,这个团队在技术上并不精通.

意见?

解决方法

我同意这些家伙似乎相当无能.

(BTW,我会检查一下,在“SomeProprietarySessionManagementLookup”中,他们使用的是静态数据,看到这个 – 正如你在几个月前继承的一个项目所描述的行为完全一样,这是一个全面的头痛时刻我们终于看到了…而且希望我们可以和写这个的人面对面…)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读