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. :)