Une erreur s'est produite lors de l'exécution de la commande de définition de la WCF

J'ai mis à jour mon modèle et fait reconstruire le projet (comme suggéré par stackoverflow), mais pas d'avantage.

Mon ASP.NET wcf service web fonctionne bien sur l'hôte local. Mais quand je le télécharge sur AppHarbor (gratuit asp.net service d'hébergement web) j'obtiens une exception (que je vais appeler comme ça http://pizzaapp.apphb.com/Service1.svc/Login/123/1) que je ne peux pas comprendre (voir ci-dessous). Cela fonctionne parfaitement sur mon localhost, donc quel est le problème, après téléchargement?

Demande d'Erreur Le serveur a rencontré une erreur de traitement de la demande.
Le message d'exception est " Une erreur s'est produite lors de l'exécution de la
définition de commande. Voir l'exception interne pour plus de détails.'. Voir serveur
les journaux pour plus de détails. La trace de pile d'exception est:

à
Système.Les données.De l'entité.De base.EntityClient.Interne.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand
entityCommand CommandBehavior comportement) à
Système.Les données.De l'entité.De base.Objets.Interne.ObjectQueryExecutionPlan.Exécutez[TResultType](ObjectContext
contexte, ObjectParameterCollection parameterValues) à
Système.Les données.De l'entité.De base.Objets.ObjectQuery1.<>c__DisplayClass3.<GetResults>b__2()
at
System.Data.Entity.Core.Objects.ObjectContext.ExecuteInTransaction[T](Func
1
func, IDbExecutionStrategy executionStrategy, Boolean
startLocalTransaction, Boolean releaseConnectionOnSuccess) à
Système.Les données.De l'entité.De base.Objets.ObjectQuery1.<>c__DisplayClass3.<GetResults>b__1()
at
System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute[TResult](Func
1
de l'opération) à
Système.Les données.De l'entité.De base.Objets.ObjectQuery1.GetResults(Nullable1
forMergeOption) à
Système.Les données.De l'entité.De base.Objets.ObjectQuery1.<System.Collections.Generic.IEnumerable<T>.GetEnumerator>b__0()
at System.Lazy
1.CreateValue() au Système.Paresseux1.LazyInitValue() at
System.Lazy
1.get_Value() à
Système.Les données.De l'entité.Interne.LazyEnumerator1.MoveNext() at
System.Linq.Enumerable.SingleOrDefault[TSource](IEnumerable
1 source)
au
Système.Les données.De l'entité.De base.Objets.ELinq.ObjectQueryProvider.b__2[TResult](IEnumerable1
sequence) at
System.Data.Entity.Core.Objects.ELinq.ObjectQueryProvider.ExecuteSingle[TResult](IEnumerable
1
requête, l'Expression queryRoot) à
System.Data.Entity.Core.Objects.ELinq.ObjectQueryProvider.System.Linq.IQueryProvider.Execute[TResult](Expression
expression) à
Système.Les données.De l'entité.Interne.Linq.DbQueryProvider.Exécutez[TResult](Expression
expression) à
Système.Linq.Interrogeable.SingleOrDefault[TSource](IQueryable`1 source) à
WcfServicePizza.Service1.Login(String phoneNo, Chaîne de mot de passe)
d:\temp\lmtrshzg.bwx\input\WcfServicePizza\Service1.svc.cs:ligne 37 à
SyncInvokeLogin(Object , Object[] , Object[] ) à
Système.ServiceModel.Répartiteur.SyncMethodInvoker.Invoke(Object
exemple, Object[] entrées, Object[]& sorties) à
Système.ServiceModel.Répartiteur.DispatchOperationRuntime.InvokeBegin(MessageRpc&
rpc) à
Système.ServiceModel.Répartiteur.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc&
rpc) à
Système.ServiceModel.Répartiteur.ImmutableDispatchRuntime.ProcessMessage41(MessageRpc&
rpc) à
Système.ServiceModel.Répartiteur.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc&
rpc) à
Système.ServiceModel.Répartiteur.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc&
rpc) à
Système.ServiceModel.Répartiteur.ImmutableDispatchRuntime.ProcessMessage3(MessageRpc&
rpc) à
Système.ServiceModel.Répartiteur.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc&
rpc) à
Système.ServiceModel.Répartiteur.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc&
rpc) à
Système.ServiceModel.Répartiteur.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc&
rpc) au Système.ServiceModel.Répartiteur.MessageRpc.Processus(Boolean
isOperationContextSet)

Le code de l'interface webservice

    [OperationContract]
    [WebInvoke(UriTemplate="SignUp",
        Method="POST",
        BodyStyle=WebMessageBodyStyle.WrappedRequest,
        ResponseFormat=WebMessageFormat.Json,
        RequestFormat=WebMessageFormat.Json)]
    bool SignUp(Customer customer);

Et le code de sa mise en œuvre en cours d'exécution sur le serveur est actuellement:

    public bool Login(string phoneNo, string password)
    {
        decimal phoneNoDecimal = Decimal.Parse(phoneNo);
        DatabasePizzaEntities db = new DatabasePizzaEntities();
        Customer customer = db.Customers.Where(c => c.PhoneNo==phoneNoDecimal && c.Password == password).SingleOrDefault();
        if (customer == null)
            return false;
        return true;
    }

EXCEPTION INTERNE:

De données.SqlClient.SqlException (0x80131904): nom d'objet non Valide
'dbo.Client'.\u000d\u000a au
Système.Les données.SqlClient.SqlConnection.OnError(exception SqlException,
Valeur de type Boolean breakConnection, Action1 wrapCloseInAction)\u000d\u000a at
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException
exception, Boolean breakConnection, Action
1
wrapCloseInAction)\u000d\u000a au
Système.Les données.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject
stateObj, Boolean callerHasConnectionLock, Boolean
asyncClose)\u000d\u000a au
Système.Les données.SqlClient.TdsParser.TryRun(RunBehavior runBehavior,
SqlCommand cmdHandler, SqlDataReader dataStream,
BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject
stateObj, Boolean& dataReady)\u000d\u000a au
Système.Les données.SqlClient.SqlDataReader.TryConsumeMetaData()\u000d\u000a

au Système.Les données.SqlClient.SqlDataReader.get_MetaData()\u000d\u000a au
Système.Les données.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds,
RunBehavior runBehavior, Chaîne resetOptionsString)\u000d\u000a au
Système.Les données.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior
cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean
async, Int32 délai d'attente, Tâche& tâche, Boolean asyncWrite, SqlDataReader
ds)\u000d\u000a au
Système.Les données.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior
cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Chaîne
méthode, TaskCompletionSource1 completion, Int32 timeout, Task& task,
Boolean asyncWrite)\u000d\u000a at
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior
cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String
method)\u000d\u000a at
System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior
behavior, String method)\u000d\u000a at
System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior
behavior)\u000d\u000a at
System.Data.Common.DbCommand.ExecuteReader(CommandBehavior
behavior)\u000d\u000a at
System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.<>c__DisplayClassb.<Reader>b__8()\u000d\u000a
at
System.Data.Entity.Infrastructure.Interception.InternalDispatcher
1.L'Expédition[TInterceptionContext,TResult](Func1
operation, TInterceptionContext interceptionContext, Action
1
de l'exécution, de l'Action " 1 exécutées)\u000d\u000a au
Système.Les données.De l'entité.L'Infrastructure.L'Interception.DbCommandDispatcher.Lecteur(DbCommand
commande, DbCommandInterceptionContext interceptionContext)\u000d\u000a
au
Système.Les données.De l'entité.Interne.InterceptableDbCommand.ExecuteDbDataReader(CommandBehavior
le comportement)\u000d\u000a au
Système.Les données.Commun.DbCommand.ExecuteReader(CommandBehavior
le comportement)\u000d\u000a au
Système.Les données.De l'entité.De base.EntityClient.Interne.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand
entityCommand CommandBehavior
le comportement)\u000d\u000aClientConnectionId:2c6eb8fd-ce5b-4866-8dc7-5ff565fb11d5\u000d\u000aError
Numéro:208,État:1,Classe:16"

  • qu'est-ce que l'exception interne?
  • L'erreur est dans le serveur, pas dans wcf, vous vous connectez avec la même DB dans les 2 envirements?
  • Manish Parakhiya la Façon de voir l'intérieur d'exception? @ElishevaWasserman je suis seulement la modification de la chaîne de connexion.
  • Sans la connaissance de l'intérieur exception à cette question est inutile. Recherchez dans le journal des événements du serveur ou d'améliorer votre enregistrement.
  • J'ai ajouté à l'intérieur d'exception. J'ai des Clients dans ADO.net modèle de Données d'Entité. Alors pourquoi suis-je cela?
  • C'est un problème de base de données. où est votre base de données hébergées et ne AppHarbor y avoir accès? Vous devriez regarder votre SQL ConnectionStrings. Peut-être vous avez besoin d'une config de transformation pour le déploiement