C# Service Word "There is insufficient memory. Save the document now" -


i writing c# window service run on server (installed office) need convert ms word doc rtf file , load richtextbox, , rtf string , plaintext string db (get plaintext string full text indexing allowing user search)

i used following code perform conversion in service, however, error occurred on line newapp.documents.open "there insufficient memory. save document now"

i've check on server task manager , found winword.exe loading lot of memory (says 60~70 mb) , don't quit (well, exception..... >_<)

i've try same code run in same machine windows form, , got no error. , service set run administrator already.

    private void doc2rtf(object source, object target)     {         //creating instance of word application         word.application newapp = new word.application();          newapp.automationsecurity = microsoft.office.core.msoautomationsecurity.msoautomationsecurityforcedisable;         newapp.displayalerts = word.wdalertlevel.wdalertsnone;          // specifying source & target file names          // use parameter type not known or           // missing          object unknown = type.missing;         object objreadonly = true;         object objfalse = false;         try         {             // source document open here              // additional parameters not known               // set missing type             lw.writelog(logwriter.logtype.debug, "before newapp.documents.open", source.tostring());             newapp.documents.open(ref source, ref unknown,                  ref objreadonly, ref unknown, ref unknown,                  ref unknown, ref unknown, ref unknown,                  ref unknown, ref unknown, ref unknown,                  ref unknown, ref unknown, ref unknown, ref unknown);             lw.writelog(logwriter.logtype.debug, "after newapp.documents.open", source.tostring());             // specifying format in want output file               object format = word.wdsaveformat.wdformatrtf;              //check header footer exists.             lw.writelog(logwriter.logtype.debug, "before newapp.activedocument.saveas", target.tostring());             //changing format of document             newapp.activedocument.saveas(ref target, ref format,                     ref unknown, ref unknown, ref unknown,                     ref unknown, ref unknown, ref unknown,                     ref unknown, ref unknown, ref unknown,                     ref unknown, ref unknown, ref unknown,                     ref unknown, ref unknown);             lw.writelog(logwriter.logtype.debug, "after newapp.activedocument.saveas", target.tostring());         }         catch (exception e)         {             lw.writelog(logwriter.logtype.error, e.message, "doc2rtf");         }                 {             lw.writelog(logwriter.logtype.debug, "before newapp.activedocument.close(", "");             newapp.activedocument.close(ref objfalse, ref unknown, ref unknown);             // closing application             lw.writelog(logwriter.logtype.debug, "after newapp.activedocument.close(", "");              lw.writelog(logwriter.logtype.debug, "before newapp.activedocument.quit(", "");             newapp.quit(ref objfalse, ref unknown, ref unknown);             lw.writelog(logwriter.logtype.debug, "after newapp.activedocument.quit(", "");             newapp = null;              gc.collect();         }     } 

if you're using windows server 2008 (or possibly windows 7), see answer this question. might help.


Comments

Popular posts from this blog

linux - Using a Cron Job to check if my mod_wsgi / apache server is running and restart -

actionscript 3 - TweenLite does not work with object -

jQuery Ajax Render Fragments OR Whole Page -