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 が表示されます。
なんで ?
私は次のことを試しました:
- 1 行だけを返すようにプロシージャを変更するには
- 文字列を返す新しいプロシージャを作成します
変化なし。同じ結果です。
32 ビット マシン (Windows Vista) を使用しています。したがって、64 ビットは問題ではありません。
手がかりは大歓迎です。