Soyez le premier à donner votre avis sur cette source.
Snippet vu 13 092 fois - Téléchargée 17 fois
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.IO; using System.Web.UI; public class FilterSampleModule : IHttpModule { public void Dispose() { } public void Init(HttpApplication context) { context.PreRequestHandlerExecute += new EventHandler(context_PreRequestHandlerExecute); } void context_PreRequestHandlerExecute(object sender, EventArgs e) { if (!(HttpContext.Current.Handler is Page)) return; HttpContext.Current.Response.Filter = new MyStream(HttpContext.Current.Response.Filter); } } public class MyStream : Stream { private Stream _originalStream; private Stream _newStream; public MyStream(Stream originalStream) { this._originalStream = originalStream; this._newStream = new FileStream(@"c:/toto.html", FileMode.Create); } public override bool CanRead { get { return this._originalStream.CanRead; } } public override bool CanSeek { get { return this._originalStream.CanSeek; } } public override bool CanWrite { get { return this._originalStream.CanWrite; } } public override void Flush() { this._newStream.Flush(); this._originalStream.Flush(); } public override long Length { get { return this._originalStream.Length; } } public override long Position { get { return this._originalStream.Position; } set { this._originalStream.Position = value; this._newStream.Position = value; } } public override int Read(byte[] buffer, int offset, int count) { this._newStream.Read(buffer, offset, count); return this._originalStream.Read(buffer, offset, count); } public override long Seek(long offset, SeekOrigin origin) { this._newStream.Seek(offset, origin); return this._originalStream.Seek(offset, origin); } public override void SetLength(long value) { this._originalStream.SetLength(value); this._newStream.SetLength(value); } public override void Write(byte[] buffer, int offset, int count) { this._originalStream.Write(buffer, offset, count); this._newStream.Write(buffer, offset, count); } protected override void Dispose(bool disposing) { base.Dispose(disposing); if (disposing) this._newStream.Dispose(); } }
30 janv. 2009 à 10:33
30 janv. 2009 à 09:24
De mémoire, tu peux faire un test unitaire avec l'attribut et spécifier l'attribut HostType("ASP.net") et UrlToTest. Tu dois également pouvoir récuperer la réponse à partir d'un test web classique.
30 janv. 2009 à 09:12
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.