-->

Returning plain text or other arbitary file in ASP

2020-08-19 06:49发布

问题:

If I were to respond to an http request with a plain text in PHP, I would do something like:

<?php 
    header('Content-Type: text/plain');
    echo "This is plain text";
?>

How would I do the equivalent in ASP.NET?

回答1:

If you only want to return plain text like that I would use an ashx file (Generic Handler in VS). Then just add the text you want to return in the ProcessRequest method.

public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "text/plain";
        context.Response.Write("This is plain text");
    }

This removes the added overhead of a normal aspx page.



回答2:

You should use Response property of Page class:

Response.Clear();
Response.ClearHeaders();
Response.AddHeader("Content-Type", "text/plain");
Response.Write("This is plain text");
Response.End();


回答3:

Example in C# (for VB.NET just remove the end ;):

Response.ContentType = "text/plain";
Response.Write("This is plain text");

You may want to call Response.Clear beforehand in order to ensure there are no headers or content in the buffer already.



回答4:

Response.ContentType = "text/plain";
Response.Write("This is plain text");