[英]C# list issue in WCF
我一直在研究wcf應用程序,並一直試圖從sql服務器數據庫返回名稱列表。 我的主要問題是我的select *語句僅返回列表的最后一個值。 這是代碼。
名稱型號:
public Name GetName()
{
Name name = new Name();
using (SqlCommand objcmd = new SqlCommand("Select * from Names", sql))
{
SqlDataReader reader = objcmd.ExecuteReader();
while (reader.Read())
{
name.NameID = reader.GetInt32(0);
name.Name = reader["Name"].ToString();
}
}
return name;
}
.SVC:
public Name GetNames()
{
Name serviceName = new Name();
NamesModel model = new NamesModel();
Name modelName = model.GetName();
serviceName.NameID = modelName.NameID;
serviceName.Name = modelName.Name;
model.Close();
return serviceName;
}
名稱服務:
[OperationContract]
[WebGet(ResponseFormat = WebMessageFormat.Json, UriTemplate = "getnames")]
Name GetNames();
我嘗試將值打印到列表中,但是某處似乎斷開連接。 任何幫助都會很棒。 謝謝。
不確定,但是明確顯示的代碼不會返回任何列表。
我嘗試猜測您的意圖並建議以這種方式進行更改。
public List<Name> GetNames()
{
List<Name> names = new List<Name>();
using (SqlCommand objcmd = new SqlCommand("Select * from Names", sql))
{
SqlDataReader reader = objcmd.ExecuteReader();
while (reader.Read())
{
Name name = new Name();
name.NameID = reader.GetInt32(0);
name.Name = reader["Name"].ToString();
names.Add(name);
}
}
return names;
}
.SVC:
public List<Name> GetNames()
{
NamesModel model = new NamesModel();
List<Name> names = model.GetNames();
// ?? serviceName.NameID = modelName.NameID;
// ?? serviceName.Name = modelName.Name;
model.Close();
return names;
}
名稱服務:
[OperationContract]
[WebGet(ResponseFormat = WebMessageFormat.Json, UriTemplate = "getnames")]
List<Name> GetNames();
您只會得到一個名字,因為您只會填寫一個名字。 您需要在while循環中填寫一個列表,然后將其返回。
http://msdn.microsoft.com/en-us/library/6sh2ey19.aspx
模型:
public List<Name> GetNames()
{
List<Name> names = new List<Name>();
using (SqlCommand objcmd = new SqlCommand("Select * from Names", sql))
{
SqlDataReader reader = objcmd.ExecuteReader();
while (reader.Read())
{
Name name = new Name();
name.NameID = reader.GetInt32(0);
name.Name = reader["Name"].ToString();
names.Add(name);
}
}
return names;
}
.SVC
public List<Name> GetNames()
{
NamesModel model = new NamesModel();
List<Name> serviceNames = model.GetNames();
model.Close();
return serviceNames;
}
名稱服務
[OperationContract]
[WebGet(ResponseFormat = WebMessageFormat.Json, UriTemplate = "getnames")]
List<Name> GetNames();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.