C# 提供整个图书馆';s通过WCF提供的功能

C# 提供整个图书馆';s通过WCF提供的功能,c#,wcf,service,client,operationcontract,C#,Wcf,Service,Client,Operationcontract,我想构建一个WCF服务应用程序,该应用程序应该使用我的一个库,以便使该服务的客户端可以使用该库的所有方法。一定有比为我的库的每个方法显式编写OperationContract更好的方法,它充当某种代理并在服务器端调用库的实际方法,以便获取返回值并将其返回给客户端 一定有比显式编写 我的图书馆每种方法的操作合同 不,不是真的 还请记住,库通常是有状态的,即实例化一个对象,当您针对该对象调用实例方法时,您在实例级别保存私有成员时会保留状态 只有静态方法可以“直接”映射到服务操作 最可能的情况是,您可

我想构建一个
WCF服务
应用程序,该应用程序应该使用我的一个库,以便使该服务的客户端可以使用该库的所有方法。一定有比为我的库的每个方法显式编写
OperationContract
更好的方法,它充当某种代理并在服务器端调用库的实际方法,以便获取返回值并将其返回给客户端

一定有比显式编写 我的图书馆每种方法的操作合同

不,不是真的

还请记住,库通常是有状态的,即实例化一个对象,当您针对该对象调用实例方法时,您在实例级别保存私有成员时会保留状态

只有
静态
方法可以“直接”映射到服务操作


最可能的情况是,您可能希望从头开始编写WCF契约,以使其服务友好(即无状态),并且可能具有互操作性(故障而不是异常……等等)。

如果您希望访问这些方法,您需要为它们创建操作契约


您可以通过创建一个小应用程序来简化这一过程,该应用程序循环遍历代码文件、查找和方法签名,然后为接口格式化它们。然后您只需要将代码复制到界面中。

您可以尝试组合相关方法。当然,这并不总是可能的。但归根结底,如果你想调用这个方法,你必须有一个操作合同。也许让我们了解一下您正在使用的内容可以帮助我们建议其他路径。我有一个库,它提供了一些方法来管理我的域的active directory,我想通过WCF使其可用。通过这种方式,库可以保持在原来的位置,并且仍然可以通过WCF客户端远程使用。如果你想访问这些方法,你必须对每个方法都有一个操作合同。这不是我想要的,但还是要谢谢你。因此,没有解决办法是没有好办法的。是的,这并不理想,但循环不应该超过10-15分钟。您可能会生成.svc文件的方法和代码,以便同时调用其他方法。