Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 生产代码中的SqlDataSource示例_.net_Asp.net - Fatal编程技术网

.net 生产代码中的SqlDataSource示例

.net 生产代码中的SqlDataSource示例,.net,asp.net,.net,Asp.net,我是ASP.net新手,目前正在阅读有关SqlDataSource的内容,并正在运行一些示例。我和一位同事聊过,他说这“对于快速而肮脏的应用程序来说很好”,但没有人会在生产/部署环境中使用它 我真的不知道该去哪里寻找或征求意见。它与我以前使用的(数据访问层/业务对象/UI)非常不同 也许这不是一个合适的问题,但我不知道还能去哪里。有人对此有意见吗?有人能提供一两个使用这种方法的制作/大型/棒极了的网站的链接吗 就最佳实践而言,您建议采用什么方法从数据库中获取数据以用于您的网站 使用SqlConn

我是ASP.net新手,目前正在阅读有关SqlDataSource的内容,并正在运行一些示例。我和一位同事聊过,他说这“对于快速而肮脏的应用程序来说很好”,但没有人会在生产/部署环境中使用它

我真的不知道该去哪里寻找或征求意见。它与我以前使用的(数据访问层/业务对象/UI)非常不同

也许这不是一个合适的问题,但我不知道还能去哪里。有人对此有意见吗?有人能提供一两个使用这种方法的制作/大型/棒极了的网站的链接吗


就最佳实践而言,您建议采用什么方法从数据库中获取数据以用于您的网站

使用SqlConnection和SqlDataAdapter执行基本的sql“填充”
见:

您还可以使用SqlCommand(许多教程,但都是为了让您了解正确的方向)

确保将SqlConnection放入using语句中,以便在using语句超出范围时自动释放该对象

在我看来,您可以使用数据读取器调用存储过程,该读取器不将结果放入数据集,而是像流一样读取


using (var connection = new SqlConnection(connectstring))
{
    using (SqlCommand command = new SqlCommand("dbo.SomeProc", connectString))
    {
        command.CommandType = System.Data.CommandType.StoredProcedure;
        command.CommandTimeout = 1000;
        command.Parameters.Add(new SqlParameter("@ParamName", "someValue");

        using(var reader = command.ExecuteReader())
        {
            while (dataReader.Read())
            {
                string someValue = dataReader["SomeColumnName"];
            }
        }
    }
}

我从未见过使用
SqlDataSource
时出现性能问题,但我也从未将其用于大型网站,仅限于每天访问10-15次的小型企业或内部应用程序。它可以让很多事情变得非常简单(内置缓存、过滤、分页等功能)。缺点更多地与维护有关,而不是与性能有关。使用
SqlDataSource
意味着在网站的每个页面上都使用内嵌式SQL,这显然不是企业开发的最佳实践。它不适合典型的分层开发方法,因为它迫使您将数据访问和业务逻辑嵌入表示层。因此,决定因素实际上与性能无关,它更多地与复杂性有关。

对于Joel所说的内容,我没有太多补充,但这是其中一个问题,它得到的答案越多,就越有帮助

我在生产中有3个站点仍然使用SqlDataSource控件。他们从2006年初就开始行动了。它们即将被彻底检修并转移到MVC,但这并不是因为它们存在性能问题。这是因为客户希望在5年后对其进行更新和延长。它们不是巨大的繁忙站点,但SQLDataSource可以在这些站点上工作,就像在其他任何地方一样。它们只是ADO.NET的包装器。它们可能比大多数ORM性能更好

我在这些站点中没有内联SQL。数据源控制调用存储过程。在这方面,数据访问层存在并位于一个地方——数据库本身