gpt4 book ai didi

c# - 我可以替换 ASP.NET 页面使用的供应商提供的方法吗?

转载 作者:行者123 更新时间:2023-11-30 18:44:15 25 4
gpt4 key购买 nike

我们的内部 HR 应用程序是由供应商开发的,但我被要求在没有他们帮助的情况下更改某些功能的行为(我不想这样做,但正在调查...... ).有问题的功能是一个 .ashx 页面,它执行大量数据库查找,并通过网页上的 javascript 函数调用。我们想添加一个进一步的数据库查找。

我们可以控制 javascript 代码,所以这不是问题,但是 .ashx 页面的代码保存在已编译的程序集中。我已经找到它的位置,并使用 .Net Reflector 对其进行了调查。如果技术上可行,重新实现所涉及的方法并不困难。

我可以创建一个新程序集,将使用 Reflector 获取的源粘贴到其中,进行修改,将 DLL 添加到应用程序,然后设置一个新的 .ashx 来引用它吗?

我担心无法实现的部分是:

代码引用了其他程序集中的一些供应商类;我可以只在 Visual Studio 中添加对这些程序集的引用以允许它进行编译,然后当它被编译并放在服务器上时它就会全部工作吗?

如果我们通常不会对这个应用程序进行更改,我是否会难以让 Web 应用程序接受新的 DLL?

编辑:一些澄清:我实际上并不打算用我自己的 DLL 替换供应商的 DLL,这听起来有点过头了。相反,我会创建一个新的 DLL,其中只包含我需要的一个函数(基于使用 Reflector 从现有 DLL 中获取的内容)。我需要该代码来引用其他实用程序供应商代码,以便它可以获得访问框架所需的类。我会创建一个全新的 .ashx 页面来提供新 DLL 中的代码。

幸运的是,在这一切之后,我摆脱了困境,因为我的客户同意,事情还没有绝望到让我们尝试这一切!但感谢您的帮助,这绝对有用。

最佳答案

请参阅我对您正在考虑的方法的风险的评论。

我真的不推荐整体方法,但是是的,可以引用您没有源代码的程序集;只需添加对将使用它们的项目的引用。

替换 .ashx 的代码隐藏可能取决于它是否预编译。如果不是,那么我相信替换 BIN 文件夹中的 DLL 应该可以解决问题。 (假设没有其他程序集引用它。)(免责声明:我从未尝试过,我不推荐它。)

关于c# - 我可以替换 ASP.NET 页面使用的供应商提供的方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3118219/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com