我正在使用 .net 为服务器迁移任务的一些过时组件实现 COM 组件。
旧组件用于接收当前服务器上的图像路径,将其转换为 jpeg 并将转换后的图像保存在同一路径中。
这在 .net 中很简单,但我的主要问题是获取服务器上下文。我不确定如何执行以下任一操作:
- 将图像保存到与检索原始图像相同的路径
- 或者将图片直接发送到响应流(避免保存转换后的图片)
在类 ASP 页面中调用该组件(是的,不幸的是!)使用:
Server.CreateObject("Component.Class")
在实现 .net 代码中是否有我可以获得对创建组件的 Server
对象的引用?我希望如果我可以获得对服务器的引用,那么我可以获得适当的上下文以写回响应流。
最佳答案
我已经解决了这个问题,获得了互联网和谷歌的一些线索。我想我应该发布这个以防其他人遇到同样的问题。
获取服务器上下文是包括以下引用的问题:
- COMSVCLib(在向您的项目添加引用时应该已经在您的 COM 部分中)
- ASPTypeLibrary:查找:“Microsoft Active Server Pages 对象库”。如果您没有立即在您的 COM 部分看到它,那么您将需要从“windows 程序和功能”中添加它。添加以下功能:Internet 信息服务 -> WWW 服务 -> ASP
解决上述问题是最困难的事情:-)之后,引用您的服务器和其他内部 ASP 对象就非常简单了:
COMSVCSLib.AppServer aspServer = new COMSVCSLib.AppServer();
COMSVCSLib.ObjectContext oc = aspServer.GetObjectContext();
ASPTypeLibrary.Server server = (ASPTypeLibrary.Server)oc["Server"];
您可以对请求和响应等其他 ASP 对象执行相同的操作。
关于c# - Server.CreateObject + 服务器上下文 + COM :-),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39818689/