Windows service with app.config file

Posted on 2006-03-24
Last Modified: 2012-06-21
Hi Experts,
In my config file i have source path and destination path...
i am using these paths in my windows service to rename files...
if i use the map drives then it works but when i use\somepath then it doesnt work.

Note i have tried to change user account to the accout that has access to the above path...

Need assistance to create a log file so i would now what error is happening and how do i resolve this. below is my config file and code from windows service to rename the destination files
<!-- <add key="FilesPath" value="C:\DestinationFolder\" /> -->  works great with drives specified

 <add key="FilesPath" value="\\\q$\SourceFiles\" />
strfilesPath = ConfigurationSettings.AppSettings.Get("FilesPath")
stroldfilename = (here i get the file name i want to rename)
strNewFilename = stroldfilename + ".dat"
Rename(strfilesPath + stroldFileName, strfilesPath + newFileName)

dont knwo why it is not working when i use ip addres in my config file... can you tell me how to trap the error so i would atleat knwo it is because of the ip address i am entering or there is some problem in the service.
Note: service works file if i use Mapped drive letter
Question by:Junior_Developer
    LVL 21

    Expert Comment

    Rather than guessing, why not install the service on your development box and attach the debugger to it after the service is started.  That way you can step through it and figure out exactly what is wrong.

    In general, you want a try/catch block at the top of your call stack.  If you are using a timer or filewatcher it would be that event handler.  Then in your catch block you can write out the exception description to the event log using something as simple as     Me.EventLog.WriteEntry(ex.Description)

    Author Comment

    this is great i didt not we can step through the windows service...
    can you guide me a little more how would i do that.. i appreciate  it
    LVL 21

    Expert Comment

    With the service running, start your IDE, go to Tools / Debug Processes, turn on the two checkboxes to show you all processes, select your service from the list box, attach, ok and then close.

    The debugger is now running on your service.  Set a breakpoint and you're set.  The only problem with this is you can't easily debug code that runs during the OnStart event because you can't attach fast enough.  If that's the case, let me know and I could explain a work-around.

    Author Comment

    Thanks but i would like to know the work around as my code is in onStart()

    LVL 21

    Accepted Solution

    Windows only waits 30 or 60 seconds for a response from OnStart, so it isn't practical to step through OnStart in a debugger.  I just add a System.Timers.Timer using a short delay and autoreset=false, and then enable the timer in the OnStart.  Then move your OnStart code to be in the timer_elapsed handler.  Add a line at the beginning of the timer_elapsed handler to do a System.Threading.Thread.Sleep( 60000 ), and now when you start the service you have 60 seconds to attach the debugger to your process and set a breakpoint right after the sleep call.

    After your done just comment out the sleep.

    Featured Post

    How your wiki can always stay up-to-date

    Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
    - Increase transparency
    - Onboard new hires faster
    - Access from mobile/offline

    Join & Write a Comment

    Suggested Solutions

    Introduction As chip makers focus on adding processor cores over increasing clock speed, developers need to utilize the features of modern CPUs.  One of the ways we can do this is by implementing parallel algorithms in our software.   One recent…
    It was really hard time for me to get the understanding of Delegates in C#. I went through many websites and articles but I found them very clumsy. After going through those sites, I noted down the points in a easy way so here I am sharing that unde…
    In this sixth video of the Xpdf series, we discuss and demonstrate the PDFtoPNG utility, which converts a multi-page PDF file to separate color, grayscale, or monochrome PNG files, creating one PNG file for each page in the PDF. It does this via a c…
    This video discusses moving either the default database or any database to a new volume.

    733 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    18 Experts available now in Live!

    Get 1:1 Help Now