Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Returning plain text or other arbitary file in ASP.net

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?

like image 694
Jo-Herman Haugholt Avatar asked Feb 22 '11 12:02

Jo-Herman Haugholt


3 Answers

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.

like image 155
Richard Dalton Avatar answered Oct 21 '22 00:10

Richard Dalton


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();
like image 36
tpeczek Avatar answered Oct 21 '22 01:10

tpeczek


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.

like image 39
Oded Avatar answered Oct 21 '22 00:10

Oded