当我将以下内容调用到自定义控制器以将数据返回给我的客户端(Windows Phone 8.1 app
)时:
var _lines = await App.MobileService.InvokeApiAsync<List<Tfl.Api.Presentation.Entities.Line>>("lines", System.Net.Http.HttpMethod.Get, new Dictionary<string, string>
{
{"url", "http://api.tfl.gov.uk/Line"}
});
我收到了以下Exception
: -
FileNotFoundException was caught
Could not load file or assembly 'System.Runtime.Serialization,
Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one
of its dependencies. The system cannot find the file specified.
但是,我通过控制器成功解析了JSON
数据,而且我的Windows Phone应用程序中也没有引用上面的dll。
[更新]
使用客户端的System.Runtime.Serialization 4.0.0.0(面向.NET 4.5)对数据进行反序列化。我正在使用此处找到的第三方DLL(api.tfl.gov.uk),其中包含将数据从JSON映射到对象结构所需的所有数据传输对象。
我也在控制台应用程序中测试了这个DLL,并按预期运行,反序列化和映射数据等;问题可能是我使用的包含DataContract和DataMember注释的DLL不能用作Windows Phone 8.1应用程序中的引用吗?
我这样说是因为我有一个解决方案,我使用相同的代码(减去序列化注释)将DLL中的DTO模式“复制”到普通模型中,然后JSON能够反序列化并映射到手机中的那些。
所以解决方案是创建我自己的模型,但是如果你有任何其他的想法/解决方法,将来很高兴知道我可以引用第三方DLL。
有什么想法吗?
- 大卫