Overview of ADO.NET Whidbey - PowerPoint PPT Presentation

1 / 28
About This Presentation
Title:

Overview of ADO.NET Whidbey

Description:

Scalable Development, Inc. Building systems today that perform tomorrow. Designing & Building Windows Services with VB.NET Wallace B. McClure Scalable Development, Inc. – PowerPoint PPT presentation

Number of Views:82
Avg rating:3.0/5.0
Slides: 29
Provided by: Wall54
Category:

less

Transcript and Presenter's Notes

Title: Overview of ADO.NET Whidbey


1
Scalable Development, Inc. Building systems today
that perform tomorrow.
Designing BuildingWindows Serviceswith VB.NET
  • Wallace B. McClure
  • Scalable Development, Inc.

2
.NET Experiences
  • PDC 2000 Build (July 2000).
  • Visual Studio 1.0 Beta 1 (November 2000).
  • Book began (January 2001).
  • Visual Studio 1.0 Beta 2 (June 2001).
  • First Production ASP.NET App (July 2001).
  • Production Windows Service (November 2001). Runs
    today.
  • 4 Production Applications by shipment.
  • Multiple running applications.

3
.NET Resources
  • ASP.NET www.asp.net
  • AspAdvice www.aspadvice.com
  • Windows Forms www.windowsforms.net
  • Architecture msdn.microsoft.com/architecture
  • .NET News www.dotnetwire.com

4
What are Windows Services?
  • Applications (Database, Web Server, ).
  • Good for long running / complicated operations.
  • Run all the time.
  • No User Interface.
  • Run within their own security context.
  • Limited access to local resources.
  • Limited access to remote resources.
  • Debugging.
  • Non-interactive.

5
Design Guidelines
  • Consistency.
  • No popup messages.
  • Information/Errors need to be written to
    somewhere.
  • EventLog.
  • Database.
  • Be careful blocking.

6
Types of .NET Applications
  • ASP.NET.
  • Web Services.
  • WinForms.
  • Components.
  • Windows Services.
  • Others.

7
.NET Support for Services
  • System.ServiceProcess namespace.
  • Inherit from the ServiceBase Class.
  • Installation.
  • ServiceController Class Allows communication from
    authorized user (WinForms, ASP.NET, or other) to
    a Service (thru SCM).

8
Languages Support
  • C (Managed Unmanaged).
  • Visual Basic.
  • C.
  • Other .NET Languages.

9
Parts of a .NET Windows Service
  • Service Control Manager (SCM).
  • System.ServiceProcess.ServiceBase class
  • Events.
  • Installation.
  • Process Installation.
  • Service Installation.

10
Events in ServiceBase
  • OnStart().
  • OnStop().
  • OnPause().
  • OnContinue().
  • OnShutdown().
  • OnPowerEvent().
  • OnCustomCommand().

11
OnStart() Event
  • Called when the Service is issued the start
    command.
  • VB SyntaxProtected Overridable Sub OnStart
  • ( _ByVal args() as String )
  • Hard to Debug By Default.

12
Debugging the OnStart() Event
  • Create a dummy service that is a part of your
    process.
  • Start the dummy service to start the process.
  • Attach to running process.
  • Place breakpoint.
  • Start real service.

13
OnStop() Event
  • Called when the Service is issued the stop
    command.
  • Protected Overridable Sub OnStop().

14
OnPause() Event
  • Called when the Service is issued the pause
    command.
  • Protected Overrideable Sub OnPause().

15
OnContinue() Event
  • Called when the Service is issued the continue
    command.
  • Protected Overrideable Sub OnContinue().

16
OnShutdown() Event
  • Called when the System sends the shutdown command
    to all Applications specifying that a system
    shutdown is inprogress.
  • Similar to the OnStop() event.
  • Protected Overrideable Sub OnShutdown().

17
OnPowerEvent() Event
  • Called when the computers power status has
    changed. Typically, this applies to a laptop
    computer when it goes into a suspended state.
  • Not the same as a system shutdown.
  • Protected Overrideable Function OnPowerEvent(
    ByVal powerStatus as PowerBroadcastStatus ) as
    Boolean
  • Boolean return value is a response to a
    QuerySuspend broadcast.
  • True Application is in a state where a suspend
    is ok. False suspend is not ok.
  • PowerBroadcastStatus is an enumertion with 9
    values.

18
OnCustomCommand() Event
  • Executed when a custom command is passed from the
    SCM to the service.
  • Protected Overridable Sub OnCustomCommand( ByVal
    command as Integer )
  • Command values between 128 255.

19
Security Context
  • Service runs within a defined security context
    (UserId/PassWord).
  • What you do not necessarilyhave access to
  • Desktop.
  • Remote Resources.
  • Mapped Drives.
  • What you do have access to
  • Local FileSystem.
  • Network Protocols (TCP/IP, ).
  • Database (ODBC, OleDb, MP).

20
Custom Commands /ServiceController
  • Use the ServiceController class.
  • ExecuteCommand( ByVal command as Integer )
    method.
  • Start, Stop, Pause, Continue.
  • MachineName, ServiceName, Status properties.

21
Installation
  • Each executable must have a process installer.
  • Each service within a process must have a service
    installer.
  • Command line utility (installutil.exe)

22
App.Config
  • XML Format.
  • Excellent for read only information.

23
Great, Now What canYou do with a Service?
  • Listen for events to occur.
  • Network requests.
  • Timer countdown.
  • Messages arriving in a message queue.
  • File system changes.
  • Other.

24
Example
  • Timer.
  • When the Timer counts down to zero, an event
    fires and our application performs an operation.
  • No continual polling occurs, no blocking, and no
    extra processing occurs on the system.

25
Whats Not to Like?
  • Requires the .NET Framework.
  • If a framework exception occurs when the
    framework stops, the Windows Service stops.and
    there is nothing within the framework to restart
    that Windows Service.
  • Problem is rare, but possible. (ODP.NET
    9.2.0.2.100.0 users, problem has been resolved)

26
Monitoring a Windows Service
  • Need something that wont stop.
  • Can do it with .NET and a Console application.
  • Drop back to COM/API.
  • Use WMI Scheduled Tasks.
  • Use ServiceController class.
  • Run every few days/hours/minutes to monitor the
    status of your Service.

27
Things to look at / Last Thoughts
  • Event Processing vs. Blocking.
  • EventLog.
  • Multiple Threads of Execution.
  • Weak References.
  • Performance Monitor Integration.
  • Nothing wrong with Interop.

28
Questions?
Scalable Development, Inc. Building systems today
that perform tomorrow.
  • Scalable Development, Inc.
  • Consulting Development Services.
  • http//www.scalabledevelopment.com
  • 865-693-3004.
  • wallym_at_scalabledevelopment.com

END
Write a Comment
User Comments (0)
About PowerShow.com