변경할 방법이없는 DLL에서 제공하는 웹 페이지의 도메인 이름을 다시 작성해야합니다. Response.Flush가 발생하기 전에 OnFlush와 같은 이벤트가 있으면 페이지가 표시되기 전에 모든 작업을 수행 할 수 있다고 생각했습니다. ASP에서이 작업을 수행 할 수있는 방법이 있습니까?Response.Flush - 고전적인 ASP의 OnFlush 이벤트?
도움 주셔서 감사합니다. 이 APACHE 확장에 Script_OnFlush 같은
P.S : 뭔가 : http://www.apache-asp.org/events.html
내가 스트림 클래스에서 상속하는 클래스를 만든 닉의 제안에 따라. Response.Filter는이 클래스를 사용하여 HTML 내용을 처리합니다 ...
Write 메서드를 재정 의하여 사이트의 도메인 이름을 다시 작성했습니다.
public override void Write(byte[] buffer, int offset, int count)
{
byte [ ] data = new byte [ count ];
Buffer.BlockCopy (buffer, offset, data, 0, count);
string myHTML = ASCIIEncoding.ASCII.GetString(data);
string convertedHTML = myHTML.Replace("http://www.previousdomain.com", "http://www.currentdomain.com");
data = ASCIIEncoding.ASCII.GetBytes(convertedHTML);
_sink.Write (data, 0, count);
}
감사합니다. Nick!
Classic 또는 .NET ASP? – AnthonyWJones
클래식, 나는 affraid입니다. : –
이 DLL은 ASP 페이지에서 호출되는 ISAPI 확장, 필터 또는 COM 구성 요소입니까? – AnthonyWJones