C# 调试连接字符串

C# 调试连接字符串,c#,asp.net-mvc-3,web-applications,connection-string,C#,Asp.net Mvc 3,Web Applications,Connection String,我有一个网站,可以在本地模式下使用本地SqlExpress正常工作。当我发布并放置最终的服务器连接字符串时,我不断得到无助的500-内部服务器错误 我试图在本地调试模式下使用最终的服务器连接字符串,但即使这样,它也使用本地SqlExpress实例,我不知道为什么!因此,这同样是没有用的。以下是连接字符串: <add name="MainDbContext" connectionString="Data Source=rose.arvixe.com;Initial Catalog=mydb;

我有一个网站,可以在本地模式下使用本地SqlExpress正常工作。当我发布并放置最终的服务器连接字符串时,我不断得到无助的
500-内部服务器错误

我试图在本地调试模式下使用最终的服务器连接字符串,但即使这样,它也使用本地SqlExpress实例,我不知道为什么!因此,这同样是没有用的。以下是连接字符串:

<add name="MainDbContext" connectionString="Data Source=rose.arvixe.com;Initial Catalog=mydb;Persist Security Info=True;User ID=myuser;Password=mypassword" providerName="System.Data.SqlClient" />

我使用这些信息通过ManagementStudio连接到服务器,效果很好

至少可以得到一条清晰的错误信息吗

在这个问题上花了7个小时后,我请求帮助


编辑:如果我从页面中删除所有数据访问,它会工作。我一创建上下文,就会发生错误

如果您希望看到一些有用的调试信息,而不仅仅是“服务器500”,则需要a)关闭自定义错误(以便IIS提供错误的技术描述)和b)打开跟踪

  • 在web.config的节点中,添加以下内容:
  • 
    
  • 保存文件

  • 导航到显示server 500错误的页面。希望你现在能看到一些更详细的信息

  • 导航到[您的web URL]/trace.axd并单击其中一个跟踪。这将为您提供更多关于页面中正在发生的事情的信息


  • 您是否完全确定是连接字符串导致了问题?您可以尝试查看IIS服务器上的事件日志,看看它是否抛出了无法通过网络写入的异常,因此只是返回了一个通用的500内部服务器错误。如果您使用Internet Explorer,您通常可以通过转到“工具|选项|高级”并关闭“友好的http错误消息”来获取更多信息-根据您的错误配置,您将看到一些可能为您提供线索的信息。可能很简单,因为服务器上安装的ASP.NET版本不是您的目标版本,应用程序池运行时不正确etcPerhaps您可以下载HTTP侦听器(如Fiddler),并注意远程服务器返回的响应。如果你真的在浏览器上收到了服务器错误通知,那么也许你可以使用浏览器调试工具,比如用于Chrome的开发者工具…@Adrian:我补充了一些说明。事实上,我不能100%确信这是连接刺痛,因为错误消息没有用。Firebug没有添加任何内容,IE工具只是说服务器响应是error@Mathieu最终服务器是否与数据库服务器位于同一网络中?您确定最终服务器可以访问数据库服务器吗?您能够远程连接到最终服务器终端(RDP)吗?奇怪的是,如果我删除了上下文,它就会工作,但一旦出现错误500,导航到/trace.axd时就会出现相同的错误500
    <trace
     enabled="true"
     requestLimit="100"
     pageOutput="false"
     traceMode="SortByTime"
     localOnly="false"
        />
    
    <customErrors mode="Off" />