我正在使用OPC服務器編寫XML AJAX服務。基於this示例的XML AJAX服務。 我做了我的服務有一個屬性:已與其基礎RCW分離的COM對象無法使用
[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)]
而且下一步我創建類的析:
~BoilerService()
{
try
{
ReadTimer.Dispose();
group.ReadCompleted -= new ReadCompleteEventHandler(group_ReadCompleted);
group.Remove(true);
server.Disconnect();
}
catch (Exception e)
{
System.IO.StreamWriter sw = new System.IO.StreamWriter("log.txt", true);
sw.WriteLine(DateTime.Now.ToString() +e.Message+ " "+ e.Source+" "+e.StackTrace + " destructor called.");
sw.Close();
sw.Dispose();
}
}
但是,當我重建我的解決方案在VS(替換應用程序路徑文件)我獲取wp3.exe未處理的異常錯誤窗口(Windows 7)。在Windows事件日誌中,我看到以下文本:
Exception: System.Runtime.InteropServices.InvalidComObjectException
Message: COM object that has been separated from its underlying RCW cannot be used.
StackTrace: at System.StubHelpers.StubHelpers.GetCOMIPFromRCW(Object objSrc, IntPtr pCPCMD, Boolean& pfNeedsRelease)
at OPC.Data.Interface.IOPCServer.RemoveGroup(Int32 hServerGroup, Boolean bForce)
at OPC.Data.OpcGroup.Remove(Boolean bForce)
at OPC.Data.OpcGroup.Finalize()
我做錯了什麼?
和VS 2010人提出警告: 1 'System.Runtime.InteropServices.UCOMIEnumString' 已過時:「使用System.Runtime.InteropServices.ComTypes.IEnumString代替。 http://go.microsoft.com/fwlink/?linkid=14202'。 2.'System.Runtime.InteropServices.UCOMIConnectionPointContainer'已過時:'改爲使用System.Runtime.InteropServices.ComTypes.IConnectionPointContainer。 http://go.microsoft.com/fwlink/?linkid=14202'
可能是因爲此警告而出現此錯誤?
如果您想添加更多信息,請編輯您的問題,或在您收到的答案下使用評論設施來討論具體的答案。答案字段僅供參考,回答這個問題,不討論。 –