45

我想将客户错误设置为 true,以防止用户查看有关我的应用程序的详细信息。但我找不到我应该在哪里写这个<customErrors mode="on">;它应该在 web.config 中还是在 web、debug.config 中还是在哪里?

BR


如何创建没有预定义表结构的表值参数

我想从我的程序中构建的数据表创建一个新的 SQL 表。我只是想将整个表复制到 MSSQL。根据我的研究,我发现似乎是答案:

附带说明一下,在 SQL 2008 中,有一种非常简单的方法可以从客户端定义的数据表中创建表:将数据表作为表值参数传递,然后发出 SELECT * INTO FROM @tvp,这将有效地传输定义将 Datatable 及其内容数据转换为 SQL 中的真实表。

(由 Remus Rusan 在此问题下发布 --- 从 C# 数据表创建 SQL Server 表)

我无法弄清楚的是如何在没有表定义的情况下在 SQL Server 中定义表值参数。所有文档都显示了定义@tvpwith 列定义,这当然违背了SELECT * INTO. @tvp除非我完全遗漏了某些东西,否则如果没有 SQL 服务器端声明和调用 SQL 语句的简短 sp,则无法执行上述操作。

4

3 回答 3

93

根据我的经验,我们应该在发布模式下将自定义错误设置为 On,并在调试时将其关闭。要自动执行此操作,我们可以使用 web.config 转换,如下例所示。

Web.Debug.config

此设置将允许 Web 服务器显示包含有用错误信息的 ASP.NET 黄页。

<customErrors mode="Off" xdt:Transform="Replace" />

Web.Release.config

另一方面,我们不希望用户知道技术错误。我们应该使用自定义错误页面而不是 ASP.NET 黄页。

<customErrors mode="On" xdt:Transform="Replace" />
于 2012-11-04T19:03:30.860 回答
7

这将取决于,但通常应该在 Web.config 文件中。

Web.Debug.config 和 Web.Release.config(以及其他配置变体)用于部署应用程序时。当您执行发布操作时,转换将在部署期间应用于您的 Web.config 文件,这意味着您可以将特定的配置设置应用于您已设置的调试、发布和其他配置。

如果您在开发过程中通常不执行发布操作,则需要将此设置应用于 Web.config 文件以使其生效。

有关转换 Web.config 文件的更多详细信息,请参阅http://msdn.microsoft.com/en-us/library/dd465318.aspx

有关将 customErrors 元素添加到 Web.config 文件的示例,请参阅http://msdn.microsoft.com/en-us/library/h0hfz6fc.aspx 。

于 2012-02-15T00:06:51.453 回答
5

放入 Web.config 并为重定向创建一个错误页面。在 MVC 中,您有 HandleErrorAttribute,在类上标记它以处理意外错误,记录它并抛出错误页面。自定义错误是具有已知状态代码的特定错误的默认页面。

<system.web>
    <customErrors mode="On">
      <error statusCode="404" redirect="/PageNotFound?" />
    </customErrors>
</system.web>
于 2015-03-25T14:52:36.317 回答