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

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

概述我正在为我的公司构建一个Web项目的原型,我的想法就是像模板一样开始构建一个新项目,其中包含已经完成的所有必要工作,安全性,IoC,日志记录等等…… 我正在模板的安全方面工作……在开始时,我想创建一个自定义安全提供程序……但后来我意识到,微软已经使用成员资格做了…如果任何项目需要一个不同的提供者……他们只需要改变web.config就可以了…. 但接下来是我的问题……如果我希望不同的层能够获取用户 我正在为我的公司构建一个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# – 在Web页面以外的其他项目中添加System.Web是一种不好的做法吗?全部内容,希望文章能够帮你解决c# – 在Web页面以外的其他项目中添加System.Web是一种不好的做法吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1245676.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存