配置文件页面抛出HTTP 500错误

时间:2018-09-22 15:29:07

标签: c# .net

我正在使用.Net应用程序,下一页将为用户的个人资料生成一个页面

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <h1>Profile for user: <%= _profile.Username %></h1>
            <h2>Purchases</h2>
            <% foreach (var purchase in _purchases) { %>
                <h3><%= purchase.Id %>: <%= purchase.Quantity %> items at $<%= Math.Round(purchase.Price / 100.0) %>.</h3>            
            <% } %>
        </div>
    </form>
</body>
</html>

这是背后的CS代码-

public partial class profile : System.Web.UI.Page
{
    protected Profile _profile;
    protected List<Purchase> _purchases;

    protected void Page_Load(object sender, EventArgs e)
    {
        ProfileHelper.IncrementActiveRequests();
        try
        {
            var username = Context.Request.QueryString["username"];
            if (String.IsNullOrEmpty(username))
            {
                throw new ArgumentException("Missing required parameter: username");
            } 
            else 
            {
                _profile = ProfileHelper.GetProfile(username);

                // Extract the purchases
                _purchases = _profile.Purchases;
            }
        }
        finally
        {
            ProfileHelper.DecrementActiveRequests();
        }
    }
}

我遇到的问题是页面不断从GET用户名请求中抛出HTTP 500错误。有没有办法可以捕捉到此错误?

1 个答案:

答案 0 :(得分:0)

主要问题是获取错误描述。我假设您处于生产环境中,因为通常在开发中错误会清楚显示。您可以重写页面的OnError方法以获取确切的错误。也可以处理page_error事件。 否则,您可以在global.asax的Application_error上获取它