创建一个在MVC项目中调用的全局方法

时间:2014-05-01 19:32:52

标签: c# asp.net-mvc-3

我是MVC的新手,我目前正在开发Visual Studio中的MVC 3项目,我想创建一个全局可访问的方法或变量。当我说全局时,我的意思是在我的Web项目,服务层项目和数据层项目中可用。

我想当我说全球时,我的意思是整个解决方案的全球性。

我尝试在解决方案项目文件夹中创建一个类并在我的web项目中引用,但它不允许我添加对该类的引用,因为它不是DLL。

我对如何做到这一点感到困惑。任何建议将不胜感激。还要记住,虽然我是程序员,但我仍然对MVC和编程有些新意。

编辑:我还尝试在global.asax文件中添加一个方法,但无法调用它

2 个答案:

答案 0 :(得分:2)

您应该创建一个用于定义类的共享程序集。然后,您可以从需要该功能的所有项目中添加对共享程序集的引用。

答案 1 :(得分:0)

你想成为的班级"全球"听起来像某种服务。我想这是你可能想要用日志服务做的事情。

使用日志记录服务作为示例,通常最佳做法是在轻量级合同类型程序集中定义日志记录服务的接口。然后,任何需要实现ILoggingService的程序集都应使用AutofacMEF等IoC容器注入必要的实现。

这种模式很常见,允许您在保持实现松散耦合的同时共享公共服务。此模式也将导致高度可测试的代码,因为假实现可以注入Moq