मैं एक http अनुरोध की सामग्री को लॉग इन करने की कोशिश कर रहा हूँ रीसेट, तो जैसे एक IHttpModule का उपयोग कर:प्रवेश कैसे करें HttpModule साथ अनुरोध InputStream, तो InputStream स्थिति
public class LoggingModule : IHttpModule
{
public void Init(HttpApplication context)
{
context.BeginRequest += ContextBeginRequest;
}
private void ContextBeginRequest(object sender, EventArgs e)
{
var request = ((HttpApplication)sender).Request;
string content;
using (var reader = new StreamReader(request.InputStream))
{
content = reader.ReadToEnd();
}
LogRequest(content)
}
}
समस्या यह है कि करने के लिए इनपुट धारा को पढ़ने के बाद अंत में, इनपुटस्ट्रीम या तो गायब हो गया है या अधिक संभावना है, कर्सर स्ट्रीम के अंत में है।
मैंने request.InputStream.Position = 0;
और request.InputStream.Seek(0, SeekOrigin.Begin);
पर प्रयास किया है लेकिन न तो काम करता है।
वहां एन्कोडिंग से सावधान रहें, मुझे लगता है कि आप इसे एन्कोडिंग करना चाहते हैं .UTF8.GetString (बाइट्स); – SimonF
महान जवाब !! +1 –