Hi,
Can Sql server cache be used instead of redis is the database is also on Sql server? Any drawbacks? Any advices on how to implement Sql server caching?
Thank you for your time.
I have two questions that I'd like some clarification.
When using the default template (not tiered) but with a public web site, how can I disable Redis? What is the impact of not having Redis for small projects in this case?
As stated here on abp support and in the link provided https://documentation.openiddict.com/configuration/encryption-and-signing-credentials.html the requirement for production is to generate and register certificates. While the certificates can be pretty easily added on Azure, what happens when the apps are hosted on IIS? There it says that it recommends to store the certificate on the machine's store however, not all hosting services provide this kind of access or option to do this. Is there a simpler way to have the openIdDict working without these certificates? Previously when using IdentityServer things were simpler.
If you're creating a bug/problem report, please include followings:
Hello,
Either documentation is missing something or there's a bug or I'm not seeing something obvious. Here are the steps:
add a new project using the latest abp 7.0.3 with Public web site
either by using abp suite or by running abp add-module Volo.Payment
add the payment module.
this will add various packages and dependencies based on project
I want to use this on Public site with Stripe (but it also doesn't work on Web) so because of this I add the packages in the project file
<PackageReference Include="Volo.Payment.Admin.Web" Version="7.0.3" />
<PackageReference Include="Volo.Payment.Stripe.Web" Version="7.0.3" />
<PackageReference Include="Volo.Payment.Web" Version="7.0.3" />
and on WebPublicModule.cs
[DependsOn(typeof(AbpPaymentWebModule))]
[DependsOn(typeof(AbpPaymentStripeWebModule))]
[DependsOn(typeof(AbpPaymentAdminWebModule))]
also add url configs
Configure<PaymentWebOptions>(options =>
{
options.RootUrl = configuration["App:SelfUrl"];
options.CallbackUrl = configuration["App:SelfUrl"] + "/Paid";
});
PaymentOptions
appsettings.json
add{
"App": {...},
"Redis": {...},
"ConnectionStrings": {...},
"AuthServer": {...},
"Payment": {
"Stripe": {
"PublishableKey": "publishable_key",
"SecretKey": "secret_key",
"PaymentMethodTypes": [ "card" ]
}
}
}
public async Task<IActionResult> OnGetAsync()
{
var paymentRequest = await paymentRequestAppService.CreateAsync(new PaymentRequestCreateDto()
{
Currency = "USD",
Products = new List<PaymentRequestProductCreateDto>()
{
new PaymentRequestProductCreateDto
{
Code = "Product_code",
Name = "Product name",
Count =1,
UnitPrice = 20,
TotalPrice = 20
}
}
});
return LocalRedirectPreserveMethod("/Payment/GatewaySelection?paymentRequestId=" + paymentRequest.Id);
}
Now the effects:
Request starting HTTP/2 GET https://localhost:44374/Payment/GatewaySelection?paymentRequestId=a246857e-af5f-012d-0eee-3a09ec82cd86 - -
[11:41:08 DBG] Added 0 entity changes to the current audit log
[11:41:08 DBG] Added 0 entity changes to the current audit log
[11:41:08 DBG] Added 0 entity changes to the current audit log
[11:41:08 INF] Executing endpoint '/Payment/GatewaySelection'
[11:41:08 INF] Route matched with {page = "/Payment/GatewaySelection", action = "", controller = "", area = ""}. Executing page /Payment/GatewaySelection
[11:41:08 INF] Skipping the execution of current filter as its not the most effective filter implementing the policy Microsoft.AspNetCore.Mvc.ViewFeatures.IAntiforgeryPolicy
[11:41:08 INF] Executing handler method Volo.Payment.Pages.Payment.GatewaySelectionModel.OnGet - ModelState is Valid
[11:41:08 INF] Executed handler method OnGet, returned result Microsoft.AspNetCore.Mvc.BadRequestResult.
[11:41:08 INF] Executing StatusCodeResult, setting HTTP status code 400
[11:41:08 INF] Executed page /Payment/GatewaySelection in 2.4219ms
[11:41:08 INF] Executed endpoint '/Payment/GatewaySelection'
[11:41:08 INF] Request finished HTTP/2 GET https://localhost:44374/Payment/GatewaySelection?paymentRequestId=a246857e-af5f-012d-0eee-3a09ec82cd86 - - - 400 0 - 47.9921ms
I've tried a bunch of configs and all that I could see in docs and around support answered questions. Basically the gateways pages are not available. Seems like it's missing some configuration? What could cause that BadRequestResult in GatewaySelectionModel.OnGet?
Please advise. Thank you.
I'll do my best to explain the situation:
Result:
The SSL connection could not be established, see inner exception
digging deeper into the inner exception I get:
System.Security.Authentication.AuthenticationException: Authentication failed, see inner exception
digging deeper into the inner exception again I get:
Interiop+AndroidCrypto+SslException: Exception of type Interiop+AndroidCrypto+SslException was thrown
and this happens at System.Net.Security.SslStream<ForceAuthenticationAsync>
Why does it work on some android versions and not on others? Does it have something to do with the genereated self signed certificates? How can I make it work? Thank you for your time
Here is my scenario:
Now the problem:
What I have tried:
Questions:
Thank you for your time.