We help IT Professionals succeed at work.

We've partnered with Certified Experts, Carl Webster and Richard Faulkner, to bring you a podcast all about Citrix Workspace, moving to the cloud, and analytics & intelligence. Episode 2 coming soon!Listen Now

x

Windows service with app.config file

Junior_Developer
on
Medium Priority
5,656 Views
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 90.xxx.xxx.xx\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
CONFIG FILE
<!-- <add key="FilesPath" value="C:\DestinationFolder\" /> -->  works great with drives specified

 <add key="FilesPath" value="\\90.xxx.xxx.xx\q$\SourceFiles\" />
       
WINDOWS SERIVICE. (in short)
strfilesPath = ConfigurationSettings.AppSettings.Get("FilesPath")
stroldfilename = (here i get the file name i want to rename)
strNewFilename = stroldfilename + ".dat"
'RENAMING FILE
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
Comment
Watch Question

Commented:
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

Commented:
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

Commented:
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

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

Commented:
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.

Not the solution you were looking for? Getting a personalized solution is easy.

Ask the Experts
Access more of Experts Exchange with a free account
Thanks for using Experts Exchange.

Create a free account to continue.

Limited access with a free account allows you to:

  • View three pieces of content (articles, solutions, posts, and videos)
  • Ask the experts questions (counted toward content limit)
  • Customize your dashboard and profile

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.