Я пытаюсь получить доступ к методу из класса, который находится в другом проекте, но в том же решении. Проблема, с которой я сталкиваюсь, заключается в том, что она продолжает говорить, что мне не хватает ссылки, даже когда я использую пространство имен using проекта.
Этот код находится в проекте 2 и является контроллером. который ссылается на проект 1
namespace WebSvc1.Controllers
{
public class RemunerationController : ApiController
{
[HttpPost]
public void BonusRecipient(BonusRecipients bonusRecipients)
{
XmlSerializer writer = new XmlSerializer(typeof(BonusRecipients));
var path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) +
"//BonusReipients.xml";
FileStream file = File.Create(path);
writer.Serialize(file, bonusRecipients);
file.Dispose();
file.Close();
}
}
}
И этот код находится в проекте 1, который должен вызывать метод из контроллера в проекте 2
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks;
using System.Web.Mvc;
using Newtonsoft.Json;
using WebApp1.DataContracts;
using WebApp1.Models;
namespace WebApp1.Controllers
{
public class BonusController : Controller
{
// GET: Bonus
public ActionResult Index()
{
return View("View");
}
// POST: Bonus/Allocate
[HttpPost]
public async Task<ActionResult> Allocate(BonusViewModel bonusAllocation)
{
try
{
var employees = await GetEmployees();
List<Employee> recipients = new List<Employee>();
for (int i = 0; i < employees.Count; i++)
{
if (i % bonusAllocation.OneInXEmployees == 0)
{
var recipient = employees[i];
recipients.Add(recipient);
employees.Remove(recipient);
}
}
//BonusRecipient(recipients);
return RedirectToAction("Index", "Home");
}
catch
{
return View("View");
}
}
private async Task<List<Employee>> GetEmployees()
{
HttpClient client = new HttpClient();
client.BaseAddress = new Uri("http://localhost:57652/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new
MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage response = await
client.GetAsync($"api/employee");
if (response.IsSuccessStatusCode)
{
string employeeData = await
response.Content.ReadAsStringAsync();
List<Employee> employees =
JsonConvert.DeserializeObject<List<Employee>>(employeeData);
return employees;
}
return new List<Employee>();
}
}
}