Сценарий : у меня есть консольное приложение, которое ссылается на пару библиотек классов. ClassLibEmployee извлекает данные из базы данных SQL и возвращает список. Мне нужно перебрать список сотрудников и отправить его в WebAPI и обновить статус БД SQL. Я создал ClassLibPay , который является оберткой для WebAPI.
ClassLibEmployee.EmployeeData ed = new ClassLibEmployee.EmployeeData();
var elist = ed.PullEmployees();
foreach (Employee e in elist) {
bool stat = ClassLibPay.ServiceWrap.Sendtopay(e.Id, e.Name, e.Pay, e.ExemptFlag, e.Hours);
ed.ChageStatus(e.Id, e.Name, e.Pay, e.ExemptFlag, e.Hours, stat);
}
- В ClassLibEmployee я определил класс как
public class EmployeeData
- В ClassLibPay я определил класс как
public static class ServiceWrap
Вопросы:
, так как я буду вызывать метод ChangeStatus в EmployeeData для каждого сотрудника, должен ли это быть статический класс?
ServiceWrap вызывает службу, есть ли способ избежать создания экземпляра службы для каждого вызова Sendtopay?
Консольное приложение
- Ссылки ClassLibEmployee
public class EmployeeData
{
public List<Employee> PullEmployees()
{
}
}
ConsoleApp
--Ссылки ClassLibPay
- ClassLibPay вызывает WebAPI
public static class ServiceWrap
{
public static bool Sendtopay(int id, string name, decimal pay, bool flg, int hours)
{
using (EDataSvc service = new EDataSvc())
{
service.serviceMethod(id,name,pay,flg,hours);
}
}
}