将额外参数传递给 asmx 网络服务
本文关键字:asmx 网络服务 参数传递 | 更新日期: 2023-09-27 17:57:24
我有一个已经存在的Web服务,其中包含从应用程序调用的100多个函数。
我需要在每次调用时从应用程序到 Web 服务再添加一个参数 (UserId)。
我必须手动编辑所有函数的签名和来自应用程序的调用才能实现它。
是否有更好/替代的方法在每次调用时将我的用户 ID 发送到网络服务?
100 个方法具有不同的方法签名。如果方法签名共享同一对象,则可以向该对象添加额外的参数,并且至少不需要更改这些方法的参数。
否则,必须更改 SOAP 标头并在每个请求的标头中附加"UserId"。
无论如何,我认为需要做很多工作..
如果
尚未启用会话,并且 Web 服务在同一台服务器上运行。
[WebMethod(EnableSession = true)]
您可以将其存储在会话中,
Session["UserID"] = User.Identity.GetUserId<int>();
并像这样访问它,
HttpContext.Current.Session["UserID"];