Ich entwickle einige RESTful-Dienste in WCF 4.0. Ich habe, wie unten ein Verfahren bekommt:Optionale Abfragezeichenfolgeparameter in URITemplate in WCF?
[OperationContract]
[WebGet(UriTemplate = "Test?format=XML&records={records}", ResponseFormat=WebMessageFormat.Xml)]
public string TestXml(string records)
{
return "Hello XML";
}
Also, wenn ich zu http://localhost:8000/Service/Test?format=XML&records=10 meinen Browser navigieren, dann funktioniert alles wie exepcted.
JEDOCH möchte ich in der Lage sein, zu http://localhost:8000/Service/Test?format=XML zu navigieren und den "& records = 10" Teil der URL wegzulassen. Aber jetzt erhalte ich einen Dienstfehler, da der URI nicht mit der erwarteten URI-Vorlage übereinstimmt.
Also wie implementiere ich Standardwerte für einige meiner Abfragezeichenfolgenparameter? Ich möchte die "records" beispielsweise auf 10 setzen, wenn dieser Teil von der Abfragezeichenfolge weggelassen wird.
Damit gut zu funktionieren scheint. Wenn ich jedoch versuche, den Komponententest auszuführen, funktioniert es nicht mehr, da ein Komponententest keinen WebOperationContext hat. Ich habe ein paar Beispiele gesucht, aber hat jemand ein einfaches Beispiel dafür, wie man den WebOperationContext überspitzt? – Shafique
Probieren Sie Googlen "Mock WebOperationContext". Es gibt viele verschiedene Ideen, wie man das macht. – luksan
Gib dem Mann +1, seine Lösung funktioniert! Hier fange ich an. – EdgarVerona