我希望在c#中使用代理对象。我可能会通过Windows Communication Foundation实现网络连接。到目前为止,我刚刚制作了一个非常基本的WCF服务,该服务适用于同一台计算机上的不同进程。我希望客户端类能够在同一进程上使用真实对象,并使用代理对象通过Internet访问真实对象。现在我可以为所有方法手动创建一个接口,我想在互联网上使用,手动创建一个代理类,调用每个方法的服务,并在服务主机和服务客户端上手动创建每个服务
然而,无论如何我可以通过WCF或任何软件自动创建接口和代理类?
答案 0 :(得分:5)
听起来你想要使用的是svcutil.exe
,它旨在读取服务的元数据并创建C#类。
文档在这里:http://msdn.microsoft.com/en-us/library/aa347733.aspx
,更具体地说:http://msdn.microsoft.com/en-us/library/aa751905.aspx
有一个广泛的(非常广泛的!)选项范围控制生成的代理类。最简单的
svcutil http://service/metadataEndpoint
将读取元数据并一次创建C#类。
或者,如果您使用的是Visual Studio 2005或更高版本,请右键单击项目,选择“添加服务引用...”并按照对话框生成客户端代理。这使您可以轻松自定义代理类。
请注意,您需要发布某种元数据才能使该实用程序正常工作。有关启用此功能的详细信息,请参见此处:http://msdn.microsoft.com/en-us/library/ms734765.aspx。