Problem mit Verbindungsrücksetzen in ASP.NET Core Web API -Anruf (net :: err_connection_reset 200 (OK)))C#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Problem mit Verbindungsrücksetzen in ASP.NET Core Web API -Anruf (net :: err_connection_reset 200 (OK)))

Post by Anonymous »

Ich habe einen ASP.NET -Kern -Web -API -Dienst, der von einem Angular -Client -Projekt aufgerufen wird. < /p>
Wenn ein Benutzer einen Status seiner Zahlung anfordert API und dieser Dienst rufen dann einen Payment Gateway -Dienst an, um den Zahlungsstatus abzurufen, und das Ausgabeergebnis kehrt an den Benutzer zurück. < /P>
Wenn ich versuche, dies zu integrieren, erhalte ich diesen Fehler: < /p>

net :: err_connection_reset 200 (OK)

core.js:5967 Fehler Unbekannter Fehler < /p>
< /blockquote>
In diesem obigen Problem wird nicht angezeigt, wenn ich versuche, den Dienst nach dem Einlegen eines Haltepunkts zu treffen. Es gibt auch das Ergebnis zurück. < /p>

Code: Select all

this.dataservice.postFeed(method, JSON.stringify(this.initsearch)).subscribe(result => {
var response = result.body["data"];
console.log(response);
});
< /code>
< /li>
[*]  Server -Seitencode sieht aus wie < /p>
[HttpPost]
public async Task Post([FromBody] ObjectModel searchValue)
{
ApiResponse response = new ApiResponse();
IBaseResult result = await _adlerBo.GetPaymentStatus(searchValue);

response.Success = result.success;
response.Data = result.Data;

return Ok(response);
}

In BusinessObject.cs :
public async Task GetPaymentStatus(PaymentSearchModel requestModel){
string apiResponse = await PaymentStatusCheckUsingAPI(requestModel.orderid);
return apiResponse ;
}

private async Task PaymentStatusCheckUsingAPI(string orderNumber)
{
string message = await PostPaymentRequestToGateway(statusApiUrl, authQueryUrlParam);
NameValueCollection param = await GetResponseMap(message);

string status = "";
string encResJson = "";

if (param != null && param.Count == 2)
{
for (int i = 0; i < param.Count; i++)
{
if ("status".Equals(param.Keys))
{
status = param;
}

if ("enc_response".Equals(param.Keys))
{
encResJson = param;
}
}

if (!"".Equals(status) && status.Equals("0"))
{
resJson = crypto.Decrypt(encResJson, workingKey);
}
else if (!"".Equals(status) && status.Equals("1"))
{
Console.WriteLine("failure response: " + encResJson);
}
}

return resJson;
}

private async Task PostPaymentRequestToGateway(string queryUrl, string urlParam)
{
string message = "";

try
{
StreamWriter myWriter = null;// it will open a http connection with provided url
WebRequest objRequest = WebRequest.Create(queryUrl);//send data using objxmlhttp object
objRequest.Method = "POST";
//objRequest.ContentLength = TranRequest.Length;
objRequest.ContentType = "application/x-www-form-urlencoded";//to set content type
myWriter = new System.IO.StreamWriter(objRequest.GetRequestStream());
myWriter.Write(urlParam);//send data
myWriter.Close();//closed the myWriter object

// Getting Response
System.Net.HttpWebResponse objResponse = (System.Net.HttpWebResponse)objRequest.GetResponse();//receive the responce from objxmlhttp object
using (System.IO.StreamReader sr = new System.IO.StreamReader(objResponse.GetResponseStream()))
{
message = await sr.ReadToEndAsync();
//Response.Write(message);
}
}
catch (Exception exception)
{
Console.Write("Exception occurred while connection." + exception);
}

return message;
}

private async Task GetResponseMap(string message)
{
//await Task.Delay(2000); I did this with no Luck

NameValueCollection Params = new NameValueCollection();

if (message != null || !"".Equals(message))
{
string[] segments = message.Split('&');

foreach (string seg in segments)
{
string[] parts = seg.Split('=');

if (parts.Length > 0)
{
string Key = parts[0].Trim();
string Value = parts[1].Trim();
Params.Add(Key, Value);
}
}
}

return await Task.FromResult(Params);
}
< /code>
Irgendeine Idee, wie ich das beheben kann? Warum funktioniert es, wenn ich Breakpoint und nicht sonst einsetze.>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post