Silverlight - 创建了一个新的域服务,但如何从客户端访问它?
我使用了 SL 业务应用程序模板,并在解决方案的 .Web 部分的“服务”文件夹中添加了一个新的空白域服务。该类是DomainService1,继承自DomainService。它包含一个方法:
public class DomainService1 : DomainService
{
public string Hello()
{
return "Hello World";
}
}
如何从客户端访问该服务方法?我似乎无法在所有客户端创建域服务的实例......
I have used the SL business application template and added a new blank, empty domain service in my Services folder on the .Web part of the solution. The class is DomainService1 and inherits from DomainService. It contains one method:
public class DomainService1 : DomainService
{
public string Hello()
{
return "Hello World";
}
}
How do I access this service method from the client? I can't seem to create an instance of the domain service at all client side.....
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
客户端代码由 RIA 服务生成。
要访问继承 DomainService 的服务,您需要在客户端创建一个新上下文。
将名称中的“服务”部分替换为“上下文”。
UserService = UserContext、ArticleService = ArticleContext 等
客户端代码
服务代码
The client side code is generated by RIA Services.
To access services that inherits DomainService you create a new context on the client side.
Replace the "Service" part of the name with "Context".
UserService = UserContext, ArticleService = ArticleContext etc.
Client code
Service code
请确保您已为您的项目启用 RIA 服务。
如果您的服务名称以
service
标记结尾,那么您将能够将其转换为上下文就像我的服务名称是
DomainService1
那么在客户端可以通过DomainContext1
访问它。如果在服务器端,我的Domainservice名称是ABC
,那么我可以直接通过名称访问它,不需要上下文。服务代码:
客户代码:
在客户端,您必须声明一个命名空间,例如
system.your web project.web.servicesmodel.client
现在,
// 第一个参数是回调方法,第二个参数对您来说并不重要,并且第三,如果发生任何异常,
现在您可以将 Hello World 作为
MessageBox
获取。Please make sure you have enabled the RIA service for your project.
If your service name ends with a
service
tag then you will be able to convert it to a contextlike my service name is
DomainService1
then at client side it could be accessed byDomainContext1
. If on the server side, my Domainservice name isABC
, then I can directly access it by name, there is no need to context.Service code:
Client code:
On the client side you have to to declare a namespace like
system.your web project.web.servicesmodel.client
Now,
// first parameter is callback method, the second is not important for you, and the third is if any exception occurs then,
Now you can get the Hello World as a
MessageBox
.