今天在第一次測試時,碰到這樣的訊息
問題
The server encountered an error processing the request. See server logs for more details.
測試的過程是這樣的
- 建立一個 Web application
- 建立一個 Linq to sql dbml file,上頭拖了一個 Company 的 table
- 建立一個 ADO.NET Data Service,並修改名稱為 Service.svc
- 修改 Service.svc.cs 如下
public class Service : DataService{ public static void InitializeService(IDataServiceConfiguration config) { config.SetEntitySetAccessRule("*", EntitySetRights.AllRead); config.SetServiceOperationAccessRule("*", ServiceOperationRights.All); } }
解決
頁面上什麼也沒有,只有這一行字。Google了一下。原來加上一行 attribute 即可[ServiceBehavior(IncludeExceptionDetailInFaults=true)] public class Service : DataService{ public static void InitializeService(IDataServiceConfiguration config) { config.SetEntitySetAccessRule("*", EntitySetRights.AllRead); config.SetServiceOperationAccessRule("*", ServiceOperationRights.All); } }
意思是 Company 沒有key
所以在dbml 上加上 partial class, code 如下
[DataServiceKey("OID")] partial class Company { }如此一來就解決了問題。
沒有留言:
張貼留言