Я новичок в .net.Мне дали приложение, которое не обновляет данные о сотрудниках в базе данных.Человек, который написал приложение, создал два отдельных приложения.Одно приложение - это сторона с графическим интерфейсом, которая отображает данные о сотрудниках в графическом интерфейсе, она просто извлекает данные из базы данных и отображает их в таблице в графическом интерфейсе.
Второе приложение извлекает данные о сотрудниках из электронной таблицы Excel.и помещает данные в базу данных.Это второе приложение представляет собой библиотеку классов.Он создал библиотеку классов и вызвал dll этой библиотеки классов в планировщике задач окна, чтобы она работала каждую ночь, поэтому каждую ночь эта библиотека классов извлекает данные из электронной таблицы Excel и обновляет базу данных.
Я создал решение и добавил библиотеку классов и сторону графического интерфейса в одно решение.Я скомпилировал все решение успешно.Я думаю, проблема существует в библиотеке классов, где данные извлекаются из электронной таблицы Excel, я думаю, что сравнение не выполняется правильно в этой библиотеке классов.Если сотрудник уволен, база данных по-прежнему показывает его как активного, хотя в электронной таблице Excel этот сотрудник отображается как уволенный.
Моя проблема в том, что я не знаю, как отлаживать эту библиотеку классов, этот классВ библиотеке есть пять отдельных проектов, я даже не знаю, как вызвать метод, который извлекает данные о сотрудниках из электронной таблицы Excel.Ниже приведен код, с которого, я думаю, начинается процесс извлечения. Сначала проверяется сотрудник, а затем запускается метод с именем «Процесс»:
using Employee.Logic;
using System;
namespace Employee.Validation
{
public class EmployeeValidation
{
public EmployeeValidation(string integratorKey)
{
if (integratorKey != "Test")
throw new UnauthorizedAccessException("You are not authorized to access this service");
}
public void Process()
{
new EmployeeLogic().Process();
}
}
}
Я пытался написать метод модульного теста для вызова процесса.напрямую, но тогда все настройки конфигурации из Global.asax не инициируются.Я просто хочу вызвать новый EmployeeLogic (). Process ();со всеми настройками конфигурации, которые были сделаны в Global.asax.В библиотеке классов есть проект с именем employee в классе Library, в котором есть Global.asax, и в нем есть все настройки. Ниже приведен код для этого:
using Employee.App_Start;
using System.Web;
using System.Web.Configuration;
using System.Web.Http;
namespace Employee
{
public class WebApiApplication : HttpApplication
{
protected void Application_Start()
{
GlobalConfiguration.Configure(WebApiConfig.Register);
SetupConfigurations();
}
У него также есть employeeController.класс, который выглядит следующим образом:
using Employee.Model;
using Employee.Validation;
using System.Net;
using System.Net.Http;
using System.Web.Http;
namespace Employee.Controllers
{
public class EmployeeController : ApiController
{
public EmployeeController()
{
}
[Route("Employee/")]
public HttpResponseMessage Post(Login login)
{
new EmployeeValidation(login?.Key).Process();
return Request.CreateResponse(HttpStatusCode.OK);
}
}
}
Я попытался сохранить проект сотрудника в проекте запуска решения и поставил точки останова в этой строке "new EmployeeValidation (login? .Key) .Process ();", но я получил сообщение об ошибке:« Не удалось загрузить файл или сборку «Microsoft.AI.Web» или одну из ее зависимостей. Система не может найти указанный файл ».когда я запускал, URL-адрес был таким: localhost: 41502, я изменил его на localhost: 41502 / Employee
. Любая помощь в отладке этой библиотеки классов будет принята с благодарностью.Человек, который написал заявление, покинул компанию.Я могу запустить сторону GUI и увидеть данные на стороне GUI.