0

测试

public string username { get; set; }
public void Test(string test)
{
    this.username = test;
}
public string Get()
{
     return this.username   
}

测试

[OperationContract]
public string Get();

[OperationContract]
public void Test(string test);

测试项目

var webapi3 = new v3.TestClient("BasicHttpBinding_IProductData1");
webapi3.Test("TestString");
var u = webapi3.Get();

问题

为什么u仍然是空的,不管我尝试什么?

4

3 回答 3

4

public void Test(string test) { this.username = test; // test not username? }

于 2013-03-15T11:39:07.733 回答
0

第二个调用Get()可能会在另一个线程上接听。如果要在服务器上设置状态,则需要设置为username静态。

您正在通过 HTTP(一种无状态协议)进行通信。

除了使字段静态之外,还有其他选择,但这至少可以通过测试。

于 2013-03-15T11:38:33.427 回答
0

我假设

public void Test(string test)
{
   this.username = username;
}

应该:

public void Test(string test)
{
   this.username = test;
}
于 2013-03-15T11:41:31.233 回答