Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

I trying to develop WebService which main purpose is enable editing data. My Web Service get as param information about records, tables etc. Code looks like below:

IFeatureWorkspace ifw = null;
        IWorkspaceEdit iwep = null;
        try {
            ifw = new IFeatureWorkspaceProxy(new IVersionProxy(currentUserVersion));
            iwep = new IWorkspaceEditProxy(ifw);
            iwep.startEditing(false);
            iwep.startEditOperation();
            performOperation(mergeData, ifw, iwep);
//this method make store on records
        } catch (AutomationException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                iwep.stopEditOperation();
                iwep.stopEditing(true);
 } catch (AutomationException e) {

            } catch (IOException e) {

            }
        }

Everything works fine for one single request, but above code is horrible slow for multirequest for different version. Because different people has own version which is used to editing. I think the most time take startEditOperation and startEditing. Everything starts as capability of MXD file. Anyone can give me a solution how to using soe web services give capablities for editing data which will have a quite good performance?

share|improve this question
1  
Esri suggests using Feature Services to provide editing. Why not use that? –  Kirk Kuykendall Feb 20 '12 at 18:39
    
You have right. But Feature Service currently cannot work with versions. –  yaotzin Feb 20 '12 at 21:39
    
Ok. Maybe someone can explain me, when edit session should be started in SOE Web Services? –  yaotzin Feb 27 '12 at 11:46
1  
Are you sure startedit/stopedit is taking most of the time? My experience is that every store you make on a table takes long time. If your users updates many features at the same time you should use an insert cursor. –  Stefan Mar 28 '12 at 13:39
1  
How do your users call the SOE? Are there many users? If you have only a few users you could maybe dedicate a context for each user already connected to the right version. That may require using non-pooled contexts that the webservice hogs for a long time. –  Stefan Mar 28 '12 at 13:45

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.