2009-06-17 55 views
0

我已经继承了一个预编译的网站,该网站使用在通用处理程序(ashx)中创建的JavaScript。我需要修改js,但我没有源代码,只有预编译的库。目前,我们只是做在ashx的http请求,修改的结果,然后直接将其输出的网站上:编辑预编译的通用处理程序的输出.ashx

<script runat="server"> 
    protected string getJs() 
    { 
     HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri(Request.Url, "/js.ashx")); 
     HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 
     StreamReader sr = new StreamReader(response.GetResponseStream()); 
     return = sr.ReadToEnd().Replace("old stuff", "new stuff"); 
    } 
</script> 

<script type="text/javascript"> 
    <%= getJs() %> 
</script> 

这似乎是这样做的相当迂回的方式。无论如何修改通用处理程序的输出而不请求页面本身?

回答

2

如果您有权访问实际的dll,您可以尝试拆卸预编译的作品。 请参阅converting-il-to-c-code和类似的SO问题。

使用.NET Reflector您可能在js.ashx后面有一个可用的(C#)版本的代码。 此来源可以(希望)略微修改为可直接调用,或更好,以产生所需的Javascript。

相关问题