none
Windows Phone 8 + WCF RRS feed

  • Pergunta

  • Bom dia,

    Tenho um aplicativo em Windows Phone 8 que possui um textbox. Assim que eu digito algo nesse textbox, efetuo uma consulta no SQL Server e exibo dados baseando-se nessa consulta. Essa consulta é feita através de um serviço WCF.

    Assim que pressiono o botão de pesquisar, recebo a exceção:

    "An exception of type 'System.ServiceModel.CommunicationException' occurred in System.ServiceModel.ni.dll but was not handled in user code

    Additional information: The remote server returned an error: NotFound."

    Meu arquivo de configuração do host:

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <system.serviceModel>
        <services>
          <service name="CDC.ProdutosService.ConsultarProduto" behaviorConfiguration="mexBehavior">
            <endpoint address="ProdutosService" binding="basicHttpBinding" contract="CDC.ProdutosService.IConsultarProduto"></endpoint>
            <endpoint address="ProdutosService" binding ="netTcpBinding" contract="CDC.ProdutosService.IConsultarProduto"></endpoint>
            <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"></endpoint>
            <host>
              <baseAddresses>
                <add baseAddress="http://localhost:8080/"/>
                <add baseAddress="net.tcp://localhost:8090/"/>
              </baseAddresses>
            </host>
          </service>
        </services>
        <behaviors>
          <serviceBehaviors>
            <behavior name="mexBehavior">
              <serviceMetadata httpGetEnabled="true"/>
            </behavior>
          </serviceBehaviors>
        </behaviors>
      </system.serviceModel>
      <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
      </startup>
    </configuration>

    Minha classe que inicia o host:

    using System;
    using System.ServiceModel;
    using System.Windows.Forms;
    
    namespace CDC.ProdutosServiceHost
    {
        public partial class Form1 : Form
        {
            private ServiceHost host;
            private const string executando = "Serviço em execução";
            private const string parado = "Serviço parado";
    
            public Form1()
            {
                InitializeComponent();
                host = new ServiceHost(typeof(ProdutosService.ConsultarProduto));
                host.Open();
                btnStart.Enabled = false;
                btnStop.Enabled = true;
                lblMessage.Text = executando;
            }
    
            private void btnStart_Click(object sender, EventArgs e)
            {
                host = new ServiceHost(typeof(ProdutosService.ConsultarProduto));
                host.Open();
                btnStart.Enabled = false;
                btnStop.Enabled = true;
                lblMessage.Text = executando;
            }
    
            private void btnStop_Click(object sender, EventArgs e)
            {
                host.Close();
                btnStart.Enabled = true;
                btnStop.Enabled = false;
                lblMessage.Text = parado;
            }
    
            private void Form1_FormClosed(object sender, FormClosedEventArgs e)
            {
                host.Close();
                btnStart.Enabled = true;
                btnStop.Enabled = false;
            }
        }
    }
    

    Alguém pode me ajudar por favor ?

    Muito obrigado.

    Att,

    quarta-feira, 21 de maio de 2014 12:34