微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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应用程序的更改,它们可以有效地破坏您的应用程序.如果发生这种情况,您无需重新设计应用程序以响应这一点,而不是在您真正计划设计(或重新设计)应用程序的这一部分时.

原文地址:https://www.jb51.cc/csharp/100287.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐