Я новичок и изучаю ASP.NET MVC. Мое приложение работало отлично. Я узнал об Singleton, но после включения шаблона Singleton в свое приложение я получаю исключение для своего класса ProductService, который находится в com.service.проект. У меня есть решение, и в этом решении у меня есть 4 проекта с этими именами com.Entities, com.database, com.services, com.web
Я пытался проверить использование кода управляемой совместимостив Сервис -> Параметры -> Использовать ManagedCode
com.service: Получение исключения в общедоступном статическом экземпляре ProductService
public class ProductService
{
public static ProductService Instance
{
get
{
if (Instance == null) instance = new ProductService();
return instance;
}
}
private static ProductService instance { get; set; }
private ProductService() {}
CContext context = new CContext();
public List<Product> GetProducts()
{
return context.Products.Include(x => x.Category).ToList();
}
}
com.web: контроллер
[HttpGet]
public ActionResult Edit(int id)
{
var prod = ProductService.Instance.GetProduct(id);
UpdateProductViewModels editModel = new UpdateProductViewModels ();
editModel.ID = prod.ID;
editModel.Name = prod.Name;
editModel.CategoryID = prod.Category != null ? prod.Category.ID : 0;
editModel.CategoryList = CategoryService.Instance.GetCategories();
return PartialView(editModel);
}
com.Entities
public class BaseEntity
{
public int ID { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public bool isFeatured { get; set; }
public string ImageURL { get; set; }
}
пространство имен com.Entities
public class Product : BaseEntity
{
public decimal Price { get; set; }
public int CategoryID { get; set; }
public Category Category { get; set; }
}