我正在尝试运行 MCTS 70-516 书中的示例,更具体地说是第 470 页上的示例。
要求/创建什么:
Northwind
数据库_- 一个空的 ASP.Net Web 解决方案
CustOrderHist
包含所有表和存储过程的 edmx
然后创建以下.svc
文件:
using System.Data.Services;
using System.Linq;
using System.ServiceModel.Web;
namespace WcfDataServicesLibrary
{
public class NorthwindService : DataService<NorthWindEntities>
{
// This method is called only once to initialize service-wide policies.
public static void InitializeService(DataServiceConfiguration config)
{
config.SetEntitySetAccessRule("*",EntitySetRights.All);
config.SetServiceOperationAccessRule("*",ServiceOperationRights.All);
config.SetEntitySetAccessRule("*", EntitySetRights.AllRead);
}
[WebGet]
public IQueryable<CustOrderHist_Result> CustOrderHist(string customerID)
{
using(NorthWindEntities db = new NorthWindEntities())
{
return CustOrderHist(customerID).ToList().AsQueryable();
}
}
}
}
然后我尝试按照文中的指示运行它:
"http://localhost:65363/NorthwindService.svc/CustOrderHist?customerID='ALFKI'"
然后我收到错误消息 StackOwerFlowException。
为什么 ?
我尝试了以下方法:
- 更改过程以仅返回一行
- 创建一个返回字符串的新过程
没变。同样的结果。
我有一台 32 位机器(Windows Vista)。所以64位不是问题。
任何线索将不胜感激。