加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 08:00:28 所属栏目:百科 来源:网络整理
导读:我正在为我的公司构建一个Web项目的原型,我的想法就是像模板一样开始构建一个新项目,其中包含已经完成的所有必要工作,安全性,IoC,日志记录等等…… 我正在模板的安全方面工作……在开始时,我想创建一个自定义安全提供程序……但后来我意识到,微软已经使用成
我正在为我的公司构建一个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应用程序的更改,它们可以有效地破坏您的应用程序.如果发生这种情况,您无需重新设计应用程序以响应这一点,而不是在您真正计划设计(或重新设计)应用程序的这一部分时.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读