将额外参数传递给asmx webservice
我有一个已经存在的web服务,它具有从应用程序中调用的100个函数。将额外参数传递给asmx webservice
我需要在每次调用时将多个参数(UserId)从应用程序添加到webservice。
我将不得不手动编辑所有函数的签名和来自应用程序的调用来实现它。
有没有更好的/替代的方式发送我的用户名到webservice在每次通话?
100s的方法有不同的方法签名。 如果方法签名共享同一个对象,则可以为该对象添加额外的参数,至少不需要为这些方法更改参数。
否则,必须更改SOAP标头,并在每个请求的标头中附加“UserId”。
任何如何,我认为需要做大量的工作..
如果您还没有启用会议和Web服务在同一台服务器上运行。
[WebMethod(EnableSession = true)]
您可以将其存储在会话,
Session["UserID"] = User.Identity.GetUserId<int>();
和访问这个样子,
HttpContext.Current.Session["UserID"];
感谢您的知识。我有我的web服务在不同的服务器上。并且正在被其他服务器上的许多应用程序使用。有其他方法吗? – shaikhspear
好吧,如果你唯一的方法是给这100个函数添加一个额外的参数,那么恐怕你必须像这样添加它。 – choz
不知道如果可能的话,也许在标题发送不知何故? –
调用另一个获取每个函数的id的服务? – jmc