ASP.NET中的die()或exit()功能

11

在ASP.Net中是否有类似于PHP中die()exit()的函数?

4个回答

11

这取决于你在代码中的位置,但是你需要一种获取 Response 对象的方法。

通过这里,你可以调用 HttpResponse.End()

这个方法将缓冲区发送给客户端,引发 EndRequest 事件,并抛出 ThreadAbortException 来停止页面上其余代码的执行。


9

您正在寻找 Response.End()

End方法使Web服务器停止处理脚本并返回当前结果。文件的其余内容不会被处理。

php的exit()文档说明如下:

终止脚本的执行。即使调用了exit,仍将执行关闭函数和对象析构函数。

exit是一个语言结构,如果没有传递状态,则可以不使用括号调用。

它们不完全等效,但这主要取决于两个框架之间的差异。

在调用Response.End时,必须小心,因为如果有任何脚本剩余要处理(Response.Redirect表现出相同的行为),它将抛出异常。如果经常执行此操作,可能会导致性能问题。


1
虽然这可能有效,但这是为经典 ASP 设计的,而不是 ASP.NET。你需要将其放入 .aspx.cshtml 文件中,而不是在 C# 代码中。 - Connell
Response.End 可以在代码后台中使用。例如,在提供文件后,您可以执行此操作,以确保 ASP 不会尝试呈现页面。不过,这样做会有点“脏”。 - Doctor Jones

0
你可以使用 Response.Close()。这将停止执行下一条语句。

Close会关闭与客户端的流,终止连接并通常不呈现任何内容。 - NiKiZe

0
你可以在 Razor CSHTML 中使用 return;。这将结束文件的其余部分的执行。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接