C#을 사용하여 AutoCAD 응용 프로그램을 실행하는 것과 관련하여 문제가 발생했습니다. 내가 초급자이기 때문에 대부분의 코드는 그물에서 붙여 넣은 사본입니다.배포 후 Autocad 인스턴스가 생성되지 않음
문제는 런타임에 인스턴스 autocad 인스턴스를 생성하는 C#을 사용하여 웹 응용 프로그램을 개발 중입니다. 모든 것은 개발 서버뿐만 아니라 내 로컬 IIS 서버에서도 잘 처리됩니다. 하지만 난 서버에서 웹 응용 프로그램 (윈도우 서버 8) 내가 아래의 오류
Operation unavailable (Exception from HRESULT: 0x800401E3 (MK_E_UNAVAILABLE))
at System.Runtime.InteropServices.Marshal.GetActiveObject(Guid& rclsid, IntPtr reserved, Object& ppunk)
at System.Runtime.InteropServices.Marshal.GetActiveObject(String progID)
at DQMF.CDQMF.createAacdApplicationInstance(String progID)
내가 때문에 일부 권한 문제로 생각을 얻고을 배포하고시. 내 로컬 컴퓨터의 autocad 인스턴스가 시스템의 권한으로 실행 중이고 서버 (Windows 서버 8)에서 관리 권한으로 (개발 서버로) 실행 중입니다.
AcadApplication createAacdApplicationInstance(string progID)
{
AcadApplication app = null;
try
{
app = (AcadApplication)Marshal.GetActiveObject(progID);
}
catch (Exception e)
{
try
{
Type acType = Type.GetTypeFromProgID(progID);
app = (AcadApplication)Activator.CreateInstance(acType, true);
app.Visible = false;
app.Width = 1;
app.Height = 1;
app.WindowState = AutoCAD.AcWindowState.acMin;
app.Visible = false;
}
catch (Exception ex)
{
//File.AppendAllText("D:/test/DQMS_log.txt", ex.Message+" progID is: "+progID+Environment.NewLine+"app caption: "+app.Caption);
}
}
return app;
}
당신은 ASP.NET 프로세스가 별도의 계정에서 실행되며 완전히 다른 실행중인 개체 테이블 (ROT)을 가지고 있기 때문에 내가