Response.Write() in WebService Response.Write() in WebService json json

Response.Write() in WebService


This works for me:

[WebMethod][ScriptMethod(ResponseFormat = ResponseFormat.Json)]public void ReturnExactValueFromWebMethod(string AuthCode){    string r = "return my exact response without ASP.NET added junk";    HttpContext.Current.Response.BufferOutput = true;    HttpContext.Current.Response.Write(r);    HttpContext.Current.Response.Flush();}


Why don't you return an object and then in your client you can call as response.d?

I don't know how you are calling your Web Service but I made an example making some assumptions:

I made this example using jquery ajax

function Test(a) {                $.ajax({                    type: "POST",                    contentType: "application/json; charset=utf-8",                    url: "TestRW.asmx/HelloWorld",                    data: "{'id':" + a + "}",                    dataType: "json",                    success: function (response) {                        alert(JSON.stringify(response.d));                    }                });            }

And your code could be like this (you need to allow the web service to be called from script first: '[System.Web.Script.Services.ScriptService]'):

    [WebMethod]    public object HelloWorld(int id)    {        Dictionary<string, string> dic = new Dictionary<string, string>();        dic.Add("message","success");        return dic;    }

In this example I used dictionary but you could use any object with a field "message" for example.

I'm sorry if I missunderstood what you meant but I don't really understand why you want to do a 'response.write' thing.

Hope I've helped at least. :)