c# - Server.CreateObject + 服务器上下文 + COM :-)

标签 c# .net asp-classic com

我正在使用 .net 为服务器迁移任务的一些过时组件实现 COM 组件。

旧组件用于接收当前服务器上的图像路径,将其转换为 jpeg 并将转换后的图像保存在同一路径中。

这在 .net 中很简单,但我的主要问题是获取服务器上下文。我不确定如何执行以下任一操作:

  1. 将图像保存到与检索原始图像相同的路径
  2. 或者将图片直接发送到响应流(避免保存转换后的图片)

在类 ASP 页面中调用该组件(是的,不幸的是!)使用:

Server.CreateObject("Component.Class")

在实现 .net 代码中是否有我可以获得对创建组件的 Server 对象的引用?我希望如果我可以获得对服务器的引用,那么我可以获得适当的上下文以写回响应流。

最佳答案

我已经解决了这个问题,获得了互联网和谷歌的一些线索。我想我应该发布这个以防其他人遇到同样的问题。

获取服务器上下文是包括以下引用的问题:

  1. COMSVCLib(在向您的项目添加引用时应该已经在您的 COM 部分中)
  2. 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/

相关文章:

c# - SignalR 未触发 OnDisconnected

c# - 使用 AutoFac 自动绑定(bind)接口(interface)

c# - 如何在 RSA 实例的实例化中使用 Json Web key

c# - .NET 3.5 及更低版本中内联的替代方案

c# - 如何全局声明样式并在 uwp 中的应用程序中使用该样式

使用 MonoTouch .NET 开发 iPhone 应用程序 - 哪个开发环境?

asp-classic - 使用经典 ASP 和 VB 脚本对 ZIP 文件进行 Base64 编码

sql-server - 在经典 asp 中使用 sp_helptext

IIS 7/Pure ASP 文件上传问题

c# 'string.Equals' 返回错误结果?