0

WCF サービスをホストする Windows サービスがあります。サービスを利用するクライアントがあります。ServiceReference1 をサービス参照として追加したにもかかわらず、クライアントが ServiceReference1 を認識しません。

私は一日中これを修正しようとしてきました-コードを何度も読みました-以前は問題なくWCFを使用していました(これと同じ方法で)。

インターフェース

namespace ValidStateService
{
    [ServiceContract]
    public interface IValidStateWCFService
    {
        // Add two numbers
        [OperationContract(IsOneWay = false)]
        int AddNumbers(int numA, int numB);  

    }
}

インターフェイスの実装

namespace ValidStateService
{
    public class ValidStateWCFService : IValidStateWCFService
    {

        // Call the agent to add two numbers and return the result
        public int AddNumbers(int numA, int numB)
        {

            try
            {
                    return 20;  // Always return 20 for testing
            }
            catch (Exception ex)
            {
                return -1;
            }
        }    
    }
}

Windows サービス App.config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
    <system.serviceModel>
        <behaviors>
            <serviceBehaviors>
                <behavior name="">
                    <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
                    <serviceDebug includeExceptionDetailInFaults="false" />
                </behavior>
            </serviceBehaviors>
        </behaviors>
        <services>
            <service name="ValidStateService.ValidStateWCFService">
                <endpoint address="" binding="basicHttpBinding" contract="ValidStateService.IValidStateWCFService">
                    <identity>
                        <dns value="localhost" />
                    </identity>
                </endpoint>
                <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
                <host>
                    <baseAddresses>
                        <add baseAddress="http://localhost:8732/ValidStateService/" />
                    </baseAddresses>
                </host>
            </service>
        </services>
    </system.serviceModel>
</configuration>

Winform でサービスへの参照を追加しましたが、servicereference1 が認識されません。2 つの数字を加算するコード * Winform App.config *

private void buttonGetDataFromAgent_Click(object sender, EventArgs e)
{

    try
    {
        InstanceContext context = new InstanceContext(this);
        ServiceReference1.   // Winform App does not recognize this i.e no intellisense 

??????

クライアント App.config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>

  <system.serviceModel>
    <client>
      <endpoint address="http://localhost:8732/ValidStateService/"
        binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IValidStateWCFService"
        contract="ServiceReference1.IValidStateWCFService" name="BasicHttpBinding_IValidStateWCFService" />
    </client>
    <bindings>
      <basicHttpBinding>
        <binding name="BasicHttpBinding_IValidStateWCFService" />
      </basicHttpBinding>
    </bindings>
  </system.serviceModel>
</configuration>
4

0 に答える 0