有服务器端“端点”…………
但是在客户端........你必须添加一些指向服务器端端点的条目。
要回答您的问题(否),您必须在客户端定义信息。
它基本上是在说“在这里可以找到您要使用的服务”
它们看起来非常相似。
服务器端:
<endpoint
address = "http://localhost:8001/MammalControllerFascade"
binding = "wsHttpBinding" bindingConfiguration="WSHttpBindingName1"
contract = "GranadaCoder.Applications.TrinugWCFDemoVersion1.Interfaces.Controllers.IMammalController" >
</endpoint>
<endpoint
address = "net.pipe://localhost/LocalMammalControllerFascade"
binding = "netNamedPipeBinding" bindingConfiguration="NamedPipeBindingName1"
contract = "GranadaCoder.Applications.TrinugWCFDemoVersion1.Interfaces.Controllers.IMammalController" >
</endpoint>
客户端
<client>
<endpoint name="WSHttpEndPoint"
address = "http://localhost:8001/MammalControllerFascade"
binding = "wsHttpBinding" bindingConfiguration="WSHttpBindingName1"
contract = "GranadaCoder.Applications.TrinugWCFDemoVersion1.Interfaces.Controllers.IMammalController" >
</endpoint >
<endpoint name="NamedPipeEndPoint"
address = "net.pipe://localhost/LocalMammalControllerFascade"
binding = "netNamedPipeBinding" bindingConfiguration="NamedPipedBindingName1"
contract = "GranadaCoder.Applications.TrinugWCFDemoVersion1.Interfaces.Controllers.IMammalController" >
</endpoint >
</client>
注意,它们是相似的。请注意,在客户端,ENDPOINT 有一个名称。
这样客户端就可以按名称引用 ENDPOINT。
编辑:
您是否同时运行主机和客户端?
您不能只在调试模式下运行客户端。必须启动该服务。
右键单击解决方案,属性.......并设置2个启动项目。
(如果您是自托管)
如果您不是自托管.....那么您如何“提供服务器”? (什么在运行服务器端代码)在调试期间?
编辑:
我将我的“部分信息”存储在不同的文件中。所以我可以维护它们,而不会在同一个 app.config(或 web.config)中出现乱码。
这是一个示例:
APP.CONFIG(或 web.config)
<system.serviceModel>
<behaviors configSource="WCFBehaviors.config">
</behaviors>
<bindings configSource="WCFBindings.config">
</bindings>
<client configSource="WCFClient.config">
</client>
<services configSource="WCFServices.config">
</services>
</system.serviceModel>
我将展示上面的文件之一。
“WCFClient.config”的内容见下文。其他文件遵循相同的模式。
<client>
<endpoint name="WSHttpEndPoint"
address = "http://localhost:8001/MammalControllerFascade"
binding = "wsHttpBinding" bindingConfiguration="WSHttpBindingName1"
contract = "GranadaCoder.Applications.TrinugWCFDemoVersion1.Interfaces.Controllers.IMammalController" >
</endpoint >
<endpoint name="NamedPipeEndPoint"
address = "net.pipe://localhost/LocalMammalControllerFascade"
binding = "netNamedPipeBinding" bindingConfiguration="NamedPipedBindingName1"
contract = "GranadaCoder.Applications.TrinugWCFDemoVersion1.Interfaces.Controllers.IMammalController" >
</endpoint >
</client>