ASP.NET扩展应用程序没有源代码

时间:2016-05-11 13:11:53

标签: c# asp.net

我需要扩展一些Web应用程序,可能在ASP.NET WebPages中。只需添加一个函数,一个非框架的PHP等价物将上传一些newfunc.php文件

它只有一个问题 - 我没有源代码(试图获得它3个月),只能在webhosting上访问.dll。我可以想象一些解决方案:

  • 创建一个包装器库,它将导出与原始DLL相同的功能+一个新函数
  • 将一些功能注入WebSite.dll(ildasm,添加自己的代码,ilasm甚至直接?)
  • 完全反汇编回C#代码(不知道是否(仍然?)可能,10年后可以用Reflector完成。)
  • 重写整个网站(非常耗时:))

前两个可以揭示路由问题,因为网站路由例程不会知道新的“页面”。我对ASP.NET没有多少经验。

我应该使用哪种解决方案,还是有其他方法可以做到这一点?谢谢!

1 个答案:

答案 0 :(得分:1)

我知道这可能为时已晚,但值得一提的是,这是我的2美分。

只有在使用调试信息构建代码(并且DLL没有被混淆)时,反汇编才有用。

除此之外,我真的依赖于代码结构。这将限制你可以做什么以及你能做什么。

我会做的是这样的事情:

  1. 反编译DLL并查看方法
  2. 确定必须覆盖的方法,并使其可覆盖
  3. 如果课程已密封,请删除该属性
  4. 创建一个继承自您需要扩展的类的类
  5. 覆盖必要的方法并创建新方法
  6. 新方法应该进入新的DLL
  7. 重新编译反汇编的DLL
  8. 根据ASP.NET版本的不同,您可能需要在ASPX文件中更改代码隐藏类以指向新类。

    希望这会有所帮助,你处于一个混乱的状态:)