繁体   English   中英

ASP.NET MVC 应用程序部署问题

[英]Problem with ASP.NET MVC application deployment

我目前正在部署我的 ASP.NET MVC5 项目。 我已经部署了项目文件,但我猜数据库有一些问题。 我执行了以下步骤来部署数据库:

  1. Visual Studio 中的 update-database -script 以获取我本地数据库的 SQL 脚本(我通过代码优先开发它)

  2. 连接到我在托管面板中创建的 SQL 服务器数据库。

  3. 运行我在 1 中生成的脚本。

  4. 将我的web.config中的连接字符串更改为:

     <connectionStrings> <add name="DefaultConnection" connectionString="Data Source=xxxxxx.xxxwebix.xx,2401;Initial Catalog=xxxxx;User ID=xxxxx;Password=xxxxx" providerName=".NET Framework Data Provider for SQL Server" xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/> </connectionStrings>

所以基本上我用我用来连接到数据库以运行脚本的相同凭据填充它。

不幸的是,我无法注册或登录。 我收到一个错误

处理您的请求时发生错误。
500内部服务器错误)

在控制台中,这并不能完全说明问题所在。 所以基本上,我知道问题可能与数据库有关,但我不知道出了什么问题以及如何摆脱它。 这是我的网站(也许它会有所帮助): http://gymmanager.bartoszchodyla.pl.hostingasp.pl/

我会很感激任何帮助。

编辑我发现了问题-providerName。 这很奇怪,因为我在 Visual Studio 中连接到它后,从数据库属性中获取了它。 我将其更改为默认的“System.Data.SqlClient”并且它有效。 有人知道为什么吗?

这里可能发生很多事情。 它抛出 500 错误的事实意味着某些代码导致了重大错误和/或您没有打开友好错误。

您可以采取一些措施来准确找出问题所在。 在您的控制台中,确保打开友好错误,您应该会获得更多信息。 您还可以将 try... 捕获添加到您认为问题所在的位置,并避免异常并改为编写消息(这相当粗略,但又快又容易)。 打开跟踪也可以工作,只要您实际上可以在没有 500 的情况下启动应用程序。您在每个例程之前和之后添加跟踪语句,然后 go 并检查跟踪文件。 同样可以通过写入文件以更粗略的方式完成。 这种方法的使用是可以随意开启和关闭trace。

如果您以正确的方式创建 SQL 脚本,那么您首先使用代码的事实并不重要。 当您运行它时,只要它有效(创建并可能是种子?),您就拥有正确的架构。

那么,应用程序是预先抛出错误还是仅在访问数据时抛出错误? 如果是后者,您有一个很好的地方开始寻找错误。

顺便说一句,您可以通过更改本地连接字符串来针对您的提供程序数据库进行本地测试。 这取决于是否打开某些端口,如果不是出于安全原因,您甚至可以这样做。 然后,您可以在本地调试异常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM