Configuration method: <add name= "Fileeditmodule" type= "Framework.fileeditmodule, Framework"/>
public class FileEditModule:System.Web.IHttpModule {public void Dispose () {} public void Init (HTT Papplication application) {application.
BeginRequest + = new EventHandler (application_beginrequest); } public void Application_BeginRequest (object sender, EventArgs e) {HttpContext
context = HttpContext.Current; HttpRequest request = context.
Request; if (context.
Request.httpmethod!= "POST") {return; var file = Request.
InputStream;
StreamReader sr = new StreamReader (file); String SourceCode2 = Sr.
ReadToEnd (); File.
Seek (0, seekorigin.begin); String sourcecode =..
Modification method (SOURCECODE2);
if (Sourcecode.equals (SourceCode2)) {return; } byte[] SourceData = System.Text.Encoding.UTF8.GetBytes (sourcecode); ((System.Web.HttpInputStream) (file)). _data._data//((System.Web.HttpInputStream) (file). _data {System.Web.Ht Tprawuploadedcontent} System.Web.HttpRawUploadedContent BindingFlags bind = BindingFlags.NonPublic | BindingFlags.Instance | Bindingflags.ignorecase |
Bindingflags.getfield; Assembly Systemweb = Assembly.Load ("system.web, version=2.0.0.0, culture=neutral, publickeytoken=b03f5f7f11d50a3a"
);
Assembly systemweb = assembly.getassembly (typeof (HttpRequest));
Type type = Systemweb.gettype ("System.Web.HttpInputStream"); FieldInfo method = Type.
GetField ("_data", bind); var data = method. GetValue (Request.
InputStream); var _data = data. GetType ().
GetField ("_data", bind); var _length = data. GetType ().
GetField ("_length", bind); var _expectedlength = data. GetType ().
GetField ("_expectedlength", bind); var _completed = data. GetType (). GetField ("_comPleted ", bind); var _datavalue = _data.
GetValue (data) as byte[]; _data.
SetValue (data, sourcedata); _length.
SetValue (data, sourcedata.length);
_expectedlength.setvalue (data, sourcedata.length); _completed.
SetValue (data, true); }
}