问题标签 [provider-model]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1065 浏览

c# - .net 中的提供者模型

当 .net 2.0 框架刚问世时,提供者模型风靡一时。2.0 甚至附带了一堆默认提供程序(会员、站点地图、角色)。自从 2.0 发布以来,炒作已经平息,虽然我仍然每天都在使用提供者,但它似乎得到的新闻要少得多。

我想知道这是否是因为人们使用了提供者以外的东西并且它们已被取代,或者仅仅是因为使用量没有其他 IoC 方法那么大?

0 投票
3 回答
1053 浏览

unit-testing - 如何对使用 ASP.NET 提供程序模型编写的代码进行集成测试?

我对单元测试相当陌生。我有一个建立在 3 层架构中的站点,UI -> BLL -> DAL。而且我使用了 asp.net 提供程序模型,因此通过对 web.config 进行更改,我可以切换到 DAL dll 以针对不同的数据源,以完成使用实体框架编写的 DAL。

现在,我的问题是如何对我的 BLL 进行单元测试?我使用 NUnit。

如果运行/调试我的站点,asp.net/IIS 会加载所有内容并从 web.config 获取正确的配置,所以一切正常,因为入口点来自 IIS。现在,如果我使用 NUnit gui 进行测试并说我的测试项目“MySite.Test.dll”对我的 BLL 有测试用例,那么测试框架如何获得正确的配置以成功运行所有测试。它需要 web.config 中的信息来加载正确的提供程序!

现在,在我的 DAL 中有一个由 EntityFramework 创建的 App.config,其中只有 connectionString。我应该将所有与提供程序相关的配置都放在这个 app.config 中吗?还是我错过了一些关于如何正确执行此操作的大图?

这应该是我认为人们需要经常做的一件常见的事情。有人可以详细说明如何对我的库进行单元测试。

谢谢你,雷。


编辑:阅读前 2 个答案后,我认为我应该通过集成测试更正我的描述。基本上不是 IIS 作为入口点,而是使用 NUnit 之类的 GUI 工具来运行和测试我的代码,所以 NUnit -> BLL -> DAL。人们如何实际设置它?

谢谢,雷。

0 投票
1 回答
2054 浏览

design-patterns - 提供者模型是否使用工厂模式?

提供者模型真的只是工厂模式吗?

0 投票
2 回答
436 浏览

c# - 提供者模型和性能

使用提供者模式是否会对性能产生影响?

它是否依赖于每个实例化的反射或任何东西?

0 投票
2 回答
1799 浏览

asp.net - 将单个 DB ASP.NET 站点转换为多租户 - 成员资格和角色困境

我正在将单个 SQL DB 网站 (ASP.NET/VB.NET) 更改为多租户应用程序,其中每个客户端都有自己的数据库。

在旧站点中,所有 ASP 角色、登录名和提供程序都指向单个数据库。

现在我们有多个数据库,我想知道最好使用什么架构/技术。有一个数据库可以配置租户,例如公司名称、各种设置(通常在 web.config 中)以及到租户数据库的连接字符串。

我们应该在配置租户的单个数据库中拥有所有成员资格和角色,还是在每个单独的租户数据库中拥有成员资格和角色?选项 2 似乎很棘手,因为我认为 ASP.NET 只喜欢 web.config 中定义的一组 RoleProviders。

有没有人尝试过这个或有任何建议?

0 投票
2 回答
2617 浏览

design-patterns - 存储库模式是否与 Asp.net 提供程序模型相同?

从 Asp.net 2.0 开始,就有了提供者模型。在实现细节上,提供者是派生自 ProviderBase 的类,它是一个抽象类而不是接口,但无论如何提供者模型都在那里,因此我们可以通过编辑 web.config 来换入不同的实现。例如,如果您创建一个博客应用程序,您可能有一个 BlogProvider : ProviderBase,那么您可以有 BlogProvider 的实现,例如:SqlBlogProvider、OracleBlogProvider 甚至 MockBlogProvider 用于测试。

现在,Repository Pattern 越来越流行,我觉得它是为了满足同样的需求,虽然在实现细节上,你通常使用接口,所以 IBlogProvider,你会通过构造函数而不是属性注入不同的实现,但本质上我没有看不出这两种模式给我们带来的差异。

就个人而言,我觉得 Provider Model 在实现中对我来说更自然。那么,它们之间是否有区别,或者它们只是不同社区赋予不同名称的同一事物?

我很感激对此的任何评论,谢谢,雷。

0 投票
2 回答
141 浏览

winforms - 有没有人能够将 .NET 提供程序模型与 winforms 应用程序一起使用?

我已经看到了大量的 ASP.NET 示例,但没有看到 winforms 的示例。换句话说,使用 app.config 而不是 web.config。如果它不起作用,那将是一种耻辱。

0 投票
1 回答
720 浏览

asp.net-mvc-3 - ASP.Net MVC 3 中的提供程序模型——使用 SQL Server 2008 R2 Dev Ed,而不是默认 SQLExpress

我目前正在 MS ASP.Net 网站 (MvcMusicStore) 上编写 ASP.Net MVC 3 教程。我使用数据库优先方法,并成功修改了教程以通过实体框架访问独立创建的数据库,而不是使用教程中使用的新的 EF 4.1 代码优先方法。我在本地机器上使用 SQL Server 2008 R2 Developer Edition。

本教程从一个空的 MVC 网站开始。本教程说明如何为 SQL 提供程序配置网站,通过该网站进行用户名和密码注册。我一直无法让提供商工作。我实际上使用帐户控制器创建了另一个单独的 MVC 网站,并尝试通过它注册提供程序(没有代码更改)并遇到了同样的问题。显然,将第二个项目中的 web 配置文件的相关部分剪切并粘贴到空教程中并不能解决问题。我已经能够使用 aspnet_regsql 在 SQL Server 中注册和创建一个 aspnetdb。但是我尝试配置或访问它并没有奏效。我已经尝试过 aspnet_regsql -A all -E,它给了我一条错误消息。我曾尝试使用 ASP 选择提供程序。

谁能指导我解决问题?它只是连接字符串吗?我错过了什么?

0 投票
2 回答
281 浏览

asp.net-mvc - 如果还使用 IOC,那么 ASP.NET 提供程序模型的最佳替代方案是什么?

ASP.NET 提供程序模型是一项伟大的技术,可以解决允许某人将某些功能的单独实现“插入”到 Web 应用程序中的问题。提供者模型通常在实现需要配置时有点痛苦,因此它的使用最少。

IOC 是确保在应用程序的每个级别分离关注点的好方法,因此广泛使用它来支持所有组件的单元测试是很好的。

如果 Web 应用程序正在使用 IOC 容器,那么使用 Provider 模型似乎也是错误的,因为您似乎正在抽象出已经抽象出来的东西,从而产生了两个级别的复杂性(可能除了现有的提供者 - 我正在谈论制作自定义提供者)。

(在我的博客文章中查看更多信息:http ://healthedev.blogspot.com/2011/12/making-custom-built-applications.html )

我正在为 IOC 使用 AutoFac,并且可以允许“配置覆盖”,因此这似乎是满足 Provider Model 给我的相同解决方案的一个很好的选择,但是我不太了解 MEF 如何满足这个要求或如果还有其他我想念的东西吗?

如果您可以从头开始设计一个 ASP.NET MVC Web 应用程序,并且要求您必须转售打包版本,以便其他人可以“插入”某些数据访问,而无需重新编译,那么如何你去实施它?

0 投票
2 回答
119 浏览

.net - .net 提供程序与存储库,用于构建对多种视频服务的支持

试图支持多个视频提供商。

  1. 内部视频提供商(用户在应用服务器上上传视频并由应用播放)
  2. Youtube 提供者(从 youtube 获取所有内容并使用嵌入的 youtube 视频播放)
  3. 维密欧
  4. 其他一些供应商

UI 将允许用户在选择一些视频时选择它的提供者。是否有人实现了类似的东西,您是否建议为此使用提供者模型或存储库模式?