我正在使用REST(使用WCF)从过去2年开始,但是对于Entity Model&然而Linq使用了nHibernate。
我用folloiwng做了一个简单的服务: -
NorthwindModel [具有Product,Order和Order_Detail表的数据模型] ProductService作为REST公开,具有特定的配置(不使用WebServiceHostFactory)
服务合同: -
[ServiceContract]
public interface IProductService
{
[OperationContract]
[WebGet(
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Wrapped)
]
IList<Product> GetProducts();
}
服务实施: -
public class ProductService : IProductService
{
#region IProductService Members
public IList<Product> GetProducts()
{
IList<Product> prodList = new List<Product>();
NorthwindEntities ne = new NorthwindEntities();
var query = from category in ne.Products select category;
prodList = query.ToList<Product>();
return prodList;
}
#endregion
}
服务标签: -
<services>
<service name="HellooData.ProductService" behaviorConfiguration="wcfJSONBehavior">
<endpoint address="" behaviorConfiguration="REST" binding="webHttpBinding"
contract="HellooData.IProductService" bindingConfiguration="RESTBINDING">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
<endpoint address="mex" binding="webHttpBinding" contract="IMetadataExchange" bindingConfiguration="RESTBINDING" />
</service>
</services>
绑定: -
<webHttpBinding>
<binding name="RESTBINDING" maxReceivedMessageSize="2147483647" >
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
</binding>
</webHttpBinding>
尝试从浏览器调用服务后,我得到“错误324(net :: ERR_EMPTY_RESPONSE):服务器关闭了连接而没有在Chrome中发送任何数据”错误,而在Mozilla中发送一个空页
尝试调试但是数据被正确获取(77条记录)并且没有任何异常地返回。我在某种程度上对数据的配置或大小有疑问,但不确定。试过了 篡改结果集(只有2而不是77)结果仍然相同。
有人可以说出出了什么问题吗?
答案 0 :(得分:0)
我有这个问题;就我而言,我在SQL控制器完成使用之前就处理了数据库上下文。