问题
当一个要素类参与了一个拓扑(或Geometry Network)之后,对该要素类执行创建要素、修改要素图形或属性时,可能会出现这个异常:"Objects in this class cannot be updated outside an edit session"
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
Public Function InitializeApplication() As Boolean
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
'……
licenseStatus = CheckOutLicenses(esriLicenseProductCode.esriLicenseProductCodeEngineGeoDB)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
licenseStatus = CheckOutLicenses(esriLicenseProductCode.esriLicenseProductCodeEngine)
'……
End Function
当一个要素类参与了一个拓扑(或Geometry Network)之后,对该要素类执行创建要素、修改要素图形或属性时,可能会出现这个异常:"Objects in this class cannot be updated outside an edit session"
'pFeatureLayer:参与拓扑的要素类的图层
'pGeo:为新建要素关联的图形
'StartEditOperation
Try
Dim pFeat As IFeature = pFeatureLayer.FeatureClass.CreateFeature ——此句引发异常
pFeat.Shape = pGeo
pFeat.Store()![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
'StopEditOperation()
Catch ex As Exception
'AbortEditOperation()
End Try
'pGeo:为新建要素关联的图形
'StartEditOperation
Try
Dim pFeat As IFeature = pFeatureLayer.FeatureClass.CreateFeature ——此句引发异常
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
Catch ex As Exception
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
原因
这是由于
ArcEngine应用程序中使用的License权限不足引起的。在ArcEngine
应用程序里面通过ArcSDE进行编辑需要License"ArcGIS Engine Enterprise
Geodatabase",或ArcEditor或ArcInfo。
解决办法
在ArcEngine应用程序的LicenseInitializer.InitializeApplication中,为程序增加Geodatabase的编辑权限。
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)