gpt4 book ai didi

c# - 具有通用集合的 WCF REST 服务

转载 作者:行者123 更新时间:2023-11-30 22:29:59 24 4
gpt4 key购买 nike

我正在尝试构建 Restful WCF 服务。在我的 WCF 服务中,我引用了 1 个包含数据访问层的 dll。

我的 WCF 类中有以下方法

public class Search : ISearch
{

public List<Product> GetProductList()
{
ProductDA dataAccess = new ProductDA();
List<Product> obj = new List<Product>();
obj = dataAccess.GetProducts();
return obj;
}

}

我的接口(interface)持有 OPerationContract 如下:

[ServiceContract]
public interface ISearch
{
[OperationContract]
[WebGet(UriTemplate = "getProductList", RequestFormat = WebMessageFormat.Xml, ResponseFormat WebMessageFormat.Xml)]
List<Product> GetProductList();
}

当我运行 url http://localhost:36741/RestService/Search.svc/getFoodTruckNameList 时在浏览器中我收到以下错误:服务器在处理请求时遇到错误

有谁知道为 List<Product> GetProductList(); 调用 [OperationContract] 的正确代码吗? ?

提前致谢。有一段时间我一直在为这个而烦恼..

最佳答案

看看我的 RESTful Web 服务做这样的事情,我通常做一些更接近于:

[CollectionDataContract]
public class Products : List<Product>
{
public Products(IEnumerable<Product> products) : base(products) { }
}

然后你的界面会是这样的:

[ServiceContract]
public interface ISearch
{
[OperationContract]
[WebGet(UriTemplate = "getProductList", RequestFormat = WebMessageFormat.Xml, ResponseFormat WebMessageFormat.Xml)]
Products GetProductList();
}

然后您的服务契约(Contract)将如下所示:

public class Search : ISearch
{
public Products GetProductList()
{
return new Products(new ProductDA().GetProducts());
}
}

关于c# - 具有通用集合的 WCF REST 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9914391/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com