Hello,
Is it possible to programmatically retrieve the URL of an AppService method from another AppService method? For example:
public class ActionsAppService: MyAppServiceBase, IAppService {
[AbpAuthorize(AppPermissions.Pages_Actions_Edit)]
public async Task<GetActionForEditOutput> GetActionForCreate(string actionType)
{
var action= new Action();
action.PostbackUrl = [SOMETHING TO RETRIEVE URL OF THE POSTBACK METHOD BELOW];
return action;
}
//This will be called by an external system
public async Task PostBack(string formData){
....
}
}
Cheers, Brad Webber
6 Answer(s)
-
0
What is the reason for you to do this?
-
0
I need to present the user with a URL that they can use in a separate application so that they can post some data back to my application.
-
0
Are you using ABP's dynamic API? If so, the application service will be exposed as a WebAPI And the routing url of the application service is regular. [https://aspnetboilerplate.com/Pages/Documents/Dynamic-Web-API])
Such as: '/api/services/app/actions/GetActionForCreate', '/api/services/app/actions/PostBack' '/api/services/app/otheractions/PostBack'
-
0
I am using the dynamic API, however I was hoping to avoid hard-coding the url that I return.
-
0
You can get all the information of the dynamic API in the AbpAspNetCoreConfiguration property of IAbpAspNetCoreConfiguration. [https://github.com/aspnetboilerplate/aspnetboilerplate/blob/dev/src/Abp.AspNetCore/AspNetCore/Configuration/AbpAspNetCoreConfiguration.cs#L21])
ABP also generates dynamic APIs from this information, just doing this will be more complicated. If you don't easily change the moduleName of the dynamic API, etc. Hard coding is the easiest.
I don't know your specific situation, maybe there are other ways to fulfill your needs.
-
0
ApplicationService has no Web dependent reference. But you can use IWebUrlService to get the website root address. So you can build the WebApi URL. Hope that helps...
To see this link you have to be logged in GitHub <a class="postlink" href="https://github.com/aspnetzero/aspnet-zero-core/blob/0619e6f8ce314963135a7220fe1d447138361bf3/aspnet-core/src/MyCompanyName.AbpZeroTemplate.Application/Authorization/Accounts/AccountAppService.cs#L34">https://github.com/aspnetzero/aspnet-ze ... ice.cs#L34</a>