gpt4 book ai didi

c# - 将类库公开为 WCF 服务

转载 作者:行者123 更新时间:2023-11-30 21:24:16 25 4
gpt4 key购买 nike

我有一个类库,我想将其作为 WCF 服务公开给外界。我的类包含抽象类、普通类、枚举等。

我只是想人们可以在他们的项目中创建我的类库的“服务引用”,然后他们开始使用它。

我该如何实现?

最佳答案

如果你还没有完成这个,你可以通过不开始来避免犯下一个大错误。

类库被设计成类库。服务被设计成服务。它们是两个不同的事物,有着不同的目标。

例如,您可能已经定义了一个枚举,一个具有该枚举类型属性的 EventArgs 派生类,以及一个采用该 EventArgs 类型的事件处理程序委托(delegate),并且您可能有一个或多个公开事件的类使用该委托(delegate)类型。

在服务中公开这些东西都没有任何意义!

相反,您应该做的是设计您的服务以公开您想要公开的功能。为此,该服务当然会使用您的类库。

类库和服务之间的一个不同之处在于,服务应该设计为可跨平台使用。考虑一下当 Java 客户端使用您的服务时会发生什么:它将有一个代理类对应于您的服务公开的操作。这些代理方法将具有原始类型的参数,以及与传入和传出您的服务的数据结构相匹配的代理类型的参数。

Java 客户端显然不会使用您的服务器端操作使用的相同 .NET 类型!

构建 .NET 客户端的默认方式与此完全相同 - 通过代理类。您的问题表明您希望公开类库会将实际类导出到客户端。事实并非如此。如果您决定将客户端耦合到服务器使用的确切 .NET 类,那么客户端将需要具有服务器端程序集,就像客户端使用普通类库一样。

关于c# - 将类库公开为 WCF 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1276850/

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