我需要通過服務契約根據請求類型返回xml/json結果。我還需要一種輔助函數,它將轉換我的結果集(我正在使用linq sql),所以我不需要通過迭代遍歷錶行來多次創建結果集的xml格式。什麼是合適的方式來做到這一點。從wcf服務返回wcf/json結果
我需要一種捷徑方法,它將表格數據轉換爲xml result.Had我一直在使用asp.net mvc,我將能夠通過覆蓋ActionResult中的ExecuteResult方法來生成xml數據,並且Conetnt-Type =「text/xml」作爲OP.But因爲我使用 Wcf我沒有控制器上下文(因爲控制器上下文是需要傳遞給執行結果的參數)。
我現在的表格數據轉換爲xml格式的代碼如下。
public XDocument UsersLists(string authToken)
{
bool IsAuthenticated = Authenticate(authToken);
XDocument xDoc = new XDocument();
XElement root = new XElement("Users");
if (IsAuthenticated)
{
List<User> lstUsers = _lService.UserRepository.GetUserCompanyFromAccountID(GetAccountId(authToken)).ToList();
if (lstUsers != null)
{
root.Add(new XElement("Message", "Success"));
foreach (var u in lstUsers)
{
XElement chid = new XElement("User");
root.Add(new XElement("UserId", u.UserId));
root.Add(new XElement("FirstName", u.FirstName));
root.Add(new XElement("LastName", u.LastName));
root.Add(new XElement("Email", u.Email));
root.Add(new XElement("CompanyName", u.Company.CompanyName));
root.Add(chid);
}
xDoc.Add(root);
return xDoc;
}
else
{
return ReturnFailure(xDoc, root);
}
}
else
{
return ReturnFailure(xDoc, root);
}
}
我需要消除這種爲每個表記錄生成xml的方式。
早期的迴應是無價的。 謝謝
技術:Windows通信基金會。