Session Når man hoster en WCF Service på ASP.NET website, kan man bruge ASP.NET’s Session.

Slides:



Advertisements
Lignende præsentationer
SPBG.  Test driven development  Unit test frameworks  MOSS TDD  Mocking  Design patterns.
Advertisements

1 JavaServer Faces Copyright © Lund & Bendsen A/S Navigation, events & listeners.
Location-Based services. Maps Agenda •Geocoding •Interaktive kort med Map Vievs og Map Activities •Overlays til kort •Location-based services •Advarsler.
Velkommen til Softwarekonstruktion
C# introduktion. using System; Namespace MyFirst { class eks1 { public static void Main() { Console.WriteLine("Hej!"); Console.Write("Skriv dit navn her:
Masterpages/Otto Knudsen 1 Master Pages  Master Pages i ASP.NET 2.0.
Atlas/Otto Knudsen 1 "Atlas"  AJAX Extensions til ASP.NET.
Når en applikation går i fejl… … er det interessant, at vide noget om: Hvornår gik applikationen i fejl Hvilken applikation gik i fejl Hvad er fejlen.
Februar 2005Sprog-nyheder i C# og VB1 Captator Tlf: Henrik Lykke Nielsen Softwarearkitekt, Microsoft Regional Director for Denmark.
C#: Data Typer. Indhold: “.NET is designed around the CTS, or Common Type System. The CTS is what allows assemblies, written in different languages, to.
Sikkerhed/Otto Knudsen 1 Sikkerhed  Sikkerhed i ASP.NET  Autentifikation (Authentication)  Autorisation (Authorization)
Sikkerhed/Otto Knudsen 1 Diagnostics  Debug af web-applikationer.
Web Services Protokoller og Arkitektur
Distribueret programmering, specielt Web Services Rasmus D. Lehrmann DM
T1 – OPGAVE 14.2 LINETT & SABRINA Klasse Varer namespace Opgave_14._2 { class Varer { private string vare; private string farve; private double.
Array og ArrayList Et slideshow. Som er sødt.. Hvordan virker ArrayList?  ArrayList NAVN = new ArrayList ();  NAVN.add(”Værdi”);  NAVN.add(index, ”værdi”)
1 JavaServer Faces Copyright © Lund & Bendsen Dynamikken i JSF.
Effective Java items Orange gruppe Thuy, Janne, Mads T.P., Oliver og Sebastian.
C#: Udtryk og metoder. Indhold “With regards to programming statements and methods, C# offers what you would come to expect from a modern OOPL…” Udtryk.
Datastrukturer og Collections Oversigt og forskel imellem Jave og.net Collections library Collection interfaces ArrayList IList interface Hashtable Hashtable.
06 – Java Packages Packages og ClassPath. 2 NOEA2009Java-kursus – Packages og class path Hvad er Packages? En package er en gruppering af relaterede typer.
Distribueret programmering, specielt.NET Remoting Rasmus D. Lehrmann DM
Collectionklasser Klassifikation og anvendelse. Collections Motivation –hvorfor bruge collections? Realisering af en-til-mange relationer –Importer, erklær,
View Procedures Trigger og Function Jesper Tørresø DAB1 E07 1. november 2007.
DotNET Remoting Præsentation. Beskrivelse af arkitekturen i et dot NET program. Hvad er en Proxy. Klient, server og host begreberne. Marshaling. Eventuelt.
Objekter og klasser Applikationsdesign Code Namespace Value og reference typer Reference type Rasmus D. Lehrmann1.
12 – GUI med Swing. 2 NOEA2009Java-kursus – GUI med Swing Designer view Komponenter Frame Properties Inspector.
Hvordan man skriver koden.
Tietgen Skolen Syntaks: while ( betingelse for loop ) statement; Eksempel: int tal = 0; while ( tal/3 != 4 ) { System.Console.WriteLine(tal); tal = tal.
WCF service Hostet på website x. Opret tomt web applikations projekt.
Tilstandsstyring/Otto Knudsen 1 Tilstandsstyring Motivation ViewState EventTarget, EventArgument.
Masterpages/Otto Knudsen 1 Master Pages Master Pages i ASP.NET 2.0.
Eksekvering/Otto Knudsen 1 Udrulning Publicering af en web-applikation.
Distribution af funktionalitet Webservice med WCF x.
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
Distribution af funktionalitet Webservice med WCF x.
Web service - elementer SOAP (Simple Object Access Protocol) WSDL (Web Service Description language) UDDI (Universal Description, Discovery and Integration)
Web service - elementer SOAP (Simple Object Access Protocol) WSDL (Web Service Description language) UDDI (Universal Description, Discovery and Integration)
ASP.NET Custom Web Controls Deployment. Agenda – ASP.NET Web User Controls Composite Control Rendered Custom Control Deploy en Web Applikation.
OIOSAML.NET og Umbraco ved Thomas Ravnholt silverbullet.dk
Abstrakte klasser og interfaces i Java
Programering af mobile enheder Windows Phone Storage.
WebservicesWebservices Henrik Westergaard Hansen
Begreber og Redskaber 9. Plan for idag I dag: Datastrukturer Tabeller Lister, mængder, maps, grafer Hægtede lister.
Gruppe sort Morten, Peter, Jesper, Spencer & Støving.
Programmering af dynamiske websider pages/tutorials/introducing-aspnet- web-pages-2/intro-to-web-pages- programming.
Collectionklasser Ekstra materiale. Collections Motivation – hvorfor bruge collections? Realisering af en-til-mange relationer – Importer, erklær, initialiser.
Begreber og Redskaber 5. Collections i Java 1.2 Framework: samling af datastrukturer og algoritmer som generelt værktøj. En ramme til at arbejde med søgning.
1 Unified Expression Language Copyright © Lund & Bendsen A/S Unified Expression Language.
Begreber og Redskaber 5. Plan for idag Overblik over klasser,objekter,nedarvning –Repetition fra Dat A/Indledende programmering –Centrale begreber om.
Lektion 7 Læsestof: Kopier fra Caranno
Mønstre En lille introduktion. Singleton Tilgå et objekt igennem klassereference i stedet for objektreference.  Overflødiggør referencer til objektet.
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
Masterpages/Otto Knudsen 1 Navigation på webstedet Kontroller til navigation mellem siderne på webstedet.
10. Datastrukturer. 2 Nordjyllands Erhvervakademi Collections library Datastrukturer i.NET kaldes normalt Collections Findes i namespace System.Collections.
Repetition: Introduktion til OOP med C# og .NET
Comparable Students German Students Composite Pattern State Pattern Observer Pattern Collections Interfaces Abstrakte klasser Design Patterns.
8 RÅD VEDRØRENDE GOD PROGRAMMERING Effective (brown) Java.
Uge 14: distribuerede objekter, fjernprocedurekald, RMI Tirsdag: Introduktion Mulige fordele ved distribuerede objekter Introduktion til RMI: - Interfacets.
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
C#: Udtryk og metoder Kilde: Joe Hummel. 2 Nordjyllands Erhvervakademi – 2008 Indhold “With regards to programming statements and methods, C# offers what.
03 – Udtryk og metoder. 2 NOEA2009Java-kursus – Udtryk og metoder Udtryk i Java Java har standard udtrykene… Værditildeling Subrutiner og funktionskald.
ASP.NET – web site publish. ASP.NET – site-version.
Web Services. OO (C++/ C#/Java) COM DCOM Web Services.
- infrastruktur for kort og geodata Kort- forsyningen Login Password Alt om login på Kortforsyningen.
 Jens Bennedsen 2002Objektorienteret systemudvikling Design -> kode Mapning af et klassediagram til kode.
 Jens Bennedsen 2001Multimedie programmering4.1 Definition af begreber Interface, implements, klasse.
WebApi service part 2 Routning og Action Simpel test-client (javascript) Session og Application data.
WebApi service x.
Simpel test-client (javascript) Session og Application data
Præsentationens transcript:

Session Når man hoster en WCF Service på ASP.NET website, kan man bruge ASP.NET’s Session

using ……….; ………………………….. using System.Web; using System.ServiceModel.Activation; namespace WebApplication { [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)] public class CountService : ICountService { private int count = 0; public int Count() { if(HttpContext.Current.Session["count"] != null) count = (int) HttpContext.Current.Session["count"]; ++count; HttpContext.Current.Session["count"] = count; return count; } ………………………………… Der skal herudover tilføjes aspNetCompatibilityEnabled="true" til serviceHostingEnvironment elementet i web.Config Uddrag af web.Config ……… ………. Implementering af tilgang til ASP.NET session mm for WcfService Man kan på HttpContext.Current også her få tilgang til ASP.NET’s Application objekt (singleton)

Session skal tillades på klienten der anvender en wcfService (.svc), en asp.net webservice (.asmx) eller remoting Bemærk at man her kun får én session for klient-applicationen, hvis man ønsker én pr. service (proxy) klasse skal man anvende endpoint og wsHttpBinding for wcf-service – se mere avanceret senere Uddrag af Config filene på windows- / consoleklient (normalt via app.config) <binding name="BasicHttpBinding_I CountService" allowCookies="true" …………… /> Hvis der i klient programmet ønskes en session pr. Proxy skal man desuden sætte user name og password selv om der ikke kræves login for at bruge servicen. SessionCounterWcfServiceClient serviceProxy = new SessionCounterWcfServiceClient(); serviceProxy.ClientCredentials.UserName.UserName = ""; serviceProxy.ClientCredentials.UserName.Password = ""; int c = serviceProxy.Count(); Session skal tillades på klienten for basicHttpBinding (soap 1.1)

Mere om Session Det næste om session kan man springe over hvis man hoster WCF service på ASP.NET website og vil nøjes med den enkle løsning

Hvis der skal anvendes session på servicen under en WcfServiceApplication (kan ikke bruges på ASP.NET – website under ISS) skal ServiceContract’en tilføjes parametre og den ser således ud: [ServiceContract(SessionMode = SessionMode.Required)] using System.ServiceModel.Web;// indeholder ServiceContract og OperationContract klasserne ……….. namespace MyNamespace { [ServiceContract(SessionMode = SessionMode.Required)] [ServiceContract]// Attribut på interfacet public interface IService1 { [OperationContract]// Attribut på metoder der skal kunne tilgås via servicen (proxyen) string GetData(int value); Interface med kontrakten

Hvis man vil anvende session i selve serviceklasserne med [ServiceBehavior(InstanceContextMode = InstanceContextMode.PerSession)] kan man definere det som i web.config. Dette gøres ved at definere sit service endpoint (angives også i.svc filen) og er endpoint Soap12, sætte kontrakten og binding til wsHttpBinding Denne løsning gælder også hvis én session pr. proxy klasse på klient selv om man bruger ASP.NET Sessions Uddrag af Web.Config for at bruge Session i en WcfServiceApplication …… <endpoint address="Soap12" contract="WcfService1.IService1" binding="wsHttpBinding"/> …… ASP.NET WcfServiceApplication med session <= Her Defineres selve klassen, der implementere kontrakten <= Her Defineres kontrakten (normal interfacet)

Hvis man vil anvende login for at bruge sin service med session fra flere proxy i samme application skal der desuden defineres at man ikke ønsker at der opsættes sikkerhed for servicen definere det vor wsHttpBinding (Sikkerhed udelades i denne runde) Uddrag af Web.Config for at bruge Session i en WcfServiceApplication …… …… ASP.NET WcfServiceApplication med session

WcfServiceApplication med session på serviceobject kræver at man får lavet en wsHttpBinding. Dette kan gøres med en tilføjelse til Web.Config. Denne løsning gælder ikke for WebAppication (ASP.NET) der kører på IIS På ISS kan man heller ikke selv sætte en protokol, den er givet http Uddrag af Web.Config for at bruge Session i en WcfServiceApplication …… <add scheme="http" binding="wsHttpBinding" /> …… WcfServiceApplication med session