Christina,
Here is a code snippet that shows how to use HttpWebRequest to call
your App3.
// From APP1 or APP2
-----------------------------------------------------------------------------------------------------
string strData = "data=call-from-app2";
HttpWebRequest httpWebRequest=httpWebRequest =
(HttpWebRequest)WebRequest.Create("App3URL");
// call with a POST
httpWebRequest.Method = "POST";
// POST name-value pairs
String contentType = "application/x-www-form-urlencoded";
httpWebRequest.ContentType = contentType;
// write to the request stream
byte[] data = new ASCIIEncoding().GetBytes(strData);
Stream reqStream = httpWebRequest.GetRequestStream();
reqStream.Write(data,0,data.Length);
reqStream.Close();
// execute the request synchronously
HttpWebResponse httpWebResponse =
(HttpWebResponse)httpWebRequest.GetResponse();
-----------------------------------------------------------------------------------------------------
The above will take care of you passing data to App3. Now, will you be
writing App 3 too, or does that
code already exist? If you will write App 3 yourself, then, you can
get to the request input stream and
process the input data that your wrote to the stream above. You can do
the following:
Stream inputStream = new StreamReader(Request.InputStream);
// You can get to the header, params, etcs of the request by doing the
following:
// ---------------HTTP HEADERS-----------------
int i=0;
for(i=0; i<Request.Headers.Keys.Count; i++)
{
Console.WriteLine(Request.Headers.Keys+"="+Request.Headers[Request.Headers.Keys]);
}
// ---------------HTTP PARAMS-----------------
for(i=0; i<Request.Params.Keys.Count; i++)
{
Console.WriteLine(Request.Params.Keys+"="+Request.Params[Request.Params.Keys]);
}
---------------SERVER VARIABLES------------
for(i=0; i<Request.ServerVariables.Keys.Count; i++)
{
Console.WriteLine(Request.ServerVariables.Keys+"="+Request.ServerVariables[Request.ServerVariables.Keys]);
}
One final note about what you are doing. If you are logging request
info for every request, then I recommend that
you write an HttpModule to encapsulate that from the rest of the
application. Writing HttpModules to handle
this is the way to go. Give me some more information on what you want
to do and I will help you along a bit more.
sayed