Fortunately creating a Rest Service in asp.net core is incredibly straight forward, VS gives a template that will generate the framework with an example Controller.
One of the main issues in setting up using the Rest API with secure Portal services is you need to create a ArcGISHttpClientHandler
ArcGISHttpClientHandler handler = new ArcGISHttpClientHandler { ArcGISCredential = await _portalManager.Credential(true) };
using var client = new HttpClient(handler);
An operation that does a standard http get:
var featureServiceUrl = new Uri($"{FeatureServiceUrl(replicaDefinition)}?f=json");
var _ = await client.GetStringAsync(featureServiceUrl);
A post is a little more involved but still pretty straight forward:
var parameters = new Dictionary<string, string>
{
{"f", "json"},
{"async", "true"},
{"dataFormat", "sqlite"},
{"replicaID", replicaDefinition.ReplicaId.ToLower()},
{"rollbackOnFailure", "false"},
{"syncLayers", await GetSyncLayersAsync(replicaDefinition)},
{"transportType", "esriTransportTypeUrl"}
};
var content = new FormUrlEncodedContent(parameters);
var response = await client.PostAsync(requestUri, content);
if ( !(response.Content is ByteArrayContent byteArrayContent) ) return null;
var json = await byteArrayContent.ReadAsStringAsync();
var status = JsonConvert.DeserializeObject<StatusResponse>(json);
Good luck
Thanks,
-Joe