2016-12-06 62 views
0

我們正在嘗試爲TN3270的屏幕抓取開發新的Web應用程序。我們使用Visual Studio 2015年和2016年HIS使用Microsoft主機集成服務器2013/2016和ASP.Net從TN3270屏幕抓取

下面的代碼寫入到連接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應用程序調用,我發現了以下錯誤:

An exception of type 'System.Runtime.InteropServices.COMException' occurred in Microsoft.HostIntegration.SNA.Session.dll but was not handled in user code

Additional information: Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))

堆棧跟蹤

at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)
at Microsoft.HostIntegration.SNA.Session.SessionConnectionDisplay.CreateSessionConnection()
at Microsoft.HostIntegration.SNA.Session.SessionConnectionDisplay.ConnectToSessionDisplay(SessionDisplay connectedSession)
at Microsoft.HostIntegration.SNA.Session.SessionDisplay.Connect(SessionConnectionDisplay connection)

我將不勝感激任何幫助。

+0

Web應用程序是否在Visual Studio或IIS上運行? –

+0

Visual studio 2015 –

回答

0

connection.Implementation = ImplementationDetail.ManagedTn;

設置此屬性解決了我的問題。