<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Check For Open Edit Session On A Feature Class in ArcObjects SDK Questions</title>
    <link>https://community.esri.com/t5/arcobjects-sdk-questions/check-for-open-edit-session-on-a-feature-class/m-p/273390#M6980</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Original User: jflorey&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi All,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;A new wrinkle to this problem.&amp;nbsp; ArcMap will still allow a user to edit features in a feature class, even when my process is running.&amp;nbsp; So here is what I have tested:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Start editing in ArcMap and start my process against the same version:&amp;nbsp; My process fails because it can't acquire a lock.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Start my process, start a second run of my process against the same version:&amp;nbsp; My process fails because it can't acquire a lock.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Start my process, start editing in ArcMap against the same version of the data:&amp;nbsp; ArcMap lets the edit session start and successfully saves changes to the data.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is the code that my process uses to acquire the version lock:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;snip&amp;gt; Code that checks for existing locks&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;// _args.GisWorkspace is an IWorkspace object&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; versionedEdit = _args.GisWorkspace as IMultiuserWorkspaceEdit;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!Equals(null, versionedEdit))&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (versionedEdit.SupportsMultiuserEditSessionMode(esriMultiuserEditSessionMode.esriMESMVersioned))&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; versionedEdit.StartMultiuserEditing(esriMultiuserEditSessionMode.esriMESMVersioned);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; versionedEdit.StartMultiuserEditing(esriMultiuserEditSessionMode.esriMESMNonVersioned);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;snip&amp;gt; the rest of the process &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks again for any help provided.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Jay Florey&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Software Engineer&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 26 Jun 2012 14:41:53 GMT</pubDate>
    <dc:creator>Anonymous User</dc:creator>
    <dc:date>2012-06-26T14:41:53Z</dc:date>
    <item>
      <title>Check For Open Edit Session On A Feature Class</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/check-for-open-edit-session-on-a-feature-class/m-p/273389#M6979</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Original User: jflorey&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi All,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I hope someone can help.&amp;nbsp; I've been searching the forums most of the afternoon without success.&amp;nbsp; I am writing a stand alone application in C# and ArcObjects that updates an asset management system from a single feature class in a geodatabase, and a single feature class in a geodatabase from an asset management system.&amp;nbsp; One of the requirements of the application is that the user can have multiple instances running concurrently.&amp;nbsp; Users are not supposed to run multiple instances against the same source feature class or SDE version, but I have to enforce that restriction by checking to see if the feature class source is being edited.&amp;nbsp; For SDE geodatabases, I have implemented a check of the IVersionLockInfo and that works.&amp;nbsp; For personal geodatabases, I have a not very elegant solution that simply tries to call IWorkspaceEdit StartEditing and then catches the error when it fails.&amp;nbsp; I have not found a solution for either shapefiles or file geodatabases.&amp;nbsp; StartEditing will not throw an error, even when I have started editing the same shapefile or file geodatabase inside ArcMap.&amp;nbsp; There must be a way to find out because if I open two maps on different machines, point them to the same data source and start editing on one machine, when I try to start editing on the other machine it fails, and tells me the data is already locked by another user.&amp;nbsp; If I fire up my application and try to start editing in ArcMap against the same data source, that attempt to start editing will also fail.&amp;nbsp; I've tried checking both IWorkspaceEditor.IsBeingEdited and IDatasetEdit.IsBeingEdited but neither property returns true even when I know I've started editing the geodatabase inside ArcMap.&amp;nbsp; I've also tried checking the ISchemaLock but that returns locks for all users, even if the user has not started an edit session.&amp;nbsp; Any assistance will be greatly appreciated.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Jay Florey&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Software Engineer&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 Jun 2012 22:24:59 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/check-for-open-edit-session-on-a-feature-class/m-p/273389#M6979</guid>
      <dc:creator>Anonymous User</dc:creator>
      <dc:date>2012-06-22T22:24:59Z</dc:date>
    </item>
    <item>
      <title>Re: Check For Open Edit Session On A Feature Class</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/check-for-open-edit-session-on-a-feature-class/m-p/273390#M6980</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Original User: jflorey&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi All,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;A new wrinkle to this problem.&amp;nbsp; ArcMap will still allow a user to edit features in a feature class, even when my process is running.&amp;nbsp; So here is what I have tested:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Start editing in ArcMap and start my process against the same version:&amp;nbsp; My process fails because it can't acquire a lock.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Start my process, start a second run of my process against the same version:&amp;nbsp; My process fails because it can't acquire a lock.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Start my process, start editing in ArcMap against the same version of the data:&amp;nbsp; ArcMap lets the edit session start and successfully saves changes to the data.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is the code that my process uses to acquire the version lock:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;snip&amp;gt; Code that checks for existing locks&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;// _args.GisWorkspace is an IWorkspace object&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; versionedEdit = _args.GisWorkspace as IMultiuserWorkspaceEdit;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!Equals(null, versionedEdit))&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (versionedEdit.SupportsMultiuserEditSessionMode(esriMultiuserEditSessionMode.esriMESMVersioned))&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; versionedEdit.StartMultiuserEditing(esriMultiuserEditSessionMode.esriMESMVersioned);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; versionedEdit.StartMultiuserEditing(esriMultiuserEditSessionMode.esriMESMNonVersioned);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;snip&amp;gt; the rest of the process &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks again for any help provided.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Jay Florey&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Software Engineer&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Jun 2012 14:41:53 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/check-for-open-edit-session-on-a-feature-class/m-p/273390#M6980</guid>
      <dc:creator>Anonymous User</dc:creator>
      <dc:date>2012-06-26T14:41:53Z</dc:date>
    </item>
  </channel>
</rss>

