【问题标题】:Server.CreateObject + Server Context + COM :-)Server.CreateObject + 服务器上下文 + COM :-)
【发布时间】:2017-02-10 15:15:22
【问题描述】:

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

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

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

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

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

Server.CreateObject("Component.Class")

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

【问题讨论】:

    标签: c# .net asp-classic com


    【解决方案1】:

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

    获取服务器上下文需要包含以下参考:

    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 对象(例如 Request 和 Response)执行相同的操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-08
      • 1970-01-01
      • 2023-03-25
      • 2019-02-16
      • 2015-06-23
      • 2011-11-23
      • 1970-01-01
      • 2018-09-19
      相关资源
      最近更新 更多