Gå til innhold

C#: Hvordan parse DateTime i Webservice selv?


Anbefalte innlegg

Skrevet

Jeg har denne metoden i en webservice:

[WebMethod]
public ReturnList GetList(string id, System.DateTime fromDate)

Dersom jeg skriver inn en ugyldig dato når jeg tester webservicen, får jeg opp en html-side med feilmelding og stacktrace. Ikke noe soap-message her, men en html-side generert av microsoft...

 

Hvordan kan jeg bli kvitt denne?

 

Jeg har lyst til å parse datoen selv, og sende tilbake et ReturList objekt med en tilpasset feilmelding. Men jeg vil ikke bruke string istedenfor dateTime, da jeg vil at feltet skal være dateTime i wsdl'en...

  • 1 måned senere...
Videoannonse
Annonse
Skrevet

Du kan jo eventuelt endre datatypen på fromDate-parameteret til string, og parse manuelt inni metoden. Da kan du bruke DateTime.TryParse() og behandle det akkurat slik du måtte ønske

Skrevet
Du kan jo eventuelt endre datatypen på fromDate-parameteret til string, og parse manuelt inni metoden. Da kan du bruke DateTime.TryParse() og behandle det akkurat slik du måtte ønske

 

Det var akkurat det jeg gjorde :) Fant ut at det er mulig å bruke DateTime og skrive kode som overstyrer Microsoft sin standard måte å behandle feil på. Men da må en manipulere selve soap-meldingene, og det hele virket litt innviklet..

Skrevet (endret)

Jeg skjønner ikke hvorfor du må gjøre noe som helst med SOAP meldingene her. Hvis du har en metode som tar imot en STRING i stedet for en DateTime så er det vel du, i den metoden, som håndterer dette. Har vel ingenting med SOAP å gjøre det så vidt jeg kan se

 

[WebMethod]
public ReturnList GetList(string id, string fromDate)
{
DateTime MottattDateTime;
if (DateTime.TryParse(fromDate, out MottattDateTime) == true)
	// Vips så har du konvertert en streng til DateTime
else
	// To many fingers on Keyboard Error!
			return NULL;
}

 

Så er det jo bare for deg å sjekke om du får en liste eller ikke. Eller du kan finne på en annen måte å informere mottaget på at dette var feil. Mange veier som fører frem her

Endret av HDSoftware
Skrevet (endret)

Jeg er enig med HDSoftware. Kan du ikke enten ta imot en string, eller sjekke at den funksjonen som kaller din funksjon klarer å parse teksten? Det er for sent å behandle feil post mortem.

Endret av GeirGrusom

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...