Passing Extra Parameter to asmx webservice

567 Views Asked by At

I have an already existing webservice having 100s of functions being called from the application.

I need to add one more parameter (UserId) from application to webservice on each call.

I'll have to manually edit signatures of all the functions and calls from application to achieve it.

Is there a better / alternative way of sending my User Id to webservice on each call?

2

There are 2 best solutions below

0
On

100s of method have different method signatures. If method signature shares a same object, you can add extra parameter to that object and don't need to change parameters for those methods at least.

Otherwise, have to change SOAP Header and append "UserId" in the header of every request.

Any how I think need to do lot of work..

2
On

If you haven't enabled session and the web service is running on the same server.

[WebMethod(EnableSession = true)]

You can store it in session,

Session["UserID"] = User.Identity.GetUserId<int>();

And access it like this,

 HttpContext.Current.Session["UserID"];