VB.NET相当于Var_dump($ myVar);死();

时间:2012-08-01 17:13:41

标签: asp.net-mvc vb.net asp.net-mvc-3

在PHP中,可以立即停止脚本的执行并输出变量。例如,如果你想知道$ myVar中的内容,你可以这样做:

的var_dump($ myVar的);模具();

无论如何都要立即获取变量的值然后在VB.NET中将其删除?

我不是要求函数必须包括在内;如果有一个本机函数将立即基本输出var,而不必将其添加到控制器,然后是视图,然后发布和测试。理想情况下,它只会在调试器或消息框中输出变量或其他东西......

我也在使用ASP.NET MVC 3。

感谢。

1 个答案:

答案 0 :(得分:1)

您可以使用System.Diagnostics.TraceSystem.Diagnostics.Debug类打印信息。

停止执行通常是通过返回相关的System.Web.Mvc.ActionResult(例如System.Web.Mvc.HttpNotFoundResult)或通过System.Web.HttpException抛出最能描述问题的HTTP status code来实现的。

这是一个天真的例子。请原谅我可怜的VB。

Public Function UpdateUser(id as Integer, userName as String, password as Password) as ActionResult
    Dim user as User = DataServices.GetUserById(id)
    If user Is Nothing Then
        System.Diagnostics.Debug.WriteLine("Aborting because user did not exist.")
        throw new HttpException(404, "Page not found.")
    End
    ' Do more stuff
end

或者在C#中

public ActionResult UpdateUser(int id, string userName, string password) {
    var user = DataServices.Users.Where(u => u.id == id).SingleOrDefault();

    if( user == null ) {
        Debug.WriteLine("Aborting because user did not exist.");
        return HttpNotFound(); // Helper method in Controller Class.
    }
    else if( myRoles() < thisUsersRoles(user) ) {
        Debug.Writeline("Aborting because insufficient access.");
        throw new HttpException(401, "Unauthorized");
    }

    // update user here
    return View();
}

请注意,这些示例仅用于显示Debug的使用和http状态代码的返回。