我已经创建了一个RIA服务类库项目,事情并没有像我预期的那样。问题是,当我将域服务类添加到服务器项目时,不会在客户端项目上生成相应的域上下文类。
我首先创建一个类型为 WCF RIA服务类库的新项目。生成的解决方案有两个项目:RIAServicesLibrary1
(Silverlight类库项目)和RIAServicesLibrary1.Web
(将保存服务的类库)。
然后我将一个新项目项添加到 DomainServiceClass 类型的RIAServicesLibrary1.Web
。我添加了一个示例方法,以便生成的类代码为:
namespace RIAServicesLibrary1.Web
{
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.ServiceModel.DomainServices.Hosting;
using System.ServiceModel.DomainServices.Server;
// TODO: Create methods containing your application logic.
[EnableClientAccess()]
public class DomainService1 : DomainService
{
[Invoke]
void DoSomething()
{
}
}
}
然后我生成整个解决方案......客户端项目没有任何反应。 Generated_Code
文件夹为空,并且该服务的域上下文对象不在此处。
有趣的是,如果我添加一个类型身份验证域服务的新项目,它会按预期工作:在客户端项目上创建文件RIAServicesLibrary1.Web.g.cs
,其中包含{{1}按预期分类。
那么这里发生了什么?我做错了吗?
注意:我使用的是Visual Studio 2010 Ultimate RTM和WCF RIA服务1.0。
答案 0 :(得分:2)
将其更改为:
[Invoke]
public void DoSomething()
{
}
没有'公开'意味着没有任何东西可以产生。