gpt4 book ai didi

vb.net - WCF 和返回的对象名称

转载 作者:行者123 更新时间:2023-12-04 16:58:07 25 4
gpt4 key购买 nike

我是 WCF 的新手,遇到了一个我似乎无法找到答案的问题。

我有两个项目。一个是简单的登录应用程序,另一个是连接到数据库的托管 IIS WCF 服务 (.svc)。这两个项目都是 .NET 4。

WCF 服务有两种方法:“Administrator_Login”和“User_Login”。

每当调用每个方法时,它们都会执行一些与该方法相关的代码:Administrator.Login.Execute 和 User.Login.Execute(我将我的代码组织到命名空间中,Administrator.Login 和 User.Login 是类名和 Execute是方法的名称)。

这两个操作都返回一个不同的“LoginOut”对象,该对象存在于 User.Login 类或 Administrator.Login 类中。

我的问题是:虽然每个操作都组织到 WCF 服务上的命名空间中,但是当我从客户端应用程序向服务添加服务引用并查看返回的对象类型的名称时,我看到的是“LoginOut 和”LoginOut1” .

有没有办法引用命名空间由 WCF 服务返回的客户端应用程序中返回的对象?

我目前必须这样做:

Dim loginOut As Service.LoginOut = Service.Administrator_Login().Execute() 
Dim loginOut As Service.LoginOut1 = Service.User_Login().Execute()

但我希望能够做到:
Dim loginOut As Service.Administrator.Login.LoginOut = Service.Administrator_Login().Execute() 
Dim loginOut As Service.User.Login.LoginOut = Service.User_Login().Execute()

任何帮助将不胜感激。

最佳答案

如果您将“LoginOut”的定义分离到一个类库中,然后从您的客户端项目中引用该类库,并更新服务引用,那么您应该得到您正在寻找的行为。如果不执行 configureServiceReference,请单击高级并确保选中“在所有引用的程序集中重用类型”。

请注意,这不是执行 SOA 的“纯”方式。这以一种可能会给您带来麻烦的方式将您的客户端和 Web 服务绑定(bind)在一起。但是,我自己在不同的小规模情况下完成了此操作,并且没有遇到任何问题。

此解决方案可能有点繁重,具体取决于所需的行为。它涉及向每个客户端分发库 DLL 的副本。这可能非常强大,因为您可以使用数据有效地分配行为,但对于手头的问题可能会有些过分。

关于vb.net - WCF 和返回的对象名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13445447/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com