在RIA Services中使用Data Annotations可以非常方便的实现数据验证,并且Data Annotation可通过资源文件.resx实现本地化。这里最大的挑战是如何在Silverlight端与WCF端共享资源文件。
如何实现资源文件的共享?
服务端项目文件设置(VB.NET项目)如下:
图1-1: 服务端资源文件 - ValIDationStrings.Designer.vb中的构造函数修改为Public (此为VS的BUG,每次改动resx文件,需手动修改)
图1-2 VB.NET默认 namespace为"My.Resources",这里去掉
图1-3 Domain Service的Metadata文件中可使用Data Annotation 的本地化参数
Silverlight端项目文件设置如下:
图2-1 "链接添加"现有的服务端项目资源文件
图2-2 编辑Silverlight项目文件,添加图中高亮内容
图2-3 继续添加图中高亮内容,Logicalname中使用服务端项目的根命名空间名称
图2-4 编译Silverlight项目,可查看自动生成的代码中已经在Silverlight端使用了Data Annotation及本地化参数
通过以上设置,就实现了Data Annotation本地化资源文件在Silverlight端与服务端的共享。效果如下:
参考1:http://forums.silverlight.net/forums/p/184013/420509.aspx
参考2:http://msdn.microsoft.com/en-us/library/ms164295(v=vs.90).aspx
资源1:使用反编译器查看assembly中的资源文件命名,可有助于发现问题。Reflector不再免费,可用JustDecompile
总结以上是内存溢出为你收集整理的Silverlight, RIA Services, Data Annotation与本地化资源文件共享全部内容,希望文章能够帮你解决Silverlight, RIA Services, Data Annotation与本地化资源文件共享所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)