⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 18.5.txt

📁 《Microsoft Visual C# .NET 2003开发技巧大全》源代码
💻 TXT
字号:
Listing 18.5 A Sink Class Implementation to Log Remoting Requests to a File
public void ProcessMessage(IMessage msg, ITransportHeaders requestHeaders,
Stream requestStream,
out ITransportHeaders responseHeaders,
out Stream responseStream)
{
StreamWriter writer = new StreamWriter(logFilename, true);
writer.WriteLine(“---- Message from the client ({0:T})----”, DateTime.Now);
writer.WriteLine(“...Request Headers...”);
foreach (DictionaryEntry header in requestHeaders)
{
writer.WriteLine(“header - {0} = {1}”, header.Key, header.Value);
}
writer.WriteLine();
IDictionary dict = msg.Properties;
foreach (object key in dict.Keys)
{
writer.WriteLine(“{0} = {1}”, key, dict[key]);
}
long pos = requestStream.Position;
byte[] buffer = new byte[requestStream.Length];
requestStream.Read(buffer, 0, (int)requestStream.Length);
System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding();
string request = enc.GetString(buffer, 0, buffer.Length);
writer.WriteLine(“...Request...”);
writer.WriteLine(request);
Console.WriteLine();
// set stream to previous position for message processing
requestStream.Seek(pos, SeekOrigin.Begin);
writer.WriteLine(“----------------------------------------------”);
writer.Close();
// Hand off to the next sink in the chain.
nextSink.ProcessMessage(msg, requestHeaders, requestStream,
out responseHeaders,
out responseStream);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -