C# WCF并将代理代码移动到DLL。可能吗?

C# WCF并将代理代码移动到DLL。可能吗?,c#,wcf,proxy,C#,Wcf,Proxy,看起来我无法成功地将我的WCF代理代码移动到一个单独的DLL中(与我在遇到的所有示例中看到的EXE相反) 我尝试这样做的原因是,我希望我的代理代码被不同的客户机调用(可能是非托管代码),这些客户机可能不了解WCF,但只需要访问服务(可能是通过代理公开的门面) 每当我将以下创建新代理的代码移动到同一解决方案中的另一个VS项目时,就会出现可怕的“在ServiceModel客户端配置部分中找不到引用约定“localhost.IRemoteCommandService”的默认端点元素”异常 只要在代理代

看起来我无法成功地将我的WCF代理代码移动到一个单独的DLL中(与我在遇到的所有示例中看到的EXE相反)

我尝试这样做的原因是,我希望我的代理代码被不同的客户机调用(可能是非托管代码),这些客户机可能不了解WCF,但只需要访问服务(可能是通过代理公开的门面)

每当我将以下创建新代理的代码移动到同一解决方案中的另一个VS项目时,就会出现可怕的“在ServiceModel客户端配置部分中找不到引用约定“localhost.IRemoteCommandService”的默认端点元素”异常

只要在代理代码所在的同一项目(从VisualStudio自动生成)的主方法中使用相同的代码,该代码就会顺利工作

有什么想法吗?我希望我的代理的客户机代码不需要将服务模型XML配置作为代理,因为这将破坏我首先将WCF代理代码移动到DLL中的目的

谢谢,
Stefano

端点通常在配置文件中指定。您必须查看配置文件中的serviceModel数据,并将其复制到调用的app.config中,或者您需要使用更详细的方式在代码中创建代理(即通过代码向构造函数指定地址、绑定、配置等)。

如果您不想在客户端上进行端点配置,您必须通过在代码中指定所有内容,将其嵌入到代理dll中


另一种选择是使用动态代理,如下图所示,这将允许您在客户端应用程序中不使用serviceModel

谢谢,编码结束点信息成功了(尽管我希望我可以避免)。
localhost.RemoteCommandServiceClient proxy = 
    new localhost.RemoteCommandServiceClient();