Inquiridor
WCF + Entity + IIS

Pergunta
-
Seguinte pessoal. Eu tenho um serviço WCF que manipula informações no banco de dados (inseri, altera, remove e retorna informações) pelo Entity Framework. Esse serviço está hospedado no IIS 7 na minha máquina local. No App.Config da aplicação que usa o serviço WCF está atribuído como endereço do endpoint o endereço que o IIS forneceu na hospedagem.
Eu tento executar a aplicação que está consumindo o serviço WCF e ele dá o seguinte erro: "Erro ao executar a definição do comando. Consulte a exceção interna para obter detalhes". Mas quando eu mudo o endereço que está no endpoint e coloco o endereço que o Visual Studio dá quando executa o serviço, a aplicação funciona perfeitamente.
Segue os dois endpoints:
O que não funciona:
<system.serviceModel> <behaviors> <serviceBehaviors> <behavior> <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" /> <serviceDebug includeExceptionDetailInFaults="true" /> </behavior> </serviceBehaviors> </behaviors> <bindings> <basicHttpBinding> <binding name="BasicHttpBinding_IDados" /> </basicHttpBinding> </bindings> <client> <endpoint address="http://mauro-pc/Entity/Dados.svc" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IDados" contract="Referencia.IDados" name="BasicHttpBinding_IDados" /> </client> <protocolMapping> <add binding="basicHttpsBinding" scheme="https" /> </protocolMapping> <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" /> </system.serviceModel>
E o que funciona:
<system.serviceModel> <behaviors> <serviceBehaviors> <behavior> <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" /> <serviceDebug includeExceptionDetailInFaults="true" /> </behavior> </serviceBehaviors> </behaviors> <bindings> <basicHttpBinding> <binding name="BasicHttpBinding_IDados" /> </basicHttpBinding> </bindings> <client> <endpoint address="http://localhost:20774/Dados.svc" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IDados" contract="Referencia.IDados" name="BasicHttpBinding_IDados" /> </client> <protocolMapping> <add binding="basicHttpsBinding" scheme="https" /> </protocolMapping> <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" /> </system.serviceModel>
Esse endereço (http://localhost:20774/Dados.svc) funciona porque o WCF e a aplicação está na mesma solução.
E o problema está em alguma referencia no Entity junto ao serviço e o IIS não consegue acessar. Porque eu mudei o serviço e atribui informações na mão e a aplicação conseguiu consumir o serviço WCF sem problemas.
Alguém teria alguma solução?
Agradeço desde já!
Todas as Respostas
-
Tem algo de errado nesse Endereço!
não deve ta respondendo pelo IIS:
http://mauro-pc/Entity/Dados.svc
Você ta rodando localmente no seu IIS e ai não funciona com esse endereço correto?
Só ta rodando no Visual Studio pelo Servidor Web Embutido ?
Faz um teste crie um projeto novo e tente consumir esse endereço
http://mauro-pc/Entity/Dados.svc
Para mim o mais importante não é te falar faça isso ou aquilo, o mais importante e que você percebe certas conceitos para que ai aprenda e não passe por isso mais ... eu to suspeitando que tal endereço seu IIS local não ta respondendo por ele!
- Editado Fulvio Cezar Canducci Dias segunda-feira, 30 de dezembro de 2013 20:24
- Sugerido como Resposta Fulvio Cezar Canducci Dias segunda-feira, 30 de dezembro de 2013 22:49
-
Seguinte pessoal. Eu tenho um serviço WCF que manipula informações no banco de dados (inseri, altera, remove e retorna informações) pelo Entity Framework. Esse serviço está hospedado no IIS 7 na minha máquina local. No App.Config da aplicação que usa o serviço WCF está atribuído como endereço do endpoint o endereço que o IIS forneceu na hospedagem.
Eu tento executar a aplicação que está consumindo o serviço WCF e ele dá o seguinte erro: "Erro ao executar a definição do comando. Consulte a exceção interna para obter detalhes". Mas quando eu mudo o endereço que está no endpoint e coloco o endereço que o Visual Studio dá quando executa o serviço, a aplicação funciona perfeitamente.
Segue os dois endpoints:
O que não funciona:
<system.serviceModel> <behaviors> <serviceBehaviors> <behavior> <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" /> <serviceDebug includeExceptionDetailInFaults="true" /> </behavior> </serviceBehaviors> </behaviors> <bindings> <basicHttpBinding> <binding name="BasicHttpBinding_IDados" /> </basicHttpBinding> </bindings> <client> <endpoint address="http://mauro-pc/Entity/Dados.svc" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IDados" contract="Referencia.IDados" name="BasicHttpBinding_IDados" /> </client> <protocolMapping> <add binding="basicHttpsBinding" scheme="https" /> </protocolMapping> <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" /> </system.serviceModel>
E o que funciona:
<system.serviceModel> <behaviors> <serviceBehaviors> <behavior> <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" /> <serviceDebug includeExceptionDetailInFaults="true" /> </behavior> </serviceBehaviors> </behaviors> <bindings> <basicHttpBinding> <binding name="BasicHttpBinding_IDados" /> </basicHttpBinding> </bindings> <client> <endpoint address="http://localhost:20774/Dados.svc" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IDados" contract="Referencia.IDados" name="BasicHttpBinding_IDados" /> </client> <protocolMapping> <add binding="basicHttpsBinding" scheme="https" /> </protocolMapping> <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" /> </system.serviceModel>
Esse endereço (http://localhost:20774/Dados.svc) funciona porque o WCF e a aplicação está na mesma solução.
E o problema está em alguma referencia no Entity junto ao serviço e o IIS não consegue acessar. Porque eu mudei o serviço e atribui informações na mão e a aplicação conseguiu consumir o serviço WCF sem problemas.
Alguém teria alguma solução?
Agradeço desde já!
Cara se você abrir o navegador e digitar o caminho abaixo do serviço abre alguma tela ???
Qual erro que dá ???
http://mauro-pc/Entity/Dados.svc
Faça um outro teste tente dar um ping na máquina mauro-pc pra ver se realmente está ligada e respondendo
-
-
Engraçado como eu falo e a pessoa copia e responde a mesma coisa!
Me fala aonde a minha resposta está igual a sua ????
Pra testar um serviço não precisa nem criar um projeto, apenas abrir o navegador e informar o caminho do serviço, você pediu pra criar um projeto, você foi mais longe rodou mais...
-
Engraçado como eu falo e a pessoa copia e responde a mesma coisa!
Me fala aonde a minha resposta está igual a sua ????
Pra testar um serviço não precisa nem criar um projeto, apenas abrir o navegador e informar o caminho do serviço, você pediu pra criar um projeto, você foi mais longe rodou mais...
Leonardo se ta agindo como diferente daquilo que eu imaginava!
Desculpas não falarei mais nada!!!
Obrigado fique com Deus
-
Engraçado como eu falo e a pessoa copia e responde a mesma coisa!
Me fala aonde a minha resposta está igual a sua ????
Pra testar um serviço não precisa nem criar um projeto, apenas abrir o navegador e informar o caminho do serviço, você pediu pra criar um projeto, você foi mais longe rodou mais...
Leonardo se ta agindo como diferente daquilo que eu imaginava!
Desculpas não falarei mais nada!!!
Obrigado fique com Deus
Nóis, sei lá mano mas são Threads quanto mais respostas dermos, quanto mais bombardearmos de opções, possíveis alternativas, soluções, com certeza melhor !!!
Até pra irmos trocando idéias e vendo os pontos de vista diferentes em cima das soluções propostas !!!
-
O link está correto. Já abri pelo navegador e ele abre normalmente.
Também já tentei criar outra aplicação e consumir esse mesmo endereço, o erro continua.
Sim, estou rodando o IIS local e não funciona o link.
Sim, rodei pelo servidor do Visual Studio e peguei o link que ele fornece, e a aplicação rodou normalmente.
-
-
Tem algo de errado nesse Endereço!
não deve ta respondendo pelo IIS:
http://mauro-pc/Entity/Dados.svc
Você ta rodando localmente no seu IIS e ai não funciona com esse endereço correto?
Só ta rodando no Visual Studio pelo Servidor Web Embutido ?
Faz um teste crie um projeto novo e tente consumir esse endereço
http://mauro-pc/Entity/Dados.svc
Para mim o mais importante não é te falar faça isso ou aquilo, o mais importante e que você percebe certas conceitos para que ai aprenda e não passe por isso mais ... eu to suspeitando que tal endereço seu IIS local não ta respondendo por ele!
-
Tem algo de errado nesse Endereço!
não deve ta respondendo pelo IIS:
http://mauro-pc/Entity/Dados.svc
Você ta rodando localmente no seu IIS e ai não funciona com esse endereço correto?
Só ta rodando no Visual Studio pelo Servidor Web Embutido ?
Faz um teste crie um projeto novo e tente consumir esse endereço
http://mauro-pc/Entity/Dados.svc
Para mim o mais importante não é te falar faça isso ou aquilo, o mais importante e que você percebe certas conceitos para que ai aprenda e não passe por isso mais ... eu to suspeitando que tal endereço seu IIS local não ta respondendo por ele!
Ainda estou na mesma. Já alterei tudo que já pra se alterado e ainda assim o erro continua. É o maldito Entity que não está sendo lido pelo IIS porque o serviço está sendo consumido corretamente. -
Tem algo de errado nesse Endereço!
não deve ta respondendo pelo IIS:
http://mauro-pc/Entity/Dados.svc
Você ta rodando localmente no seu IIS e ai não funciona com esse endereço correto?
Só ta rodando no Visual Studio pelo Servidor Web Embutido ?
Faz um teste crie um projeto novo e tente consumir esse endereço
http://mauro-pc/Entity/Dados.svc
Para mim o mais importante não é te falar faça isso ou aquilo, o mais importante e que você percebe certas conceitos para que ai aprenda e não passe por isso mais ... eu to suspeitando que tal endereço seu IIS local não ta respondendo por ele!
Ainda estou na mesma. Já alterei tudo que já pra se alterado e ainda assim o erro continua. É o maldito Entity que não está sendo lido pelo IIS porque o serviço está sendo consumido corretamente. qual é o seu facebook?
-
Tem algo de errado nesse Endereço!
não deve ta respondendo pelo IIS:
http://mauro-pc/Entity/Dados.svc
Você ta rodando localmente no seu IIS e ai não funciona com esse endereço correto?
Só ta rodando no Visual Studio pelo Servidor Web Embutido ?
Faz um teste crie um projeto novo e tente consumir esse endereço
http://mauro-pc/Entity/Dados.svc
Para mim o mais importante não é te falar faça isso ou aquilo, o mais importante e que você percebe certas conceitos para que ai aprenda e não passe por isso mais ... eu to suspeitando que tal endereço seu IIS local não ta respondendo por ele!
Ainda estou na mesma. Já alterei tudo que já pra se alterado e ainda assim o erro continua. É o maldito Entity que não está sendo lido pelo IIS porque o serviço está sendo consumido corretamente. qual é o seu facebook?
http://www.facebook.com/edmaarcosta -
Aceito.
Alguma ajuda pessoal? Estou realmente estou sem saber o que fazer e que caralho está acontecendo.
Já dei ping no endereço e está respondendo. Sempre abro o link pelo browser e o serviço é mostrado normalmente. Já criei outra aplicação cliente para consumir o serviço e o erro é o mesmo. Já recriei o serviço e hospedei no IIS de novo e o erro continua. Já tentei re-hospedar o antigo serviço no IIS e nada mudou.
Estou realmente sem saída.
Já criei outro serviço, que não usava Entity Framework, e hospedei no IIS. A merda do serviço foi consumido perfeitamente pela aplicação cliente. Nos dois serviços (no com entity e sem o entity) eu usei os mesmos métodos para consumir e hospedar o serviço.
Portanto, é cagada do Entity com o IIS, não tem outra explicação.
-
Aceito.
Alguma ajuda pessoal? Estou realmente estou sem saber o que fazer e que caralho está acontecendo.
Já dei ping no endereço e está respondendo. Sempre abro o link pelo browser e o serviço é mostrado normalmente. Já criei outra aplicação cliente para consumir o serviço e o erro é o mesmo. Já recriei o serviço e hospedei no IIS de novo e o erro continua. Já tentei re-hospedar o antigo serviço no IIS e nada mudou.
Estou realmente sem saída.
Já criei outro serviço, que não usava Entity Framework, e hospedei no IIS. A merda do serviço foi consumido perfeitamente pela aplicação cliente. Nos dois serviços (no com entity e sem o entity) eu usei os mesmos métodos para consumir e hospedar o serviço.
Portanto, é cagada do Entity com o IIS, não tem outra explicação.
Do jeito que você fala é culpa do Entity ... desculpa não é!!! é falta de configuração ...! alguma coisa faltando, algum detalhe é isso... !!! entendeu!
Se entrar no face a gente bate um papo! é só me chamar!
- Sugerido como Resposta Fulvio Cezar Canducci Dias quinta-feira, 2 de janeiro de 2014 12:43
-