summaryrefslogtreecommitdiffstats
path: root/samples/Consumer/SampleWcf.aspx.cs
diff options
context:
space:
mode:
Diffstat (limited to 'samples/Consumer/SampleWcf.aspx.cs')
-rw-r--r--samples/Consumer/SampleWcf.aspx.cs17
1 files changed, 11 insertions, 6 deletions
diff --git a/samples/Consumer/SampleWcf.aspx.cs b/samples/Consumer/SampleWcf.aspx.cs
index 4f7730f..a6cdc8f 100644
--- a/samples/Consumer/SampleWcf.aspx.cs
+++ b/samples/Consumer/SampleWcf.aspx.cs
@@ -29,6 +29,16 @@ public partial class SampleWcf : System.Web.UI.Page {
}
protected void getNameButton_Click(object sender, EventArgs e) {
+ string name = CallService(client => client.GetName());
+ Response.Write(name);
+ }
+
+ protected void getAgeButton_Click(object sender, EventArgs e) {
+ int age = CallService(client => client.GetAge());
+ Response.Write(age);
+ }
+
+ private T CallService<T>(Func<DataApiClient, T> predicate) {
DataApiClient client = new DataApiClient();
var serviceEndpoint = new MessageReceivingEndpoint(client.Endpoint.Address.Uri, HttpDeliveryMethod.AuthorizationHeaderRequest | HttpDeliveryMethod.PostRequest);
var accessToken = Session["WcfAccessToken"] as string;
@@ -37,15 +47,10 @@ public partial class SampleWcf : System.Web.UI.Page {
HttpRequestMessageProperty httpDetails = new HttpRequestMessageProperty();
httpDetails.Headers[HttpRequestHeader.Authorization] = httpRequest.Headers[HttpRequestHeader.Authorization];
- string name;
using (OperationContextScope scope = new OperationContextScope(client.InnerChannel)) {
OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = httpDetails;
- name = client.GetName();
+ return predicate(client);
}
- Response.Write(name);
- }
-
- protected void getAgeButton_Click(object sender, EventArgs e) {
}
private Consumer CreateConsumer() {