See how cloud templates provide default diagnostic monitoring setup.

Size: px
Start display at page:

Download "See how cloud templates provide default diagnostic monitoring setup."

Transcription

1 Lab Exercise Diagnostics Even the best applications run into difficulties. Tracking down issues and solving problems is never easy, but without diagnostic and log information, it is almost impossible. In this lab, you explore how to make entries in trace logs. You also explore how to capture diagnostic information and move that data to Windows Azure Storage. Since you do not always have direct access to the machines on which your cloud application runs, you need to have the Windows Azure Diagnostic Service move the data to Windows Azure Storage for you. This can be accomplished on a scheduled, periodic basis or it can be performed ondemand. You try both transfer types in this lab. Specifically, in this lab you will: See how cloud templates provide default diagnostic monitoring setup. Add trace statements to cloud code. Learn how to schedule diagnostic data to be transferred to Windows Azure Storage. Learn how to perform an on-demand transfer of diagnostic data to storage. Lab solution folder: D\WindowsAzure\LabA-DiagnosticsLab\L\End D is your installation drive and labs root directory example: C:\labfiles. Ask your instructor for the location for your class setup. L is your language of choice either C# or VB (for Visual Basic). 1

2 Scenario The WhereAreYou cloud-based geography quiz game is ready to go. You have a working game and the administrative tools to help keep it up and running with new questions as needed. Before publishing the final version to the cloud, you want to make sure your application tracks and supplies you with logging and diagnostic information to help you understand the health and welfare of the application. First, add some trace statements to your application to log what the application is doing at critical application junctures. Next, you need to configure the diagnostic agent to capture logs and other critical diagnostic data you think you might need to monitor the status of your application, and to fix issues when the application is not operating correctly. Lastly, you need to have the Diagnostic Monitor service move the diagnostic data collected to Windows Azure Storage. In this lab, you add a little trace code and configure your application to collect a few performance statistics apart from the logs automatically collected by default. You also use the Diagnostic Service in Windows Azure to move the collected data to Windows Azure Storage. In a real world application, adding the appropriate trace statements and figuring out what data you need for health status and issue determination could be a larger undertaking. Step 1: Start VS and Open the WhereAreYou solution. If you already have VS open and were able to complete the last lab, you can skip this step (go to step 2). 1.1 Unless already open, start VS Remember, you must run VS as an administrator. 1.2 If you completed the last lab, open the WhereAreYou solution Open the solution file for WhereAreYou. In VS, select File from the menu bar. In the resulting menu, select Open > Project/Solution. 2

3 1.2.2 In the Open Project window, open the WhereAreYou.sln file. Assuming you used the default location, you should find the project solution in D\Projects Now go to step 2 to continue the lab. 3

4 1.3 If you did not complete the last lab, copy and use the solution to the last lab before starting this lab Copy the contents of D\WindowsAzure\Lab11-SQLAzureIntroLab\L\End to your D\Projects folder (or wherever you created your projects folder) When you paste, confirm you want existing files replaced in the directory. Note: This will destroy your existing files. If you wish to keep your existing work from the last lab, copy your project folder to a different directory before replacing its contents. 4

5 1.3.3 Open the solution file for WhereAreYou. On the VS menu bar, select File. In VS, select File from the menu bar. In the resulting menu, select Open > Project/Solution In the Open Project window, open the WhereAreYou.sln file. 5

6 Step 2: Explore Default Diagnostic Service Configuration By default, when you create a Web or worker role project using the Windows Azure templates, the diagnostic service is already partially configured. 2.1 See where the Trace Listener is established Open the Web.config and/or app.config for any Web role or worker role project by double clicking on the file in the Solution Explorer. 6

7 2.1.2 In this file, find the <system.diagnostics> entry as shown below (both Web.config and app.config have the element, although it should be considerably easier to find in the app.config file as it will likely be the only entry). The entry establishes the trace listener for the diagnostic monitor. <system.diagnostics> <trace> <listeners> <add type= "Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version= , Culture=neutral, PublicKeyToken=31bf3856ad364e35" name="azurediagnostics"> <filter type="" /> </add> </listeners> </trace> </system.diagnostics> Double click on any of the projects listed under Roles in the WhereAreYou Cloud project to open the project s configuration GUI editor. 7

8 2.1.4 On the Configuration tab, note that each role as diagnostics enabled by default. Also note that diagnostic results are to be stored in development storage by default Switch to the Settings Tab Notice that the Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString configuration setting has been set up to use development storage in each project by default. Modify the setting when it is time to move the project into the Windows Azure cloud to use the Azure Storage account of your choice. 8

9 Step 3: See DiagnosticsAgent Running The DiagnosticsAgent process collects diagnostic data to a local buffer. 3.1 Start debugging the application. As you did in the previous labs, start the project in the Compute Emulator by pressing F Open a Windows Task Manager and find DiagnosticsAgent processes To start the Task Manager, right click on the Toolbar at the bottom of the Windows screen and select Start Task Manager. 9

10 3.2.2 Locate the DiagnosticsAgent.exe processes that are running. There should be one process running for each role instance running. In the example below, one instance of each of the roles (WhereAreYouWebRole, AdminWebRole, and StoreContestantWorkerRole) are running, and therefore there are 3 instances of DiagnosticsAgent.exe running. 3.3 Stop debugging to begin the next steps of the lab. 10

11 Step 4: Add Trace Statements to Worker Role 4.1 Open the WorkerRole class and explore existing trace statements Open WorkerRole.cs (or WorkerRole.vb for VB) in the StoreContestantWorkerRole project by double clicking on the file in the Solution Explorer Notice, by default, the Run( ) method of a worker role already contains two trace statements. One statement logs the fact that the worker role has been started and the other statement logs entering the loops of the infinite loop. public override void Run() Trace.WriteLine("StoreContestantWorkerRole entry point called", "Information"); while (true) Thread.Sleep(10000); Trace.WriteLine("Working", "Information"); this.processcontestantresults(); 11

12 4.2 Add code to start the diagnostic monitor. In the OnStart( ) method, call to start the DiagnosticMonitor. Use the diagnostics connection string defined in the role s settings to start the monitoring. Note: If you do not wish to add this code manually, you can copy and paste the code from the file available at D\WindowsAzure\LabA-DiagnosticsLab\L\Begin. For C# public override bool OnStart() // Set the maximum number of concurrent connections ServicePointManager.DefaultConnectionLimit = 12; DiagnosticMonitor.Start( "Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString"); // For information on handling configuration changes // see the MSDN topic at // SetupConfigurationPublisher(); return base.onstart(); For VB Public Overrides Function OnStart() As Boolean ' Set the maximum number of concurrent connections ServicePointManager.DefaultConnectionLimit = 12 DiagnosticMonitor.Start( _ "Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString") ' For information on handling configuration changes ' see the MSDN topic at ' Me.SetupConfigurationPublisher() Return MyBase.OnStart() End Function 12

13 4.3 Add trace statements. In order to better explore the diagnostic service, add some trace statements to methods of the worker role in the StoreContestantWorkerRole project Add trace calls (Trace.WriteLine or Trace.TraceInformation) to methods in the Method to add a Trace OnStart CreateAndSaveContestant ProcessContestantResults For C# For VB worker role to provide information and visibility into what the worker role is doing. You can add them anywhere, but here is a list of recommended places to log. Reason Log that the worker role has started. Log that a new contestant record has been created and saved (possibly even log the contestant information). Log the number of messages found in the queue that are about to be processed As an example, here is the CreateAndSaveContestant method with added Trace statements. private void CreateAndSaveContestant(string messagedata) Contestant contestant = new Contestant(messageData); ContestantDataSource.Add(contestant); Trace.TraceInformation("Contestant record saved: " + contestant.tostring()); Private Sub CreateAndSaveContestant(ByVal messagedata As String) Dim contestant As New Contestant(messageData) ContestantDataSource.Add(contestant) Trace.TraceInformation("Contestant record saved: " + contestant.tostring) End Sub Save the file after adding your trace statements (Control-S). 13

14 Step 5: Test the Worker Role and Examine the Trace Log 5.1 Start debugging the application. As you did in the previous labs, start the project in the Computer Emulator by pressing F See the worker role running via the Compute Emulator UI Right click on the Compute Emulator UI icon in the System Tray Select Show Compute Emulator UI from the resulting menu When the Compute Emulator window opens, note the three roles (2 Web roles and one worker role) you now have running. 14

15 5.2.4 Click on the #0 instance of the StoreContestantWorkerRole. This causes the trace log for the role to enlarge so that you can read it. In the trace log, find the output for logging you added to your code. You may have to play the WhereAreYou game a couple of times to see all the log entries show up in the trace logs. Step 6: Configure the Diagnostic Monitor By default, the diagnostic service collects Windows Azure Trace Logs, IIS Logs (for Web roles) and Windows Azure Diagnostic Infrastructure Logs. As you learned, the service can collect even more data. For example, you can collect Windows Event logs or IIS Failed Request logs. For example sake, say that your project manager came to you and wants to present information on how well things are going on the WhereAreYou game site. You decide to use the diagnostic service to collect some performance statistics. In this case, you decide to capture the total number of requests (ASP.NET requests) of the site and the average time it takes to respond to each request. In addition to telling Windows Azure what additional data you want collected, you must also tell the diagnostic service that you would like the data put in Windows Azure Storage. Configure the service to offload the performance counter data to Windows Azure Storage every couple of minutes. 15

16 6.1 Add code to collect performance statistics Open WebRole class of the WhereAreYouWebRole by double clicking on the file in the Solution Explorer. 16

17 6.1.2 Add code to the top of the OnStart( ) method to create a new DiagnosticMonitorConfiguration object. Use the configuration object to designate to the diagnostic service that you want two new performance counters collected. Namely, you want to collect ASP.NET requests (\ASP.NET Applications( Total )\Requests Total ) and average time per ASP.NET request (\ASP.NET Applications( Total )\Requests/Sec). For C# For VB Note: If you do not wish to add this code manually, you can copy and paste the code from the file available at D\WindowsAzure\LabA-DiagnosticsLab\L\Begin. DiagnosticMonitorConfiguration diagconfig = DiagnosticMonitor.GetDefaultInitialConfiguration(); PerformanceCounterConfiguration totalrequestsconfig = new PerformanceCounterConfiguration(); totalrequestsconfig.counterspecifier Applications( Total )\Requests Total"; totalrequestsconfig.samplerate = TimeSpan.FromSeconds(30.0); diagconfig.performancecounters.datasources.add(totalrequestsconfig); PerformanceCounterConfiguration requesttimeconfig = new PerformanceCounterConfiguration(); requesttimeconfig.counterspecifier Applications( Total )\Requests/Sec"; requesttimeconfig.samplerate = TimeSpan.FromSeconds(30.0); diagconfig.performancecounters.datasources.add(requesttimeconfig); Dim diagconfig As DiagnosticMonitorConfiguration = DiagnosticMonitor.GetDefaultInitialConfiguration() Dim totalrequestsconfig As New PerformanceCounterConfiguration() totalrequestsconfig.counterspecifier = "\ASP.NET Applications( Total )\Requests Total" totalrequestsconfig.samplerate = TimeSpan.FromSeconds(30.0) diagconfig.performancecounters.datasources.add(totalrequestsconfig) Dim requesttimeconfig As New PerformanceCounterConfiguration() requesttimeconfig.counterspecifier = "\ASP.NET Applications( Total )\Requests/Sec" requesttimeconfig.samplerate = TimeSpan.FromSeconds(30.0) diagconfig.performancecounters.datasources.add(requesttimeconfig) In this case, you are requesting the two performance counters be collected every 30 seconds. 17

18 For C# For VB Right below the code you just added, inform the diagnostic service that you would like the performance data moved to Windows Azure Storage every two minutes. diagconfig.performancecounters.scheduledtransferperiod = TimeSpan.FromMinutes(2.0); For C# For VB diagconfig.performancecounters.scheduledtransferperiod = TimeSpan.FromMinutes(2.0) Add the call to start the diagnostic monitor. Pass the configuration object (now holding the perf counters and scheduled transfer settings) as a parameter into the DiagnosticMonitor.Start( ) method call located in the OnStart( ) method. DiagnosticMonitor.Start( "Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString", diagconfig); DiagnosticMonitor.Start("Microsoft.WindowsAzure.Plugins.Diagnostics.Co nnectionstring", diagconfig) 6.2 Save the WebRole class (Control-s). Step 7: Test Peformance Counter Capture 7.1 Start debugging the application. As you did in the previous labs, start the project in the Compute Emulator by pressing F Play the WhereAreYou game a few times in order to build up some hits on the ASP.NET site. Remember, you set the schedule transfer of performance data to occur every two minutes. So you need to take some time playing before the first transfer occurs. 18

19 Step 8: Use Windows Azure MMC to Explore the Storage Emulator After two minutes, explore the Storage Emulator. You should find a new table (WADPerformanceCountersTable) has been automatically created for you. 8.1 Start and connect Windows Azure MMC to the Storage Emulator Using Windows Explorer, browse to the location of your Windows Azure MMC installation (probably C:\WindowsAzureMMC\release). Locate the WindowsAzureMmc.msc file in this directory and double click on it to start the tool After the tool starts and the WindowsAzureMmc window displays, click on the little arrow next to the Windows Azure Management option in the left-hand pane to expand it. 19

20 8.1.3 This displays Service Management, Storage Explorer and Operations queue items Right click on the Storage Explorer item and select Connect Local from the resulting menu to have the console connect to your local Storage Emulator As a result of this action, the Storage Explorer item should change to devstoreaccount1 and if you expand the item, you should see BLOB Containers, Queues, and Tables as child items. 20

21 8.2 Explore the tables In the Windows Azure Mmc window, click on the Tables item under devstoreaccount1. A Tables pane appears listing the tables in your Storage Emulator. Find the WADPerformanceCountersTable listed in the panel Double click on the WADPerformanceCountersTable in the panel. A list of records displays in the bottom panel Explore the contents of the table. You should find several records for the total number of requests and total requests per second. Recall that the configuration indicated the sampling rate was for 30 seconds. So each record represents a 30- second span of performance measuring. 21

22 8.3 Stop debugging in order to continue with the next step in the lab. Step 9: Make an On-Demand request for Worker Role Data You added trace statements to the StoreContestantWorkerRole in step 6 above. Currently, however, the data is collected by the diagnostics agent and stored into a local buffer. However, the data is never moved to Windows Azure Storage. Add code to the AdminWebRole project to request the StoreContestantWorkerRole diagnostic data be moved to Windows Azure Storage in an on-demand fashion. 9.1 Configure the Web role to use a new queue. Add a new queue name to be used by the diagnostic manager for on-demand transfer completion Double click on the AdminWebRole listed under Roles in the WhereAreYou Cloud project (see below) to open the project s configuration GUI editor In the resulting GUI editor, select the Settings tab. On this tab, push the Add Setting button. 22

23 9.1.3 In the line that opens: add OnDemandTransferCompleteQueue as the name of your new configuration setting, set its type to String, and set the value to ondemandcompletedqueue Save the configuration settings for AdminWebRole (Control-S). 9.2 Add a button to the Admin Console to trigger the on-demand request Open Default.aspx in the AdminWebRole project by double clicking on the file in the Solution Explorer. 23

24 9.2.2 Add a button at the bottom of the screen (right after the table for question data entry). This button triggers the diagnostic manager to start the transfer of data from a local buffer to Windows Azure Storage. Note: If you do not wish to add this code manually, you can copy and paste the code from the Default.aspx file available at D\WindowsAzure\LabA-DiagnosticsLab\L\Begin.... </table> </p> <p> <asp:button ID="StartOnDemandTransferButton" runat="server" Text="Start Worker Role Data Transfer" OnClick="StartOnDemandTransferButton_Click" /> </p> </asp:content> Right after the button, add a script manager and timer to trigger the end of the transfer. Note: Recall that an on-demand transfer is an asynchronous process. Therefore, something must eventually call and end the transfer after the data has been successfully moved to storage. A timer will be used here to call a method that periodically checks the notification queue for messages indicating a transfer is complete. While using a Web page timer is sufficient for the lab, a worker role or other process may be a more appropriate place to trigger the end of the transfer. <p> <asp:button ID="StartOnDemandTransferButton" runat="server" Text="Start Worker Role Data Transfer" OnClick="StartOnDemandTransferButton_Click" /> <asp:scriptmanager ID="ScriptManager1" runat="server"> </asp:scriptmanager> <asp:timer ID="OnDemandTransferEndTimer" runat="server" ontick="ondemandtransferendtimer_tick"> </asp:timer> </p> Save the Default.aspx file (Control-S). 24

25 9.3 Add functionality to the code-behind file to start and end the on-demand transfer Open the Default.aspx.cs (or Default.aspx.vb in VB) code behind file in the AdminWebRole project by double clicking on the file in the Solution Explorer. 25

26 9.3.2 Add the StartOnDemandTransferButton_Click method to kick off the on-demand transfer of 2 minutes of StoreContestantWorkerRole log data when the user pushes the StartOnDemandTransferButton on the Admin Console. For C# Note: If you do not wish to add this code manually, you can copy and paste the code from the file available at D\WindowsAzure\LabA-DiagnosticsLab\L\Begin. protected void StartOnDemandTransferButton_Click(object sender, EventArgs e) System.Diagnostics.Trace.TraceInformation( "Start on demand transfer of log data"); DeploymentDiagnosticManager deploymentmanager = new DeploymentDiagnosticManager(RoleEnvironment. GetConfigurationSettingValue( "Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString"), RoleEnvironment.DeploymentId); IEnumerable<RoleInstanceDiagnosticManager> rolemananagers = deploymentmanager.getroleinstancediagnosticmanagersforrole( "StoreContestantWorkerRole"); DataBufferName datasource = DataBufferName.Logs; OnDemandTransferOptions transferoptions = new OnDemandTransferOptions(); transferoptions.from = DateTime.UtcNow - TimeSpan.FromMinutes(2.0); transferoptions.to = DateTime.UtcNow; string queuename = RoleEnvironment.GetConfigurationSettingValue( "OnDemandTransferCompleteQueue"); transferoptions.notificationqueuename = queuename; foreach (RoleInstanceDiagnosticManager agent in rolemananagers) //make sure the agent does not have active transfers going on. if (agent.getactivetransfers().count <= 0) System.Diagnostics.Trace.TraceInformation("Begin on-demand transfer of data from StoreContestantWorkerRole instance - " + agent.roleinstanceid); agent.beginondemandtransfer(datasource, transferoptions); 26

27 For VB Protected Sub StartOnDemandTransferButton_Click(ByVal sender As Object, ByVal e As EventArgs) System.Diagnostics.Trace.TraceInformation("Start on demand transfer of log data") Dim deploymentmanager As New DeploymentDiagnosticManager(RoleEnvironment.GetConfigurationSettingVal ue("microsoft.windowsazure.plugins.diagnostics.connectionstring"), RoleEnvironment.DeploymentId) Dim rolemananagers As IEnumerable(Of RoleInstanceDiagnosticManager) = deploymentmanager.getroleinstancediagnosticmanagersforrole("storeconte stantworkerrole") Dim datasource As DataBufferName = DataBufferName.Logs Dim transferoptions As New OnDemandTransferOptions() transferoptions.from = DateTime.UtcNow - TimeSpan.FromMinutes(2.0) transferoptions.[to] = DateTime.UtcNow Dim queuename As String = RoleEnvironment.GetConfigurationSettingValue("OnDemandTransferComplete Queue") transferoptions.notificationqueuename = queuename For Each agent As RoleInstanceDiagnosticManager In rolemananagers 'make sure the agent does not have active transfers going on. If agent.getactivetransfers().count <= 0 Then System.Diagnostics.Trace.TraceInformation("Begin on-demand transfer of data from StoreContestantWorkerRole instance - " + agent.roleinstanceid) agent.beginondemandtransfer(datasource, transferoptions) End If Next End Sub 27

28 9.3.3 Add a method, called by the Timer, that checks for messages in the notification queue. Finding a message, it creates an OnDemandTransferInfo object from the message. The OnDemandTransferInfo object provides the details necessary to get a RoleInstanceDiagnosticManager to end the transfer. For C# Note: Again, if you do not wish to add this code manually, you can copy and paste the code from the file available at D\WindowsAzure\LabA-DiagnosticsLab\L\Begin. protected void OnDemandTransferEndTimer_Tick( object sender, EventArgs e) System.Diagnostics.Trace.TraceInformation("End on-demand transfer"); CloudStorageAccount storageaccount = CloudStorageAccount. FromConfigurationSetting( "Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString"); CloudQueueClient queueclient = storageaccount.createcloudqueueclient(); string queuename = RoleEnvironment. GetConfigurationSettingValue("OnDemandTransferCompleteQueue"); CloudQueue queue = queueclient.getqueuereference(queuename); queue.createifnotexist(); CloudQueueMessage message; while ((message = queue.getmessage())!= null) OnDemandTransferInfo transferinfo = OnDemandTransferInfo.FromQueueMessage(message); string deploymentid = transferinfo.deploymentid; Guid requestguid = transferinfo.requestid; string roleinstanceid = transferinfo.roleinstanceid; string rolename = transferinfo.rolename; RoleInstanceDiagnosticManager roleinstancediagnosticmanager = storageaccount.createroleinstancediagnosticmanager(deploymentid, rolename, roleinstanceid); System.Diagnostics.Trace.TraceInformation("End on-demand transfer of data from StoreContestantWorkerRole instance - " + roleinstanceid); roleinstancediagnosticmanager.endondemandtransfer(requestguid); queue.deletemessage(message); 28

29 For VB For C# Protected Sub OnDemandTransferEndTimer_Tick(ByVal sender As Object, ByVal e As EventArgs) System.Diagnostics.Trace.TraceInformation("End on-demand transfer") Dim storageaccount As CloudStorageAccount = CloudStorageAccount.FromConfigurationSetting("Microsoft.WindowsAzure.P lugins.diagnostics.connectionstring") Dim queueclient As CloudQueueClient = storageaccount.createcloudqueueclient() Dim queuename As String = RoleEnvironment.GetConfigurationSettingValue("OnDemandTransferComplete Queue") Dim queue As CloudQueue = queueclient.getqueuereference(queuename) queue.createifnotexist() Dim message As CloudQueueMessage = queue.getmessage() While message IsNot Nothing Dim transferinfo As OnDemandTransferInfo = OnDemandTransferInfo.FromQueueMessage(message) Dim deploymentid As String = transferinfo.deploymentid Dim requestguid As Guid = transferinfo.requestid Dim roleinstanceid As String = transferinfo.roleinstanceid Dim rolename As String = transferinfo.rolename Dim roleinstancediagnosticmanager As RoleInstanceDiagnosticManager = storageaccount.createroleinstancediagnosticmanager(deploymentid, rolename, roleinstanceid) System.Diagnostics.Trace.TraceInformation("End on-demand transfer of data from StoreContestantWorkerRole instance - " + roleinstanceid) roleinstancediagnosticmanager.endondemandtransfer(requestguid) queue.deletemessage(message) message = queue.getmessage() End While End Sub The code above requires the use of additional diagnostics namespaces. For VB using Microsoft.WindowsAzure.Diagnostics.Management; using Microsoft.WindowsAzure.Diagnostics; Imports Microsoft.WindowsAzure.Diagnostics Imports Microsoft.WindowsAzure.Diagnostics.Management 29

30 Step 10: Test On-Demand Transfer of Log Data 10.1 Start debugging the application. As you did in the previous labs, start the project in the Compute Emulator by pressing F On the Admin Console, press the Start Worker Role Data Transfer button to kick off the on-demand transfer of StoreContestantWorkerRole log data to Windows Azure Storage After several minutes, check Windows Azure Storage. 30

31 Per step 8 above, open Windows Azure Mmc and connect to the Storage Emulator In the Windows Azure Mmc window, click on the Tables item under devstoreaccount1. A Tables pane appears listing the tables in your Storage Emulator. Find the new WADLogsTable listed in the panel Double click on the WADLogsTable in the panel. A list of records displays in the bottom panel. 31

32 Examine the records. The Message attribute in the table should contain the same data you see in the log trace using the Compute Emulator UI. 32

33 You should also find a new queue (ondemandcompetedqueue) in Windows Azure Storage. This queue is used by the diagnostic manager for on-demand transfer completion. 33

34 Lab Solution Service Definition File (ServiceDefinition.csdef) <?xml version="1.0" encoding="utf-8"?> <ServiceDefinition name="whereareyou" xmlns=" nition"> <WebRole name="whereareyouwebrole" vmsize="extrasmall"> <Sites> <Site name="web"> <Bindings> <Binding name="endpoint1" endpointname="endpoint1" /> </Bindings> </Site> </Sites> <Endpoints> <InputEndpoint name="endpoint1" protocol="http" port="80" /> </Endpoints> <Imports> <Import modulename="diagnostics" /> </Imports> <ConfigurationSettings> <Setting name="gametitle" /> <Setting name="dataconnectionstring" /> <Setting name="gamequeue" /> <Setting name="gamecontainer" /> <Setting name="quizquestionstable" /> <Setting name="geoquizquestionspartition" /> <Setting name="quizcontestantstable" /> <Setting name="geoquizcontestantspartition" /> <Setting name="maxleadersdisplayed" /> </ConfigurationSettings> <LocalResources> <LocalStorage name="whereareyoustorage" cleanonrolerecycle="false" sizeinmb="1" /> </LocalResources> </WebRole> <WebRole name="adminwebrole" vmsize="extrasmall"> <Sites> <Site name="web"> <Bindings> <Binding name="endpoint1" endpointname="endpoint1" /> </Bindings> </Site> </Sites> <Endpoints> <InputEndpoint name="endpoint1" protocol="http" port="8080" /> </Endpoints> <Imports> <Import modulename="diagnostics" /> </Imports> <ConfigurationSettings> <Setting name="dataconnectionstring" /> <Setting name="gamequeue" /> 34

35 <Setting name="gamecontainer" /> <Setting name="quizquestionstable" /> <Setting name="geoquizquestionspartition" /> <Setting name="ondemandtransfercompletequeue" /> </ConfigurationSettings> </WebRole> <WorkerRole name="storecontestantworkerrole" vmsize="extrasmall"> <Imports> <Import modulename="diagnostics" /> </Imports> <ConfigurationSettings> <Setting name="dataconnectionstring" /> <Setting name="gamequeue" /> <Setting name="quizquestionstable" /> <Setting name="geoquizquestionspartition" /> <Setting name="quizcontestantstable" /> <Setting name="geoquizcontestantspartition" /> <Setting name="maxleadersdisplayed" /> </ConfigurationSettings> </WorkerRole> </ServiceDefinition> 35

36 Service Configuration File (ServiceConfiguration.cscfg) <?xml version="1.0" encoding="utf-8"?> <ServiceConfiguration servicename="whereareyou" xmlns=" iguration" osfamily="1" osversion="*"> <Role name="whereareyouwebrole"> <Instances count="1" /> <ConfigurationSettings> <Setting name= "Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="usedevelopmentstorage=true" /> <Setting name="gametitle" value="the Geo Game" /> <Setting name="dataconnectionstring" value="usedevelopmentstorage=true" /> <Setting name="gamequeue" value="completedgamequeue" /> <Setting name="gamecontainer" value="gamepicturecontainer" /> <Setting name="quizquestionstable" value="questions" /> <Setting name="geoquizquestionspartition" value="geoquiz" /> <Setting name="quizcontestantstable" value="contestants" /> <Setting name="geoquizcontestantspartition" value="geoquiz" /> <Setting name="maxleadersdisplayed" value="5" /> </ConfigurationSettings> </Role> <Role name="adminwebrole"> <Instances count="1" /> <ConfigurationSettings> <Setting name= "Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="usedevelopmentstorage=true" /> <Setting name="dataconnectionstring" value="usedevelopmentstorage=true" /> <Setting name="gamequeue" value="completedgamequeue" /> <Setting name="gamecontainer" value="gamepicturecontainer" /> <Setting name="quizquestionstable" value="questions" /> <Setting name="geoquizquestionspartition" value="geoquiz" /> <Setting name="ondemandtransfercompletequeue" value="ondemandcompletedqueue" /> </ConfigurationSettings> </Role> <Role name="storecontestantworkerrole"> <Instances count="1" /> <ConfigurationSettings> <Setting name= "Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="usedevelopmentstorage=true" /> <Setting name="dataconnectionstring" value="usedevelopmentstorage=true" /> <Setting name="gamequeue" value="completedgamequeue" /> <Setting name="quizquestionstable" value="questions" /> <Setting name="geoquizquestionspartition" value="geoquiz" /> <Setting name="quizcontestantstable" value="contestants" /> <Setting name="geoquizcontestantspartition" value="geoquiz" /> <Setting name="maxleadersdisplayed" value="5" /> </ConfigurationSettings> </Role> 36

37 </ServiceConfiguration> WebRole.cs (in WhereAreYouWebRole) using System; using System.Collections.Generic; using System.Linq; using Microsoft.WindowsAzure; using Microsoft.WindowsAzure.Diagnostics; using Microsoft.WindowsAzure.ServiceRuntime; namespace WhereAreYouWebRole public class WebRole : RoleEntryPoint public override bool OnStart() DiagnosticMonitorConfiguration diagconfig = DiagnosticMonitor.GetDefaultInitialConfiguration(); PerformanceCounterConfiguration totalrequestsconfig = new PerformanceCounterConfiguration(); totalrequestsconfig.counterspecifier Applications( Total )\Requests Total"; totalrequestsconfig.samplerate = TimeSpan.FromSeconds(30.0); diagconfig. PerformanceCounters.DataSources.Add(totalRequestsConfig); PerformanceCounterConfiguration requesttimeconfig = new PerformanceCounterConfiguration(); requesttimeconfig.counterspecifier Applications( Total )\Requests/Sec"; requesttimeconfig.samplerate = TimeSpan.FromSeconds(30.0); diagconfig. PerformanceCounters.DataSources.Add(requestTimeConfig); diagconfig.performancecounters.scheduledtransferperiod = TimeSpan.FromMinutes(2.0); DiagnosticMonitor.Start( "Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString", diagconfig); return base.onstart(); 37

38 WebRole.vb (in WhereAreYouWebRole) Imports System Imports System.Collections.Generic Imports System.Linq Imports Microsoft.WindowsAzure Imports Microsoft.WindowsAzure.Diagnostics Imports Microsoft.WindowsAzure.ServiceRuntime Public Class WebRole Inherits RoleEntryPoint Public Overrides Function OnStart() As Boolean ' For information on handling configuration changes ' see the MSDN topic at ' Dim diagconfig As DiagnosticMonitorConfiguration = DiagnosticMonitor.GetDefaultInitialConfiguration() Dim totalrequestsconfig As New PerformanceCounterConfiguration() totalrequestsconfig.counterspecifier = "\ASP.NET Applications( Total )\Requests Total" totalrequestsconfig.samplerate = TimeSpan.FromSeconds(30.0) diagconfig.performancecounters.datasources.add(totalrequestsconfig) Dim requesttimeconfig As New PerformanceCounterConfiguration() requesttimeconfig.counterspecifier = "\ASP.NET Applications( Total )\Requests/Sec" requesttimeconfig.samplerate = TimeSpan.FromSeconds(30.0) diagconfig.performancecounters.datasources.add(requesttimeconfig) diagconfig.performancecounters.scheduledtransferperiod = TimeSpan.FromMinutes(2.0) DiagnosticMonitor.Start("Microsoft.WindowsAzure.Plugins.Diagnostics.Co nnectionstring", diagconfig) Return MyBase.OnStart() End Function End Class 38

39 Default.aspx (in AdminWebRole) unmodified portion left out for brevity... </table> </p> <p> <asp:button ID="StartOnDemandTransferButton" runat="server" Text="Start Worker Role Data Transfer" OnClick="StartOnDemandTransferButton_Click" /> <asp:scriptmanager ID="ScriptManager1" runat="server"> </asp:scriptmanager> <asp:timer ID="OnDemandTransferEndTimer" runat="server" OnTick="OnDemandTransferEndTimer_Tick"> </asp:timer> </p> </asp:content> 39

40 Default.aspx.cs (in AdminWebRole) only new methods shown for brevity namespace AdminWebRole using System; using System.Collections.Generic; using System.Text; using Microsoft.WindowsAzure; using Microsoft.WindowsAzure.Diagnostics; using Microsoft.WindowsAzure.Diagnostics.Management; using Microsoft.WindowsAzure.ServiceRuntime; using Microsoft.WindowsAzure.StorageClient; using QuizQuestions; public partial class _Default : System.Web.UI.Page //...existing methods left off for brevity protected void StartOnDemandTransferButton_Click (object sender, EventArgs e) System.Diagnostics.Trace.TraceInformation("Start on demand transfer of log data"); DeploymentDiagnosticManager deploymentmanager = new DeploymentDiagnosticManager(RoleEnvironment. GetConfigurationSettingValue( "Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString"), RoleEnvironment.DeploymentId); IEnumerable<RoleInstanceDiagnosticManager> rolemananagers = deploymentmanager.getroleinstancediagnosticmanagersforrole( "StoreContestantWorkerRole"); DataBufferName datasource = DataBufferName.Logs; OnDemandTransferOptions transferoptions = new OnDemandTransferOptions(); transferoptions.from = DateTime.UtcNow TimeSpan.FromMinutes(2.0); transferoptions.to = DateTime.UtcNow; string queuename = RoleEnvironment.GetConfigurationSettingValue( "OnDemandTransferCompleteQueue"); transferoptions.notificationqueuename = queuename; foreach (RoleInstanceDiagnosticManager agent in rolemananagers) //make sure the agent does not have active transfers going on. if (agent.getactivetransfers().count <= 0) System.Diagnostics.Trace.TraceInformation("Begin on-demand transfer of data from StoreContestantWorkerRole instance - " + agent.roleinstanceid); agent.beginondemandtransfer(datasource, transferoptions); 40

41 protected void OnDemandTransferEndTimer_Tick (object sender, EventArgs e) System.Diagnostics.Trace.TraceInformation("End on-demand transfer"); CloudStorageAccount storageaccount = CloudStorageAccount. FromConfigurationSetting( "Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString"); CloudQueueClient queueclient = storageaccount.createcloudqueueclient(); string queuename = RoleEnvironment. GetConfigurationSettingValue("OnDemandTransferCompleteQueue"); CloudQueue queue = queueclient.getqueuereference(queuename); queue.createifnotexist(); CloudQueueMessage message; while ((message = queue.getmessage())!= null) OnDemandTransferInfo transferinfo = OnDemandTransferInfo.FromQueueMessage(message); string deploymentid = transferinfo.deploymentid; Guid requestguid = transferinfo.requestid; string roleinstanceid = transferinfo.roleinstanceid; string rolename = transferinfo.rolename; RoleInstanceDiagnosticManager roleinstancediagnosticmanager = storageaccount.createroleinstancediagnosticmanager( deploymentid,rolename, roleinstanceid); System.Diagnostics.Trace.TraceInformation("End on-demand transfer of data from StoreContestantWorkerRole instance - " + roleinstanceid); roleinstancediagnosticmanager.endondemandtransfer(requestguid); queue.deletemessage(message); 41

42 Default.aspx.vb (in AdminWebRole) Imports System.Text Imports Microsoft.WindowsAzure Imports Microsoft.WindowsAzure.ServiceRuntime Imports Microsoft.WindowsAzure.StorageClient Imports QuizQuestions.QuizQuestions Imports Microsoft.WindowsAzure.Diagnostics Imports Microsoft.WindowsAzure.Diagnostics.Management Public Class _Default Inherits System.Web.UI.Page Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load End Sub Protected Sub RefreshButton_Click(ByVal sender As Object, ByVal e As EventArgs) Dim storageaccount As CloudStorageAccount = CloudStorageAccount.FromConfigurationSetting("DataConnectionString") Dim queueclient As CloudQueueClient = storageaccount.createcloudqueueclient() Dim queuename As String = RoleEnvironment.GetConfigurationSettingValue("GameQueue") Dim queue As CloudQueue = queueclient.getqueuereference(queuename) queue.createifnotexist() Dim messagecount As Integer = queue.retrieveapproximatemessagecount() Dim newtext As New StringBuilder("None") If messagecount > 0 Then Dim messages As IEnumerable(Of CloudQueueMessage) = queue.getmessages(messagecount) newtext = New StringBuilder() For Each message As CloudQueueMessage In messages newtext.appendline(message.asstring) queue.deletemessage(message) Next End If Me.ContestantsTextBox.Text = newtext.tostring() End Sub Protected Sub UploadBlobButton_Click(ByVal sender As Object, ByVal e As EventArgs) Dim storageaccount As CloudStorageAccount = CloudStorageAccount.FromConfigurationSetting("DataConnectionString") Dim blobclient As CloudBlobClient = storageaccount.createcloudblobclient Dim containername As String = RoleEnvironment.GetConfigurationSettingValue("GameContainer") Dim container As CloudBlobContainer = blobclient.getcontainerreference(containername) container.createifnotexist() 42

43 Dim permissions As BlobContainerPermissions = New BlobContainerPermissions permissions.publicaccess = BlobContainerPublicAccessType.Blob container.setpermissions(permissions) Dim blob As CloudBlob = container.getblobreference(me.pictureidtextbox.text) blob.uploadfromstream(me.geopictureupload.filecontent) Server.Transfer("Default.aspx") End Sub Protected Sub AddQuestionButton_Click(ByVal sender As Object, ByVal e As EventArgs) Dim question As New Question() With _.Text = Me.QuestionTextBox.Text, _.ImageName = Me.ImageNameTextBox.Text, _.AnswersString = Me.AnswersTextBox.Text, _.Answer = Integer.Parse(Me.AnswerTextBox.Text) - 1, _.Comment = Me.CommentTextBox.Text _ QuestionDataSource.Add(question) Server.Transfer("Default.aspx") End Sub Protected Sub DeleteQuestionsButton_Click(ByVal sender As Object, ByVal e As EventArgs) QuestionDataSource.DeleteAll() Server.Transfer("Default.aspx") End Sub Protected Sub StartOnDemandTransferButton_Click(ByVal sender As Object, ByVal e As EventArgs) System.Diagnostics.Trace.TraceInformation("Start on demand transfer of log data") Dim deploymentmanager As New DeploymentDiagnosticManager( RoleEnvironment.GetConfigurationSettingValue("Microsoft.WindowsAzure.P lugins.diagnostics.connectionstring"), RoleEnvironment.DeploymentId) Dim rolemananagers As IEnumerable(Of RoleInstanceDiagnosticManager) = deploymentmanager.getroleinstancediagnosticmanagersforrole("storeconte stantworkerrole") Dim datasource As DataBufferName = DataBufferName.Logs Dim transferoptions As New OnDemandTransferOptions() transferoptions.from = DateTime.UtcNow - TimeSpan.FromMinutes(2.0) transferoptions.[to] = DateTime.UtcNow Dim queuename As String = RoleEnvironment.GetConfigurationSettingValue("OnDemandTransferComplete Queue") transferoptions.notificationqueuename = queuename For Each agent As RoleInstanceDiagnosticManager In rolemananagers 'make sure the agent does not have active transfers going on. If agent.getactivetransfers().count <= 0 Then System.Diagnostics.Trace.TraceInformation("Begin on-demand transfer of data from StoreContestantWorkerRole instance - " + agent.roleinstanceid) agent.beginondemandtransfer(datasource, transferoptions) End If 43

44 Next End Sub Protected Sub OnDemandTransferEndTimer_Tick(ByVal sender As Object, ByVal e As EventArgs) System.Diagnostics.Trace.TraceInformation("End on-demand transfer") Dim storageaccount As CloudStorageAccount = CloudStorageAccount.FromConfigurationSetting("Microsoft.WindowsAzure.P lugins.diagnostics.connectionstring") Dim queueclient As CloudQueueClient = storageaccount.createcloudqueueclient() Dim queuename As String = RoleEnvironment.GetConfigurationSettingValue("OnDemandTransferComplete Queue") Dim queue As CloudQueue = queueclient.getqueuereference(queuename) queue.createifnotexist() Dim message As CloudQueueMessage = queue.getmessage() While message IsNot Nothing Dim transferinfo As OnDemandTransferInfo = OnDemandTransferInfo.FromQueueMessage(message) Dim deploymentid As String = transferinfo.deploymentid Dim requestguid As Guid = transferinfo.requestid Dim roleinstanceid As String = transferinfo.roleinstanceid Dim rolename As String = transferinfo.rolename Dim roleinstancediagnosticmanager As RoleInstanceDiagnosticManager = storageaccount.createroleinstancediagnosticmanager(deploymentid, rolename, roleinstanceid) System.Diagnostics.Trace.TraceInformation("End on-demand transfer of data from StoreContestantWorkerRole instance - " + roleinstanceid) roleinstancediagnosticmanager.endondemandtransfer(requestguid) queue.deletemessage(message) message = queue.getmessage() End While End Sub End Class 44

45 WorkerRole.cs (in StoreContestantWorkerRole) using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Net; using System.Threading; using Microsoft.WindowsAzure; using Microsoft.WindowsAzure.Diagnostics; using Microsoft.WindowsAzure.ServiceRuntime; using Microsoft.WindowsAzure.StorageClient; using QuizContestants; namespace StoreContestantWorkerRole public class WorkerRole : RoleEntryPoint public override void Run() Trace.WriteLine("StoreContestantWorkerRole entry point called", "Information"); while (true) Thread.Sleep(10000); Trace.WriteLine("Working", "Information"); this.processcontestantresults(); public override bool OnStart() ServicePointManager.DefaultConnectionLimit = 12; DiagnosticMonitor.Start( "Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString"); Trace.TraceInformation("Store Contestant Worker Role started."); SetupConfigurationPublisher(); return base.onstart(); private void SetupConfigurationPublisher() CloudStorageAccount.SetConfigurationSettingPublisher( (configname, configsetter) => configsetter( RoleEnvironment.GetConfigurationSettingValue(configName)); ); private void CreateAndSaveContestant(string messagedata) Contestant contestant = new Contestant(messageData); 45

46 ContestantDataSource.Add(contestant); Trace.TraceInformation("Contestant record saved: " + contestant.tostring()); private void ProcessContestantResults() CloudStorageAccount storageaccount = CloudStorageAccount. FromConfigurationSetting("DataConnectionString"); CloudQueueClient queueclient = storageaccount.createcloudqueueclient(); string queuename = RoleEnvironment. GetConfigurationSettingValue("GameQueue"); CloudQueue queue = queueclient.getqueuereference(queuename); queue.createifnotexist(); int messagecount = queue.retrieveapproximatemessagecount(); Trace.TraceInformation( "Checking for completed game messages. Found: " + messagecount); if (messagecount > 0) IEnumerable<CloudQueueMessage> messages = queue.getmessages(messagecount); foreach (var message in messages) this.createandsavecontestant(message.asstring); queue.deletemessage(message); 46

47 WorkerRole.vb (in StoreContestantWorkerRole) Imports System Imports System.Collections.Generic Imports System.Diagnostics Imports System.Linq Imports System.Net Imports System.Threading Imports Microsoft.WindowsAzure Imports Microsoft.WindowsAzure.Diagnostics Imports Microsoft.WindowsAzure.ServiceRuntime Imports Microsoft.WindowsAzure.StorageClient Imports QuizContestants.QuizContestants Public Class WorkerRole Inherits RoleEntryPoint Public Overrides Sub Run() Trace.WriteLine("StoreContestantWorkerRole entry point called.", "Information") While (True) Thread.Sleep(10000) Trace.WriteLine("Working", "Information") Me.ProcessContestantResults() End While End Sub Public Overrides Function OnStart() As Boolean ServicePointManager.DefaultConnectionLimit = 12 DiagnosticMonitor.Start( "Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString") Trace.TraceInformation("Store Contestant Worker Role started.") Me.SetupConfigurationPublisher() Return MyBase.OnStart() End Function Private Sub SetupConfigurationPublisher() CloudStorageAccount.SetConfigurationSettingPublisher(Sub(configName, configsetter) _ configsetter(roleenvironment.getconfigurationsettingvalue(configname)) ) End Sub Private Sub CreateAndSaveContestant(ByVal messagedata As String) Dim contestant As New Contestant(messageData) ContestantDataSource.Add(contestant) Trace.TraceInformation("Contestant record saved: " + contestant.tostring) End Sub 47

48 Private Sub ProcessContestantResults() Dim storageaccount As CloudStorageAccount = CloudStorageAccount.FromConfigurationSetting("DataConnectionString") Dim queueclient As CloudQueueClient = storageaccount.createcloudqueueclient() Dim queuename As String = RoleEnvironment.GetConfigurationSettingValue("GameQueue") Dim queue As CloudQueue = queueclient.getqueuereference(queuename) queue.createifnotexist() Dim messagecount As Integer = queue.retrieveapproximatemessagecount() Trace.TraceInformation("Checking for completed game messages. Found: " + messagecount.tostring) If messagecount > 0 Then Dim messages As IEnumerable(Of CloudQueueMessage) = queue.getmessages(messagecount) For Each message As CloudQueueMessage In messages Me.CreateAndSaveContestant(message.AsString) queue.deletemessage(message) Next End If End Sub End Class There are no bonus labs for this lab. 48

Whiteboard 6 feet by 4 feet (minimum) Whiteboard markers Red, Blue, Green, Black Video Projector (1024 X 768 resolutions)

Whiteboard 6 feet by 4 feet (minimum) Whiteboard markers Red, Blue, Green, Black Video Projector (1024 X 768 resolutions) Workshop Name Windows Azure Platform as a Service (PaaS) Duration 6 Days Objective Build development skills on the cloud platform from Microsoft Windows Azure Platform Participants Entry Profile Participants

More information

Understand the Storage Emulator, how to use it, and how it s different from Windows Azure Storage.

Understand the Storage Emulator, how to use it, and how it s different from Windows Azure Storage. Chapter 6 Windows Azure Storage and Queues Objectives: Understand the purpose of Windows Azure Storage. Learn how to create a Windows Azure Storage account. Explore Windows Azure Storage costs. Understand

More information

Hands-On Lab. Worker Role Communication. Lab version: Last updated: 11/16/2010. Page 1

Hands-On Lab. Worker Role Communication. Lab version: Last updated: 11/16/2010. Page 1 Hands-On Lab Worker Role Communication Lab version: 2.0.0 Last updated: 11/16/2010 Page 1 CONTENTS OVERVIEW... 3 EXERCISE 1: USING WORKER ROLE EXTERNAL ENDPOINTS... 8 Task 1 Exploring the AzureTalk Solution...

More information

Kentico CMS 6.0 Windows Azure Deployment Guide

Kentico CMS 6.0 Windows Azure Deployment Guide Kentico CMS 6.0 Windows Azure Deployment Guide 2 Kentico CMS 6.0 Windows Azure Deployment Guide Table of Contents Introduction 4... 4 About this guide Installation and deployment 6... 6 Overview... 6 Architecture...

More information

Activating AspxCodeGen 4.0

Activating AspxCodeGen 4.0 Activating AspxCodeGen 4.0 The first time you open AspxCodeGen 4 Professional Plus edition you will be presented with an activation form as shown in Figure 1. You will not be shown the activation form

More information

Cloud Computing. Up until now

Cloud Computing. Up until now Cloud Computing Lectures 17 Cloud Programming 2010-2011 Up until now Introduction, Definition of Cloud Computing Pre-Cloud Large Scale Computing: Grid Computing Content Distribution Networks Cycle-Sharing

More information

Module 4 Microsoft Azure Messaging Services

Module 4 Microsoft Azure Messaging Services Module 4 Microsoft Azure Messaging Services Service Bus Azure Service Bus is a generic, cloud-based messaging system for connecting just about anything applications, services and devices wherever they

More information

Azure Table Storage. The Good, the Bad, the Ugly. Sirar Salih Solution Architect at Making Waves

Azure Table Storage. The Good, the Bad, the Ugly. Sirar Salih Solution Architect at Making Waves Azure Table Storage The Good, the Bad, the Ugly Sirar Salih Solution Architect at Making Waves Manage Who Am I? Stakeholders Balancing stakeholder influence and customer needs Hydro is a global enterprise,

More information

Whitepaper. Product: combit List & Label. Using List & Label With Microsoft Azure. combit GmbH Untere Laube Konstanz Germany

Whitepaper. Product: combit List & Label. Using List & Label With Microsoft Azure. combit GmbH Untere Laube Konstanz Germany combit GmbH Untere Laube 30 78462 Konstanz Germany Whitepaper Product: combit List & Label Using List & Label With Microsoft Azure Using List & Label With Microsoft Azure - 2 - Content Introduction 3 Requirements

More information

Composite C1 Azure Publisher - User Guide

Composite C1 Azure Publisher - User Guide Composite C1 Azure Publisher - User Guide Composite 2012-10-04 Composite A/S Nygårdsvej 16 DK-2100 Copenhagen Phone +45 3915 7600 www.composite.net Contents 1 INTRODUCTION... 3 1.1 Who should read this

More information

CST272 Getting Started Page 1

CST272 Getting Started Page 1 CST272 Getting Started Page 1 1 2 3 4 5 6 8 Introduction to ASP.NET, Visual Studio and C# CST272 ASP.NET Static and Dynamic Web Applications Static Web pages Created with HTML controls renders exactly

More information

Lab 5: ASP.NET 2.0 Profiles and Localization

Lab 5: ASP.NET 2.0 Profiles and Localization Lab 5: ASP.NET 2.0 Profiles and Localization Personalizing content for individual users and persisting per-user data has always been a non-trivial undertaking in Web apps, in part due to the stateless

More information

& Windows Azure. Realizing Service-Orientation with the Microsoft Platform. Edited and Co-Authored by Thomas Erl, World s Top-Selling SOA Author

& Windows Azure. Realizing Service-Orientation with the Microsoft Platform. Edited and Co-Authored by Thomas Erl, World s Top-Selling SOA Author THE PRENTICE THE PRENTICE HALL HALL SERVICE-ORIENTED COMPUTING SERIES FROM THOMAS ERL THE PRENTICE HALL SERVICE-ORIENTED COMPUTING SERIES FROM THOMAS ERL Explaining the intersection of these two worlds

More information

Online Activity: Debugging and Error Handling

Online Activity: Debugging and Error Handling Online Activity: Debugging and Error Handling In this activity, you are to carry a number of exercises that introduce you to the world of debugging and error handling in ASP.NET using C#. Copy the application

More information

Automated Testing of Cloud Applications

Automated Testing of Cloud Applications Automated Testing of Cloud Applications Linghao Zhang, Tao Xie, Nikolai Tillmann, Peli de Halleux, Xiaoxing Ma, Jian lv {lzhang25, txie}@ncsu.edu, {nikolait, jhalleux}@microsoft.com, {xxm, lj}@nju.edu.cn

More information

Hands-On Lab. Instrumentation and Performance -.NET. Lab version: Last updated: December 3, 2010

Hands-On Lab. Instrumentation and Performance -.NET. Lab version: Last updated: December 3, 2010 Hands-On Lab Instrumentation and Performance -.NET Lab version: 1.0.0 Last updated: December 3, 2010 CONTENTS OVERVIEW 3 EXERCISE 1: INSTRUMENTATION USING PERFORMANCE COUNTERS. 5 Task 1 Adding a Class

More information

Hands-On Lab. Lab 02: Visual Studio 2010 SharePoint Tools. Lab version: Last updated: 2/23/2011

Hands-On Lab. Lab 02: Visual Studio 2010 SharePoint Tools. Lab version: Last updated: 2/23/2011 Hands-On Lab Lab 02: Visual Studio 2010 SharePoint Tools Lab version: 1.0.0 Last updated: 2/23/2011 CONTENTS OVERVIEW... 3 EXERCISE 1: CREATING A SHAREPOINT 2010 PROJECT... 4 EXERCISE 2: ADDING A FEATURE

More information

Course Outline: Course 50466A: Windows Azure Solutions with Microsoft Visual Studio 2010

Course Outline: Course 50466A: Windows Azure Solutions with Microsoft Visual Studio 2010 Course Outline: Course 50466A: Windows Azure Solutions with Microsoft Visual Studio 2010 Learning Method: Instructor-led Classroom Learning Duration: 3.00 Day(s)/ 24 hrs Overview: This class is an introduction

More information

Course Outline. Introduction to Azure for Developers Course 10978A: 5 days Instructor Led

Course Outline. Introduction to Azure for Developers Course 10978A: 5 days Instructor Led Introduction to Azure for Developers Course 10978A: 5 days Instructor Led About this course This course offers students the opportunity to take an existing ASP.NET MVC application and expand its functionality

More information

You can call the project anything you like I will be calling this one project slide show.

You can call the project anything you like I will be calling this one project slide show. C# Tutorial Load all images from a folder Slide Show In this tutorial we will see how to create a C# slide show where you load everything from a single folder and view them through a timer. This exercise

More information

Hands-On Lab. Windows Azure Virtual Machine Roles. Lab version: Last updated: 12/14/2010. Page 1

Hands-On Lab. Windows Azure Virtual Machine Roles. Lab version: Last updated: 12/14/2010. Page 1 Hands-On Lab Windows Azure Virtual Machine Roles Lab version: 2.0.0 Last updated: 12/14/2010 Page 1 CONTENTS OVERVIEW... 3 EXERCISE 1: CREATING AND DEPLOYING A VIRTUAL MACHINE ROLE IN WINDOWS AZURE...

More information

Environment Modeling for Automated Testing of Cloud Applications

Environment Modeling for Automated Testing of Cloud Applications Environment Modeling for Automated Testing of Cloud Applications Linghao Zhang 1,2, Tao Xie 2, Nikolai Tillmann 3, Peli de Halleux 3, Xiaoxing Ma 1, Jian lv 1 1 Nanjing University, China, 2 North Carolina

More information

Hands-On Lab. Lab 05: LINQ to SharePoint. Lab version: Last updated: 2/23/2011

Hands-On Lab. Lab 05: LINQ to SharePoint. Lab version: Last updated: 2/23/2011 Hands-On Lab Lab 05: LINQ to SharePoint Lab version: 1.0.0 Last updated: 2/23/2011 CONTENTS OVERVIEW... 3 EXERCISE 1: CREATING LIST DATA... 3 EXERCISE 2: CREATING ENTITIES USING THE SPMETAL UTILITY...

More information

Hands-On Lab. Lab: Client Object Model. Lab version: Last updated: 2/23/2011

Hands-On Lab. Lab: Client Object Model. Lab version: Last updated: 2/23/2011 Hands-On Lab Lab: Client Object Model Lab version: 1.0.0 Last updated: 2/23/2011 CONTENTS OVERVIEW... 3 EXERCISE 1: RETRIEVING LISTS... 4 EXERCISE 2: PRINTING A LIST... 8 EXERCISE 3: USING ADO.NET DATA

More information

Engr 123 Spring 2018 Notes on Visual Studio

Engr 123 Spring 2018 Notes on Visual Studio Engr 123 Spring 2018 Notes on Visual Studio We will be using Microsoft Visual Studio 2017 for all of the programming assignments in this class. Visual Studio is available on the campus network. For your

More information

Developing Microsoft Azure and Web Services. Course Code: 20487C; Duration: 5 days; Instructor-led

Developing Microsoft Azure and Web Services. Course Code: 20487C; Duration: 5 days; Instructor-led Developing Microsoft Azure and Web Services Course Code: 20487C; Duration: 5 days; Instructor-led WHAT YOU WILL LEARN In this course, students will learn how to design and develop services that access

More information

The contents of this document are directly taken from the EPiServer SDK. Please see the SDK for further technical information about EPiServer.

The contents of this document are directly taken from the EPiServer SDK. Please see the SDK for further technical information about EPiServer. Web Services Product version: 4.50 Document version: 1.0 Document creation date: 04-05-2005 Purpose The contents of this document are directly taken from the EPiServer SDK. Please see the SDK for further

More information

The QuickCalc BASIC User Interface

The QuickCalc BASIC User Interface The QuickCalc BASIC User Interface Running programs in the Windows Graphic User Interface (GUI) mode. The GUI mode is far superior to running in the CONSOLE mode. The most-used functions are on buttons,

More information

Hands-On Lab. Introduction to SQL Azure. Lab version: Last updated: 12/15/2010

Hands-On Lab. Introduction to SQL Azure. Lab version: Last updated: 12/15/2010 Hands-On Lab Introduction to SQL Azure Lab version: 2.0.0 Last updated: 12/15/2010 Contents OVERVIEW... 3 EXERCISE 1: PREPARING YOUR SQL AZURE ACCOUNT... 5 Task 1 Retrieving your SQL Azure Server Name...

More information

Azure Server - Setup Guide

Azure Server - Setup Guide 2017-06-20 Orckestra, Europe Adelgade 12, First Floor DK-1304 Copenhagen Phone +45 3915 7600 c1.orckestra.com Contents 1 INTRODUCTION... 3 1.1 Who should read this guide 4 1.2 Getting started 4 1.3 Limitations

More information

Start Visual Studio, start a new Windows Form project under the C# language, name the project BalloonPop MooICT and click OK.

Start Visual Studio, start a new Windows Form project under the C# language, name the project BalloonPop MooICT and click OK. Start Visual Studio, start a new Windows Form project under the C# language, name the project BalloonPop MooICT and click OK. Before you start - download the game assets from above or on MOOICT.COM to

More information

Visual Basic 2008 The programming part

Visual Basic 2008 The programming part Visual Basic 2008 The programming part Code Computer applications are built by giving instructions to the computer. In programming, the instructions are called statements, and all of the statements that

More information

WebSharpCompiler. Building a web based C# compiler using ASP.NET and TDD. Author: Dominic Millar Tech Review:Matt Rumble Editor:Cathy Tippett Feb 2011

WebSharpCompiler. Building a web based C# compiler using ASP.NET and TDD. Author: Dominic Millar Tech Review:Matt Rumble Editor:Cathy Tippett Feb 2011 WebSharpCompiler Building a web based C# compiler using ASP.NET and TDD Author: Dominic Millar Tech Review:Matt Rumble Editor:Cathy Tippett Feb 2011 http://domscode.com Introduction This tutorial is an

More information

Techno Expert Solutions

Techno Expert Solutions Course Content of Microsoft Windows Azzure Developer: Course Outline Module 1: Overview of the Microsoft Azure Platform Microsoft Azure provides a collection of services that you can use as building blocks

More information

Performance Monitors Setup Guide

Performance Monitors Setup Guide Performance Monitors Setup Guide Version 1.0 2017 EQ-PERF-MON-20170530 Equitrac Performance Monitors Setup Guide Document Revision History Revision Date May 30, 2017 Revision List Initial Release 2017

More information

Bringing Together One ASP.NET

Bringing Together One ASP.NET Bringing Together One ASP.NET Overview ASP.NET is a framework for building Web sites, apps and services using specialized technologies such as MVC, Web API and others. With the expansion ASP.NET has seen

More information

[MS20487]: Developing Windows Azure and Web Services

[MS20487]: Developing Windows Azure and Web Services [MS20487]: Developing Windows Azure and Web Services Length : 5 Days Audience(s) : Developers Level : 300 Technology : Cross-Platform Development Delivery Method : Instructor-led (Classroom) Course Overview

More information

Lab Manual Visual Studio Team Architect Edition

Lab Manual Visual Studio Team Architect Edition Hands-On Lab Lab Manual Visual Studio Team Architect Edition ARC02: Using the Application Designer to design Your Web Service Architecture in Microsoft Visual Studio 2005 Page 1 Please do not remove this

More information

MarkLogic Server. Content Processing Framework Guide. MarkLogic 9 May, Copyright 2018 MarkLogic Corporation. All rights reserved.

MarkLogic Server. Content Processing Framework Guide. MarkLogic 9 May, Copyright 2018 MarkLogic Corporation. All rights reserved. Content Processing Framework Guide 1 MarkLogic 9 May, 2017 Last Revised: 9.0-4, January, 2018 Copyright 2018 MarkLogic Corporation. All rights reserved. Table of Contents Table of Contents Content Processing

More information

CHAPTER2 UNDERSTANDING WINDOWSAZURE PLATFORMARCHITECTURE

CHAPTER2 UNDERSTANDING WINDOWSAZURE PLATFORMARCHITECTURE CHAPTER2 UNDERSTANDING WINDOWSAZURE PLATFORMARCHITECTURE CONTENTS The Windows Azure Developer Portal Creating and running Projects in the Azure Development Platform Using Azure Application Templates for

More information

Lab 9: Creating Personalizable applications using Web Parts

Lab 9: Creating Personalizable applications using Web Parts Lab 9: Creating Personalizable applications using Web Parts Estimated time to complete this lab: 45 minutes Web Parts is a framework for building highly customizable portalstyle pages. You compose Web

More information

Actual4Test. Actual4test - actual test exam dumps-pass for IT exams

Actual4Test.  Actual4test - actual test exam dumps-pass for IT exams Actual4Test http://www.actual4test.com Actual4test - actual test exam dumps-pass for IT exams Exam : 70-515-VB Title : Web Applications Development with Microsoft VB.NET Framework 4 Practice Test Vendors

More information

It is necessary to follow all of the sections below in the presented order. Skipping steps may prevent subsequent sections from working correctly.

It is necessary to follow all of the sections below in the presented order. Skipping steps may prevent subsequent sections from working correctly. The following example demonstrates how to create a basic custom module, including all steps required to create Installation packages for the module. You can use the packages to distribute the module to

More information

Developing Microsoft Azure Solutions: Course Agenda

Developing Microsoft Azure Solutions: Course Agenda Developing Microsoft Azure Solutions: 70-532 Course Agenda Module 1: Overview of the Microsoft Azure Platform Microsoft Azure provides a collection of services that you can use as building blocks for your

More information

Developing Microsoft Azure Solutions

Developing Microsoft Azure Solutions Course 20532C: Developing Microsoft Azure Solutions Course details Course Outline Module 1: OVERVIEW OF THE MICROSOFT AZURE PLATFORM This module reviews the services available in the Azure platform and

More information

Web Forms ASP.NET. 2/12/2018 EC512 - Prof. Skinner 1

Web Forms ASP.NET. 2/12/2018 EC512 - Prof. Skinner 1 Web Forms ASP.NET 2/12/2018 EC512 - Prof. Skinner 1 Active Server Pages (.asp) Used before ASP.NET and may still be in use. Merges the HTML with scripting on the server. Easier than CGI. Performance is

More information

Course Outline. Lesson 2, Azure Portals, describes the two current portals that are available for managing Azure subscriptions and services.

Course Outline. Lesson 2, Azure Portals, describes the two current portals that are available for managing Azure subscriptions and services. Course Outline Module 1: Overview of the Microsoft Azure Platform Microsoft Azure provides a collection of services that you can use as building blocks for your cloud applications. Lesson 1, Azure Services,

More information

CHAPTER 1: INTRODUCING C# 3

CHAPTER 1: INTRODUCING C# 3 INTRODUCTION xix PART I: THE OOP LANGUAGE CHAPTER 1: INTRODUCING C# 3 What Is the.net Framework? 4 What s in the.net Framework? 4 Writing Applications Using the.net Framework 5 What Is C#? 8 Applications

More information

Course Outline. Developing Microsoft Azure Solutions Course 20532C: 4 days Instructor Led

Course Outline. Developing Microsoft Azure Solutions Course 20532C: 4 days Instructor Led Developing Microsoft Azure Solutions Course 20532C: 4 days Instructor Led About this course This course is intended for students who have experience building ASP.NET and C# applications. Students will

More information

Integrate WebScheduler to Microsoft SharePoint 2007

Integrate WebScheduler to Microsoft SharePoint 2007 Integrate WebScheduler to Microsoft SharePoint 2007 This white paper describes the techniques and walkthrough about integrating WebScheduler to Microsoft SharePoint 2007 as webpart. Prerequisites The following

More information

Hands-On Lab. Getting Started with Office 2010 Development. Lab version: Last updated: 2/23/2011

Hands-On Lab. Getting Started with Office 2010 Development. Lab version: Last updated: 2/23/2011 Hands-On Lab Getting Started with Office 2010 Development Lab version: 1.0.0 Last updated: 2/23/2011 CONTENTS OVERVIEW... 3 Starting Materials 3 EXERCISE 1: CUSTOMIZING THE OFFICE RIBBON IN OFFICE... 4

More information

CST272 Getting Started Page 1

CST272 Getting Started Page 1 CST272 Getting Started Page 1 1 2 3 5 6 8 10 Introduction to ASP.NET and C# CST272 ASP.NET ASP.NET Server Controls (Page 1) Server controls can be Buttons, TextBoxes, etc. In the source code, ASP.NET controls

More information

ICOM 4015 Advanced Programming Laboratory. Chapter 1 Introduction to Eclipse, Java and JUnit

ICOM 4015 Advanced Programming Laboratory. Chapter 1 Introduction to Eclipse, Java and JUnit ICOM 4015 Advanced Programming Laboratory Chapter 1 Introduction to Eclipse, Java and JUnit University of Puerto Rico Electrical and Computer Engineering Department by Juan E. Surís 1 Introduction This

More information

Form Properties Window

Form Properties Window C# Tutorial Create a Save The Eggs Item Drop Game in Visual Studio Start Visual Studio, Start a new project. Under the C# language, choose Windows Form Application. Name the project savetheeggs and click

More information

Hands-On Lab. Introduction to SQL Azure. Lab version: Last updated: 11/16/2010

Hands-On Lab. Introduction to SQL Azure. Lab version: Last updated: 11/16/2010 Hands-On Lab Introduction to SQL Azure Lab version: 2.0.0 Last updated: 11/16/2010 Contents OVERVIEW... 3 EXERCISE 1: PREPARING YOUR SQL AZURE ACCOUNT... 6 Task 1 Retrieving your SQL Azure Server Name...

More information

Professional ASP.NET Web Services : Asynchronous Programming

Professional ASP.NET Web Services : Asynchronous Programming Professional ASP.NET Web Services : Asynchronous Programming To wait or not to wait; that is the question! Whether or not to implement asynchronous processing is one of the fundamental issues that a developer

More information

Developing for Mobile Devices Lab (Part 1 of 2)

Developing for Mobile Devices Lab (Part 1 of 2) Developing for Mobile Devices Lab (Part 1 of 2) Overview Through these two lab sessions you will learn how to create mobile applications for Windows Mobile phones and PDAs. As developing for Windows Mobile

More information

Design and implement a storage strategy

Design and implement a storage strategy CHAPTER 4 Design and implement a storage strategy Azure Storage and Azure SQL Database both play an important role in the Microsoft Azure Platform-as-a-Service (PaaS) strategy for storage. Azure Storage

More information

Module 1: Creating an ASP.NET 2.0 Application

Module 1: Creating an ASP.NET 2.0 Application Module 1: Creating an ASP.NET 2.0 Application Contents Overview 1 Lesson: Evaluating the Features of the New Web Development Environment 2 Lesson: Using the Compile-on-Demand Resources 11 Lesson: Using

More information

Web Forms User Security and Administration

Web Forms User Security and Administration Chapter 7 Web Forms User Security and Administration In this chapter: Administering an ASP.NET 2.0 Site...................................... 238 Provider Configuration................................................

More information

Workspace Administrator Help File

Workspace Administrator Help File Workspace Administrator Help File Table of Contents HotDocs Workspace Help File... 1 Getting Started with Workspace... 3 What is HotDocs Workspace?... 3 Getting Started with Workspace... 3 To access Workspace...

More information

Skinning Manual v1.0. Skinning Example

Skinning Manual v1.0. Skinning Example Skinning Manual v1.0 Introduction Centroid Skinning, available in CNC11 v3.15 r24+ for Mill and Lathe, allows developers to create their own front-end or skin for their application. Skinning allows developers

More information

Developing Windows Azure and Web Services

Developing Windows Azure and Web Services Developing Windows Azure and Web Services Course 20487B; 5 days, Instructor-led Course Description In this course, students will learn how to design and develop services that access local and remote data

More information

Implementing and Supporting Windows Intune

Implementing and Supporting Windows Intune Implementing and Supporting Windows Intune Module 3: Computer Administration by Using Windows Intune Module Overview Understanding Groups Creating and Populating Groups The Windows Intune Update Process

More information

XNA 4.0 RPG Tutorials. Part 2. More Core Game Components

XNA 4.0 RPG Tutorials. Part 2. More Core Game Components XNA 4.0 RPG Tutorials Part 2 More Core Game Components I'm writing these tutorials for the new XNA 4.0 framework. The tutorials will make more sense if they are read in order. You can find the list of

More information

20532D: Developing Microsoft Azure Solutions

20532D: Developing Microsoft Azure Solutions 20532D: Developing Microsoft Azure Solutions Course Details Course Code: Duration: Notes: 20532D 5 days Elements of this syllabus are subject to change. About this course This course is intended for students

More information

This is the empty form we will be working with in this game. Look under the properties window and find the following and change them.

This is the empty form we will be working with in this game. Look under the properties window and find the following and change them. We are working on Visual Studio 2010 but this project can be remade in any other version of visual studio. Start a new project in Visual Studio, make this a C# Windows Form Application and name it zombieshooter.

More information

Syncfusion Report Platform. Version - v Release Date - March 22, 2017

Syncfusion Report Platform. Version - v Release Date - March 22, 2017 Syncfusion Report Platform Version - v2.1.0.8 Release Date - March 22, 2017 Overview... 5 Key features... 5 Create a support incident... 5 System Requirements... 5 Report Server... 5 Hardware Requirements...

More information

Lab 4: Adding a Windows User-Interface

Lab 4: Adding a Windows User-Interface Lab 4: Adding a Windows User-Interface In this lab, you will cover the following topics: Creating a Form for use with Investment objects Writing event-handler code to interact with Investment objects Using

More information

Azure Developer Immersions Application Insights

Azure Developer Immersions Application Insights Azure Developer Immersions Application Insights Application Insights provides live monitoring of your applications. You can detect and diagnose faults and performance issues, as well as discover how users

More information

Windows Azure Solutions with Microsoft Visual Studio 2010

Windows Azure Solutions with Microsoft Visual Studio 2010 Windows Azure Solutions with Microsoft Visual Studio 2010 Course No. 50466 3 Days Instructor-led, Hands-on Introduction This class is an introduction to cloud computing and specifically Microsoft's public

More information

To start we will be using visual studio Start a new C# windows form application project and name it motivational quotes viewer

To start we will be using visual studio Start a new C# windows form application project and name it motivational quotes viewer C# Tutorial Create a Motivational Quotes Viewer Application in Visual Studio In this tutorial we will create a fun little application for Microsoft Windows using Visual Studio. You can use any version

More information

VMware Notification Service v2.0 Installation and Configuration Guide Configure ENSv2 for cloud and on-premises deployments

VMware  Notification Service v2.0 Installation and Configuration Guide Configure ENSv2 for cloud and on-premises deployments VMware Email Notification Service v2.0 Installation and Configuration Guide Configure ENSv2 for cloud and on-premises deployments Workspace ONE UEM v9.4 Have documentation feedback? Submit a Documentation

More information

Developing Microsoft Azure Solutions (MS 20532)

Developing Microsoft Azure Solutions (MS 20532) Developing Microsoft Azure Solutions (MS 20532) COURSE OVERVIEW: This course is intended for students who have experience building ASP.NET and C# applications. Students will also have experience with the

More information

Building Web Sites Using the EPiServer Content Framework

Building Web Sites Using the EPiServer Content Framework Building Web Sites Using the EPiServer Content Framework Product version: 4.60 Document version: 1.0 Document creation date: 28-03-2006 Purpose A major part in the creation of a Web site using EPiServer

More information

Developing Microsoft Azure Solutions

Developing Microsoft Azure Solutions Developing Microsoft Azure Solutions Varighed: 5 Days Kursus Kode: M20532 Beskrivelse: This course is intended for students who have experience building vertically scaled applications. Students will also

More information

ms-help://ms.technet.2004apr.1033/win2ksrv/tnoffline/prodtechnol/win2ksrv/howto/grpolwt.htm

ms-help://ms.technet.2004apr.1033/win2ksrv/tnoffline/prodtechnol/win2ksrv/howto/grpolwt.htm Page 1 of 17 Windows 2000 Server Step-by-Step Guide to Understanding the Group Policy Feature Set Operating System Abstract Group Policy is the central component of the Change and Configuration Management

More information

Azure Learning Circles

Azure Learning Circles Azure Learning Circles Azure Management Session 1: Logs, Diagnostics & Metrics Presented By: Shane Creamer shanec@microsoft.com Typical Customer Narratives Most customers know how to operate on-premises,

More information

Developing Microsoft Azure Solutions (70-532) Syllabus

Developing Microsoft Azure Solutions (70-532) Syllabus Developing Microsoft Azure Solutions (70-532) Syllabus Cloud Computing Introduction What is Cloud Computing Cloud Characteristics Cloud Computing Service Models Deployment Models in Cloud Computing Advantages

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2009 Vol. 8, No. 1, January-February 2009 EDUCATOR S CORNER A Model-View Implementation

More information

EL-USB-RT API Guide V1.0

EL-USB-RT API Guide V1.0 EL-USB-RT API Guide V1.0 Contents 1 Introduction 2 C++ Sample Dialog Application 3 C++ Sample Observer Pattern Application 4 C# Sample Application 4.1 Capturing USB Device Connect \ Disconnect Events 5

More information

Fundamentals: Expressions and Assignment

Fundamentals: Expressions and Assignment Fundamentals: Expressions and Assignment A typical Python program is made up of one or more statements, which are executed, or run, by a Python console (also known as a shell) for their side effects e.g,

More information

Hands-On Lab. Lab 13: Developing Sandboxed Solutions for Web Parts. Lab version: Last updated: 2/23/2011

Hands-On Lab. Lab 13: Developing Sandboxed Solutions for Web Parts. Lab version: Last updated: 2/23/2011 Hands-On Lab Lab 13: Developing Sandboxed Solutions for Web Parts Lab version: 1.0.0 Last updated: 2/23/2011 CONTENTS OVERVIEW... 3 EXERCISE 1: CREATING THE VISUAL STUDIO 2010 PROJECT... 3 EXERCISE 2:

More information

TARGETPROCESS PLUGIN DEVELOPMENT GUIDE

TARGETPROCESS PLUGIN DEVELOPMENT GUIDE TARGETPROCESS PLUGIN DEVELOPMENT GUIDE v.2.8 Plugin Development Guide This document describes plugins in TargetProcess and provides some usage examples. 1 PLUG IN DEVELOPMENT... 3 CORE ABSTRACTIONS...

More information

User Manual. Admin Report Kit for IIS 7 (ARKIIS)

User Manual. Admin Report Kit for IIS 7 (ARKIIS) User Manual Admin Report Kit for IIS 7 (ARKIIS) Table of Contents 1 Admin Report Kit for IIS 7... 1 1.1 About ARKIIS... 1 1.2 Who can Use ARKIIS?... 1 1.3 System requirements... 2 1.4 Technical Support...

More information

Remote Web Server. Develop Locally. foldername. publish project files to

Remote Web Server. Develop Locally. foldername. publish project files to Create a Class and Instantiate an Object in a Two-Tier Tier Web App By Susan Miertschin For ITEC 4339 Enterprise Applications Development 9/20/2010 1 Development Model foldername Remote Web Server Develop

More information

Creating a Class Library You should have your favorite version of Visual Studio open. Richard Kidwell. CSE 4253 Programming in C# Worksheet #2

Creating a Class Library You should have your favorite version of Visual Studio open. Richard Kidwell. CSE 4253 Programming in C# Worksheet #2 Worksheet #2 Overview For this worksheet, we will create a class library and then use the resulting dynamic link library (DLL) in a console application. This worksheet is a start on your next programming

More information

Getting Started with the Ed-Fi ODS and Ed-Fi ODS API

Getting Started with the Ed-Fi ODS and Ed-Fi ODS API Getting Started with the Ed-Fi ODS and Ed-Fi ODS API Ed-Fi ODS and Ed-Fi ODS API Version 2.0 - Technical Preview January 2015 2014-2015 Ed-Fi Alliance, LLC. All rights reserved. Ed-Fi is a registered trademark

More information

COURSE 20487B: DEVELOPING WINDOWS AZURE AND WEB SERVICES

COURSE 20487B: DEVELOPING WINDOWS AZURE AND WEB SERVICES ABOUT THIS COURSE In this course, students will learn how to design and develop services that access local and remote data from various data sources. Students will also learn how to develop and deploy

More information

Master Pages :: Control ID Naming in Content Pages

Master Pages :: Control ID Naming in Content Pages Master Pages :: Control ID Naming in Content Pages Introduction All ASP.NET server controls include an ID property that uniquely identifies the control and is the means by which the control is programmatically

More information

XNA 4.0 RPG Tutorials. Part 3. Even More Core Game Components

XNA 4.0 RPG Tutorials. Part 3. Even More Core Game Components XNA 4.0 RPG Tutorials Part 3 Even More Core Game Components I'm writing these tutorials for the new XNA 4.0 framework. The tutorials will make more sense if they are read in order. You can find the list

More information

TreeView for ASP.NET Wijmo

TreeView for ASP.NET Wijmo ComponentOne TreeView for ASP.NET Wijmo By GrapeCity, Inc. Copyright 1987-2012 GrapeCity, Inc. All rights reserved. Corporate Headquarters ComponentOne, a division of GrapeCity 201 South Highland Avenue

More information

Getting Started with Visual Studio

Getting Started with Visual Studio Getting Started with Visual Studio Visual Studio is a sophisticated but easy to use integrated development environment (IDE) for C++ (and may other languages!) You will see that this environment recognizes

More information

BASICS OF THE RENESAS SYNERGY TM

BASICS OF THE RENESAS SYNERGY TM BASICS OF THE RENESAS SYNERGY TM PLATFORM Richard Oed 2018.11 02 CHAPTER 9 INCLUDING A REAL-TIME OPERATING SYSTEM CONTENTS 9 INCLUDING A REAL-TIME OPERATING SYSTEM 03 9.1 Threads, Semaphores and Queues

More information

Chapter 9. Web Applications The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill

Chapter 9. Web Applications The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Chapter 9 Web Applications McGraw-Hill 2010 The McGraw-Hill Companies, Inc. All rights reserved. Chapter Objectives - 1 Explain the functions of the server and the client in Web programming Create a Web

More information

Click on the empty form and apply the following options to the properties Windows.

Click on the empty form and apply the following options to the properties Windows. Start New Project In Visual Studio Choose C# Windows Form Application Name it SpaceInvaders and Click OK. Click on the empty form and apply the following options to the properties Windows. This is the

More information

Presentation Component Troubleshooting

Presentation Component Troubleshooting Sitecore CMS 6.0-6.4 Presentation Component Troubleshooting Rev: 2011-02-16 Sitecore CMS 6.0-6.4 Presentation Component Troubleshooting Problem solving techniques for CMS Administrators and Developers

More information

Developing Microsoft Azure Solutions (70-532) Syllabus

Developing Microsoft Azure Solutions (70-532) Syllabus Developing Microsoft Azure Solutions (70-532) Syllabus Cloud Computing Introduction What is Cloud Computing Cloud Characteristics Cloud Computing Service Models Deployment Models in Cloud Computing Advantages

More information

IBSDK Quick Start Tutorial for C# 2010

IBSDK Quick Start Tutorial for C# 2010 IB-SDK-00003 Ver. 3.0.0 2012-04-04 IBSDK Quick Start Tutorial for C# 2010 Copyright @2012, lntegrated Biometrics LLC. All Rights Reserved 1 QuickStart Project C# 2010 Example Follow these steps to setup

More information

Cloud Enabling.NET Client Applications ---

Cloud Enabling.NET Client Applications --- Cloud Enabling.NET Client Applications --- Overview Modern.NET client applications have much to gain from Windows Azure. In addition to the increased scalability and reliability the cloud has to offer,

More information