【发布时间】:2016-12-27 10:07:30
【问题描述】:
我想在 asmx Web 服务中定义一个在所有 Web 方法之间共享的属性。 这是我的问题:
代码:
myWS test1 = new myWS();
test1.SetToken(UserID1);
test1.AnotherMethod();
//stuff...
myWS test2 = new myWS();
test2.SetToken(UserID2);
test2.AnotherMethod();
网络服务:
[WebService(Namespace = "http://test.ir/")]
public class myWS : System.Web.Services.WebService
{
public string Token { get; set; }
Public void SetToken(int UserID){
this.Token= BLL.GetToken(UserID);
}
Public void AnotherMethod(){
BLL.CheckToken(Token);//i want token value be per every myWS web service defined
}
}
注意事项: * 静态属性不好,因为是所有用户共享,我希望令牌值在每个 myWS 测试中都是唯一的 = new myWS()
谢谢。
编辑:
我的应用程序在每个用户启动时都在 PC 上运行,并且所有实例都调用我的 Web 服务
【问题讨论】:
-
我不明白。您当前的实施有什么问题? Token 是一个实例变量,因此它对于 myWS 的每个实例都不同
-
认为他想要基于会话的身份验证。
-
@alessiobortolato:我在第一个方法中填写令牌,但是当第二个调用时,令牌属性为空,这听起来每个 Web 方法请求都有它的属性,并且仅在该请求中意味着,我的应用程序运行每个用户都有一台电脑启动,所有实例都调用我的网络服务
-
尝试使用会话环境。看看这个问题stackoverflow.com/questions/140627/…
标签: c# web-services asmx