c# – 在Web页面以外的其他项目中添加System.Web是一种不好的做法吗?

前端之家收集整理的这篇文章主要介绍了c# – 在Web页面以外的其他项目中添加System.Web是一种不好的做法吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在为我的公司构建一个Web项目的原型,我的想法就是像模板一样开始构建一个新项目,其中包含已经完成的所有必要工作,安全性,IoC,日志记录等等……

我正在模板的安全方面工作……在开始时,我想创建一个自定义安全提供程序……但后来我意识到,微软已经使用成员资格做了…如果任何项目需要一个不同的提供者……他们只需要改变web.config就可以了….

但接下来是我的问题……如果我希望不同的层能够获取用户信息……就像服务层(业务服务……而不是Web服务),我需要包含System.Web和System.Web.ApplicationServices到该类库.

这是一种不好的做法吗?我不想重新发明轮子,微软会员模型足以满足我的需求.

谢谢!

解决方法

事实上,System.Web是ASP.NET的一部分. System.Web中的许多方法都使用HttpContext.Current – 这是关于当前HTTP请求的上下文.在非ASP.NET应用程序中使用System.Web会以奇怪的方式运行失败的风险,因为您可以使用可能使用HttpContext的方法访问类.这是一个坏主意;因此,反过来也应该被认为是一种不好的做法.

还有System.Web的意图.是的,它只是一个程序集,IDE可以让你引用你喜欢的任何程序集.但是,System.Web的目的是在ASP.NET应用程序的上下文中.这就是微软开发人员所假设的;所以,他们会在这个假设下发展它.将来,由于有利于ASP.NET应用程序的更改,它们可以有效地破坏您的应用程序.如果发生这种情况,您无需重新设计应用程序以响应这一点,而不是在您真正计划设计(或重新设计)应用程序的这一部分时.

猜你在找的C#相关文章