Prima del downvote, so che ci sono domande doppie come questa, ma ho provato e non sono riuscito a trovare una soluzione loro. Potrei essermi perso qualcosa, ma sono ancora relativamente nuovo a WCF, quindi un po 'mi passa un po' in testa.WCF - Si è verificato un errore durante la ricezione della risposta HTTP a http: // xxxxx/Service/
Sto facendo questa chiamata nel mio servizio WCF:.
public User GetStudentRecord(string userName)
{
try
{
return new DashboardFacade().GetStudentRecord(userName);
}
catch (Exception ex)
{
ServiceFault fault = new ServiceFault();
fault.Operation = "GetStudentRecord";
fault.Reason = "Who knows...";
fault.Message = ex.Message;
throw new FaultException<ServiceFault>(fault, fault.Message, new FaultCode(fault.Reason), fault.Operation);
}
}
DashboardFacade() GetStudentRecord (..) è definita in questo modo:
public User GetStudentRecord(string userName)
{
User user = ctx.Users.Where(x => x.ADUserName == userName).SingleOrDefault();
return user;
}
CTX è il mio DbContext. Sto usando Entity Framework Code First. L'oggetto utente si presenta così:
public class User
{
public User()
{
//UserDetails = new UserDetail();
}
[Key]
public Guid MasterKey { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Email { get; set; }
public string ADUserName { get; set; }
public string UserType { get; set; }
public virtual UserDetail UserDetails { get; set; }
public Nullable<DateTime> LastModifiedDate { get; set; }
}
E, infine, probabilmente avete bisogno di vedere web.config sull'applicazione WCF:
<?xml version="1.0"?>
<configuration>
<connectionStrings>
<add name="NotMyDBContextDB" connectionString="[omitted]" providerName="System.Data.SqlClient"/>
<add name="ApplicationContext" connectionString="Data Source=.;Initial Catalog=MyApp;Integrated Security=True;Pooling=False" providerName="System.Data.SqlClient"/>
</connectionStrings>
<system.web>
<compilation debug="true" targetFramework="4.0"/>
</system.web>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true"/>
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
<directoryBrowse enabled="true"/>
</system.webServer>
</configuration>
Qualcuno mi può puntare a dove sto andando male qui?
Questo è l'errore esatto sto ottenendo:
An error occurred while receiving the HTTP response to http://localhost:5843/MyService.svc. This could be due to the service endpoint binding not using the HTTP protocol. This could also be due to an HTTP request context being aborted by the server (possibly due to the service shutting down). See server logs for more details.
Inner Exception:
The underlying connection was closed: An unexpected error occurred on a receive.
Inner Exception:
Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host.
Inner Exception:
An existing connection was forcibly closed by the remote host
Dove è l'errore che sono gettati? Esegui il tuo servizio nel debugger. – dthorpe
Ho appena aggiunto l'errore e i messaggi di eccezione interni che sto ottenendo. Posso eseguirlo nel debugger e mi permette di scorrere tutto il codice che ho sopra. Una volta che lascio la chiamata a GetStudentRecord() nel servizio effettivo, ottengo l'errore qualche secondo dopo. – ledgeJumper