У меня есть библиотека проекта, которая играет роль службы. Он состоит из:
- Интерфейс:
public interface IManageApplicationServiceInterface : IProcessQ<IManageApplicationServiceEntity>
{
void createMyApp(IManageApplicationServiceEntity serviceEntity);
}
Класс обслуживания, который реализует интерфейс выше:
[Export(typeof(IProcessQ))]
[ProcessMetaData("My API Service Interface", "F756B100-5B85-4877-9EF6-BB53727371BB",PluginType.ServiceInterface, typeof(IManageApplicationServiceEntity))]
public class ManageApplicationServiceInterface : IManageApplicationServiceInterface
{
public void Execute(IEntity entity)
{
throw new NotImplementedException();
}
public void Execute(IManageApplicationServiceEntity serviceEntity)
{
throw new NotImplementedException();
}
public void createMyApp(IManageApplicationServiceEntity applicationData)
{
try
{
Logger.Debug("Create may app method - Starts");
//build something to make an api call
//apiURL
//create a JObject with adding 2 properties
//prepare a httpContent
var content = new StringContent(jsonCreateApp.ToString(Newtonsoft.Json.Formatting.None), Encoding.UTF8, "application/json");
//add default request headers for httpClient object
//get client response
var clientResponse = httpClient.PostAsync(apiURL, content).Result;
//If the API call is success then read the response otherwise throw exception
if (clientResponse.IsSuccessStatusCode)
{
var apiResult = Newtonsoft.Json.Linq.JObject.Parse(clientResponse.Content.ReadAsStringAsync().Result);
Logger.Debug("Create App method - Reading response");
response.Add("id", apiResult["id"].ToString());
response.Add("createMyAppETagID", removeDoubleQuote(clientResponse.Headers.ETag.ToString()));
response.Add("responseMyApp", apiResult.ToString());
}
else
{
Logger.Debug("Create App method Error - Status Code" + clientResponse.StatusCode + "ReasonPhrase - " + clientResponse.ReasonPhrase);
throw new ArgumentException("Create App method Error - Status Code" + clientResponse.StatusCode + "ReasonPhrase - " + clientResponse.ReasonPhrase);
}
Logger.Debug("Create My App method - Ends");
return response;
Logger.Debug("Create create My App - Ends");
}
catch (Exception ex)
{
Logger.Error("Expection in Create My App method - " + ex);
throw ex;
}
}
}
Я собираюсь вызвать метод веб-службы createMyApp из веб-консоли или веб-приложения. Я использовал веб-приложение для вызова его в Page_Load
IManageApplicationServiceEntity manageApplicationServiceInterface;
ds.createMyApp(manageApplicationServiceInterface);
При наведении курсора на ds.createMyApp Visual Studio говорит: «Front End должен предоставлять входные данные json». Нужно ли ему JObject и преобразовать объект в тип IManageApplicationServiceEntity перед его передачей? А при наведении курсора на переменную интерфейса он говорит: «Использована неназначенная локальная переменная manageApplicationServiceInterface»
Как подготовить параметр интерфейса для передачи в метод сервиса createMyApp для его вызова? Надеюсь получить помощь. Многие ценят!