Bevor Sie einen Downvote durchführen, weiß ich, dass es doppelte Fragen wie diese gibt, aber ich habe versucht und es nicht geschafft, eine Lösung zu finden Sie. Könnte sein, dass ich etwas verpasst habe, aber ich bin immer noch relativ neu in der WCF, also geht mir einiges davon über den Kopf.WCF - Beim Empfangen der HTTP-Antwort ist ein Fehler aufgetreten. Http: // xxxxx/Service/
Ich mache diesen Aufruf in meinem WCF-Dienst.
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 (..) ist wie folgt definiert:
public User GetStudentRecord(string userName)
{
User user = ctx.Users.Where(x => x.ADUserName == userName).SingleOrDefault();
return user;
}
ctx mein DbContext ist. Ich verwende Entity Framework Code zuerst. Das User-Objekt sieht wie folgt aus:
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; }
}
Und schließlich müssen Sie wahrscheinlich die web.config auf der WCF-Anwendung sehen:
<?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>
Kann jemand mir zeigen, wo ich falsch hier werde?
Dies ist die genauen Fehler Ich erhalte:
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
Wo ist der Fehler ausgelöst wird? Führen Sie Ihren Dienst im Debugger aus. – dthorpe
Gerade hinzugefügt die Fehler und innere Ausnahme Nachrichten, die ich bekomme. Ich kann es im Debugger ausführen und es lässt mich durch den ganzen Code gehen, den ich oben habe. Sobald ich den Aufruf von GetStudentRecord() in dem tatsächlichen Dienst verlasse, erhalte ich den Fehler ein paar Sekunden später. – ledgeJumper