背景信息
在使用 Windows Azure 和 WCF RIA 服务进行开发时,我见过很多随机错误和总体令人沮丧的情况,但这确实是巅峰之作。
我有一个具有以下架构的应用程序:2个Web角色(MVC3和带有Silverlight RIA的ASP.NET)=>业务层=>数据层(外部服务/表存储/SQL Azure)。 ASP.NET 服务(配置文件/角色/ session )存储在表存储中。
由于最近的要求发生变化,需要添加移动网站。我想共享两个 GUI 项目的(服务器端)ViewModel。举例说明:
我的问题
现在,当我的项目托管在 Windows Azure 环境中时,我遇到了可怕的“未找到”异常。使用 fiddler,我发现它返回以下异常:
The Entity 'XXModel' in DomainService 'XXService' does not have a key defined. Entity types exposed by DomainService operations must have at least one public property marked with the KeyAttribute.
奇怪的是,这个东西在本地Azure开发环境中运行完美,但上传到云端时就不行了。我认为这个错误与 ViewModel 现在与 RIA 服务位于不同的程序集中有关,但为什么它会在本地而不是远程工作?
如果有人需要任何补充信息,我很乐意回答您的问题。
最佳答案
我已经解决了这个问题。看起来,只有在 Windows Azure 中托管时,RIA 服务似乎无法从与托管服务的程序集不同的程序集中定义的模型类中获取属性。
关于.net - WCF RIA 服务和 Windows Azure => 实体没有定义 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7201917/