【问题标题】:screen scraping from TN3270 using Microsoft Host Integration Server 2013 / 2016 and ASP.Net使用 Microsoft Host Integration Server 2013 / 2016 和 ASP.Net 从 TN3270 抓取屏幕
【发布时间】:2016-12-10 06:23:49
【问题描述】:

我们正在尝试开发一个新的网络应用程序,用于从 TN3270 进行屏幕抓取。我们正在使用 Visual Studio 2015 和 HIS 2016。

以下代码用于连接TN3270

        var display = new SessionDisplay();
        var connection = new SessionConnectionDisplay();
        connection.DeviceType = TNDeviceType.IBM3278Model2;
        connection.Transport = SessionDisplayTransport.TN3270;
        connection.TN3270Port = 23;
        connection.TN3270Server = "server name";
        connection.HostCodePage = 37;
        display.Connect(connection);

当我们从控制台或 Windows 应用程序执行代码时,代码运行良好。但是当我们尝试从 Web 应用程序调用时,我收到以下错误:

Microsoft.HostIntegration.SNA.Session.dll 中出现“System.Runtime.InteropServices.COMException”类型的异常,但未在用户代码中处理

附加信息:未注册类(HRESULT 异常:0x80040154 (REGDB_E_CLASSNOTREG))

堆栈跟踪

在 System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)
在 Microsoft.HostIntegration.SNA.Session.SessionConnectionDisplay.CreateSessionConnection()
在 Microsoft.HostIntegration.SNA.Session.SessionConnectionDisplay.ConnectToSessionDisplay(SessionDisplay 连接会话)
在 Microsoft.HostIntegration.SNA.Session.SessionDisplay.Connect(SessionConnectionDisplay 连接)

我将不胜感激。

【问题讨论】:

  • Web 应用程序是在 Visual Studio 中运行,还是在 IIS 上运行?
  • 视觉工作室 2015

标签: c# asp.net


【解决方案1】:

connection.Implementation = ImplementationDetail.ManagedTn;

设置这个属性解决了我的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-16
    • 1970-01-01
    • 1970-01-01
    • 2016-09-28
    • 2014-12-25
    • 1970-01-01
    • 2011-02-20
    相关资源
    最近更新 更多