0

我的 wcf 数据服务正在使用自托管,当我尝试通过 simploe.odata.client 从 wcf 数据服务中检索数据时,它会抛出一个错误:内部服务器错误。wcf 数据服务代码:public class RFODataService : DataService<RFODBEntities> { public static void InitializeService(DataServiceConfiguration config) { config.SetEntitySetAccessRule(typeof(DETAIL).Name, EntitySetRights.All); config.SetEntitySetAccessRule(typeof(HEADER).Name, EntitySetRights.All); } }

自托管代码:`var currentAssembly = Assembly.GetAssembly(this.GetType()); if (currentAssembly == null) return "Assembly not found"; var types = currentAssembly.GetTypes().Where(w => w.IsClass && w.Namespace.Contains("DataServices")).ToArray();

        for (int i = 0; i < types.Length; i++)
        {
            var svcHost = new DataServiceHost(serviceType, new Uri[] { new Uri(string.Format("http://localhost:{0}/", Port)) });
            svcHost.Open();
        }`

simple.odata.client 代码:`var client = new ODataClient("URL");

        var detail = client.For("DETAIL").FindEntriesAsync();

        string temp = detail.Result.ToString();

        Console.Write(temp);`

麻烦我了,有人知道原因吗?

4

1 回答 1

0

由于您收到 InternalServerError ,因此很可能与服务实现或设置有关。我建议您首先通过在浏览器中运行查询来隔离错误。尝试类似 SERVER_URL/Details(我假设您有一个名为 Details 的实体集)并检查来自服务器的响应。如果这不起作用,那么您的问题是服务器。如果可行,请通过运行 Fiddler 并检查 HTTP 流量来检查您的 Simple.Data.Client 查询。如果生成的查询不同(并且错误),您可以在 Simple.OData.Client GitHub 站点上打开一个问题,我可以对其进行调查。

于 2014-11-11T11:23:46.543 回答