Hi,
Just checking, Any update on this?
Hi @ismcagdas,
Project sent on email.
Thanks.
Hi,
Issue is not resolved yet. We tried with ASP.net Core 5.0 application without ABP and tested there with ASPNETCore.Proxy. It is working fine there but when using with ABP net zero it was not working.
Hi,
We upgraded the nuget package to 6.4 and in that process we faced lot of issues. So we upgraded lot of other dlls as well and that lead to one more issue as follows:
Basically what we are trying to do is fetch data from URL and showing at our end. We are passing URL in following CreateProxyHttpRequest and getting the data without any issue in version 5.10 but getting above attached image error after upgrading to 6.4.
var request = HttpContext.CreateProxyHttpRequest(new Uri(_url));
var response = await _client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead, HttpContext.RequestAborted);
await HttpContext.CopyProxyHttpResponse(response);
Following is the code which we are using for Proxy request:
`public static class ProxyRequest { public static HttpRequestMessage CreateProxyHttpRequest(this HttpContext context, Uri uri) { var request = context.Request;
var requestMessage = new HttpRequestMessage();
var requestMethod = request.Method;
if (!HttpMethods.IsGet(requestMethod) &&
!HttpMethods.IsHead(requestMethod) &&
!HttpMethods.IsDelete(requestMethod) &&
!HttpMethods.IsTrace(requestMethod))
{
var streamContent = new StreamContent(request.Body);
requestMessage.Content = streamContent;
}
// Copy the request headers
foreach (var header in request.Headers)
{
if (!requestMessage.Headers.TryAddWithoutValidation(header.Key, header.Value.ToArray()) && requestMessage.Content != null)
{
requestMessage.Content?.Headers.TryAddWithoutValidation(header.Key, header.Value.ToArray());
}
}
requestMessage.Headers.Host = uri.Authority;
requestMessage.RequestUri = uri;
requestMessage.Method = new HttpMethod(request.Method);
return requestMessage;
}
public static async Task CopyProxyHttpResponse(this HttpContext context, HttpResponseMessage responseMessage)
{
if (responseMessage == null)
{
throw new ArgumentNullException(nameof(responseMessage));
}
var response = context.Response;
response.StatusCode = (int)responseMessage.StatusCode;
foreach (var header in responseMessage.Headers)
{
response.Headers[header.Key] = header.Value.ToArray();
}
foreach (var header in responseMessage.Content.Headers)
{
response.Headers[header.Key] = header.Value.ToArray();
}
// SendAsync removes chunking from the response. This removes the header so it doesn't expect a chunked response.
response.Headers.Remove("transfer-encoding");
using (var responseStream = await responseMessage.Content.ReadAsStreamAsync())
{
await responseStream.CopyToAsync(response.Body, 1000000, context.RequestAborted);
}
}
}`
Hi @ismcagdas,
The Abp NuGet package version is 5.10.1.
Hi @gryphon644,
No, our database is not azure, it's on Premises.
Thanks
Hi @ismcagda, Thank you for providing the solution, But I have noticed that, when I am using base URL so for authentication its going on LogIn method inside my application after that microsoft logIn page is opening, but when I am using any relative URL other than base URL, it's not going on Login method for authentication, by default its opening microsoft login page. So how we can configure that, every URL will go on LogIn method inside my application first if not authenticated.
Any insights or suggestions would be greatly appreciated.
Thanks,
Hi @ismcagdas No, This is the only error we can able to see.
Thanks,
Hi, I am using BatchDeleteAsync() to delete multiple rows in table based on the condition in predicate, but it will hard delete all rows. Please check the below screenshot.
I want to soft-delete the same by setting IsDeleted = 1. I can use DeleteAsync method but it's for the single entity and needs loop for the condition-based deletion. I found the method BatchUpdateAsync() which can be used to update multiple rows based on predicate. So, I just want to know how it can be implemented in place of the above attached query. I am getting issues while setting the predicate and update expression in its parameters.
Hi,
Thanks for your quick response. It's working now, there was an issue with the Redis server running in background. I want to save the data on Redis server or cloud but I am not able to save the data on Redis server using Net Zero in-built cache manager. I have also tried with AbpPerRequestRedisCacheManager. Could you please let me know whether the project has in-built functions or interface to save data in Redis server or we need to implement it on our own?