1 / 14

CS603 Microsoft .NET

CS603 Microsoft .NET. April 8, 2002. What is .NET?. Language for distributed computation C#, VB.NET, JScript Protocols SOAP, HTTP Run-time environment Common Language Runtime (CLR) ActiveDirectory Web Servers (ASP.NET). DCOM IDL Name, Monikers Registry / ActiveDirectory

lysa
Download Presentation

CS603 Microsoft .NET

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CS603Microsoft .NET April 8, 2002

  2. What is .NET? • Language for distributed computation • C#, VB.NET, JScript • Protocols • SOAP, HTTP • Run-time environment • Common Language Runtime (CLR) • ActiveDirectory • Web Servers (ASP.NET)

  3. DCOM IDL Name, Monikers Registry / ActiveDirectory C++, Visual Basic DCE RPC DCOM Network protocol (based on DCE standards) .NET Web Services Description Language (WSDL) DISCO (URI grammar) Universal Description Discovery and Integration (UDDI) C#, VB.NET SOAP HTTP (presumed ubiquitous), SMTP (!?) COM/DCOM  .NET

  4. How .NET works • Query UDDI directory to get service location • Query service to get WSDL (interface specification) • Build call (XML) based on WSDL spec. • Make call using SOAP • Parse XML results based on WSDL spec.

  5. Programming framework: ASP.NET • Integrated environment • Web server: application deployment • Compiler: Just-in-time compilation • Development tools • Implements Common Language Runtime • Base class library • Looks like a web server • “Programs” stored/executed anywhere in hierarchy

  6. Building .NET services • ASP.NET • Manages compilation, run-time system, registration, etc. • Hello.asmx <%@ WebService Language="C#" Class=“Hello" %> using System; using System.Web.Services; public class Hello : WebService { [WebMethod] public String SayHello(String from) { Return "Hello, “ + from; } } • Place in desired location of ASP.NET directory structure • Gives URL to execute

  7. Alternative: Forms-based Development • File test.aspx <%@ Page Language="C#"%> <html> <body> <form action="intro2.aspx" method="post"> <p> Name: <input id="Name" type=text> Category: <select id="Category" size=1><option>psychology</option><option>business</option> </select> </p> <input type=submit value="Lookup"> <p> <% for (int i=0; i <8; i++) { %> <font size="<%=i%>"> Welcome to ASP.NET </font> <br> <% }%> </p> </form> </body> </html>

  8. Configuration / Settings • Configuration parameters: • Security • Language • Compilation options • Session vs. sessionless • Caching • Etc. • Written as XML in file web.config • Applies recursively to programs in directory containing web.config

  9. Type System • Primitive types • Enum, Arrays, Structs • Classes (public fields/properties) • DataSet • Tables • Schema • XmlNode (XML fragment)

  10. DataSets <%@ WebService Language="C#" Class="DataService" %> using System; using System.Data; using System.Data.SqlClient; using System.Web.Services; public class DataService { [WebMethod] public DataSet GetTitleAuthors() { SqlConnection myConnection = new SqlConnection("server=(local)\\NetSDK;database=pubs;Trusted_Connection=yes"); SqlDataAdapter myCommand1 = new SqlDataAdapter ("select * from Authors", myConnection); SqlDataAdapter myCommand2 = new SqlDataAdapter("select * from Titles", myConnection); DataSet ds = new DataSet(); myCommand1.Fill(ds, "Authors"); myCommand2.Fill(ds, "Titles"); return ds; } }

  11. Sessions • Session: language-level access to cookies [ WebMethod(EnableSession=true) ] public String UpdateHitCounter() { return “Your access number " + ++Session["HitCounter"]; } • Application: Stored state of server [ WebMethod ] public String UpdateHitCounter() { return “Total access number " + ++Application["HitCounter"]; }

  12. Security • Authentication • Windows • Passport • Forms-based authentication (cookie-based, login page) • Access Control • Access Control List on file • Check against URL • Configured using application configuration file: <configuration> <system.web> <authentication mode="Forms"/> </system.web> </configuration> • Can run either as self or impersonate caller

  13. Tools • “Visual” language environments: • VB.NET • C# • Tracing • Page-level: Debug statements written to special section of output web page • Application-level: http://.../HelloWorld/trace.axd • Debugging: Enable in configuration • <compilation debug=“true” /> • Breakpoint/stepping debugger run when service called

  14. Announcements • Monday, April 8, 3:30, CS 101 • David Holmes • Threads, concurrency and synchronization in Java • Monday, April 15, 3:30, CS 101 • Philip McKinley • RAPIDware: Framework for adaptability in the face of error in distributed systems

More Related