C# 从客户端使用WCF服务,而不使用WCF服务库项目/程序集引用

C# 从客户端使用WCF服务,而不使用WCF服务库项目/程序集引用,c#,.net,wcf,servicecontract,C#,.net,Wcf,Servicecontract,下面的问题可能是重复的,但是没有足够的信息来回答我的问题 我已经按照本指南在VisualStudio中使用WCF服务库项目设置了TCP服务 如果您从客户端(Windows窗体项目)添加对WCF服务库项目的引用,这将非常有用。并将using语句添加到项目程序集中并使用此代码 TcpService.Service myService = new TcpService.Service(); myService.GetData(123); 但是,我不想在中添加对Tc

下面的问题可能是重复的,但是没有足够的信息来回答我的问题

我已经按照本指南在VisualStudio中使用WCF服务库项目设置了TCP服务

如果您从客户端(Windows窗体项目)添加对WCF服务库项目的引用,这将非常有用。并将using语句添加到项目程序集中并使用此代码

        TcpService.Service myService = new TcpService.Service();
        myService.GetData(123);
但是,我不想在中添加对TcpService程序集的引用 调用方法“GetData”的项目。从一开始 以上是问题的答案

所以我试着用这个代码。我添加了一个对System.ServiceModel的引用(和一个using指令),以解决大多数错误。但现在它说“找不到类型或名称空间名称‘ServiceContract’(是否缺少using指令或程序集引用?)。我是否需要在我的服务中修改App.Config,或者向下面调用此代码的项目中添加任何其他代码(关于“ServiceContract”)

        BasicHttpBinding binding = new BasicHttpBinding();
        EndpointAddress address = new EndpointAddress("net.tcp://localhost:8523/Service");
        ChannelFactory<ServiceContract> factory = new ChannelFactory<ServiceContract>(binding, address);
        ServiceContract channel = factory.CreateChannel();
        channel.GetData(123);
通过右键单击项目>添加>服务引用,我在VisualStudio中添加了一个服务引用。但我在那里得到了一个错误

第二个对话框中出现错误:

无法识别URI前缀。元数据包含一个 无法解析:'net。tcp://localhost:8523/Service'. 不能 连接到网络。tcp://localhost:8523/Service. 连接尝试失败 持续时间为00:00:01.0011001。TCP错误代码10061:否 由于目标计算机主动拒绝,因此无法建立连接 它是127.0.0.1:8523。无法建立连接,因为目标 如果定义了服务,则机器主动拒绝127.0.0.1:8523 在当前解决方案中,尝试构建解决方案并添加 请再次访问服务引用


导游漏了一步。除了
httpGetEnabled
属性之外,我还将
httpsGetEnabled
设置为“false”,它成功了!此后,我在添加服务引用时不再出现错误。然后我将“ServiceContract”更改为“MyClientProject.ServiceReference1.iSeries”,以引用新的服务引用

<?xml version="1.0" encoding="utf-8" ?>
<configuration>

...

    <behaviors>
      <serviceBehaviors>
        <behavior name="">
          <serviceMetadata httpGetEnabled="false" httpsGetEnabled="false" />
          <serviceDebug includeExceptionDetailInFaults="false" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>

</configuration>

...
<?xml version="1.0" encoding="utf-8" ?>
<configuration>

...

    <behaviors>
      <serviceBehaviors>
        <behavior name="">
          <serviceMetadata httpGetEnabled="false" httpsGetEnabled="false" />
          <serviceDebug includeExceptionDetailInFaults="false" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>

</configuration>