“部署Code First”时“从数据库获取提供程序信息时发生错误”

时间:2012-08-16 11:33:53

标签: ef-code-first asp.net-mvc-4 connection-string

将ASP.NET MVC 4应用程序(代码优先)部署到IIS时出现以下错误:

“从数据库获取提供程序信息时发生错误。 这可能是由实体框架使用不正确的连接字符串引起的。检查内部异常以获取详细信息,并确保连接字符串正确。“

我一直在寻找答案,但没有一种情况与我的相符:

我有2个项目

  • BackEnd(具有Code First + WCF服务的DataAccess)
  • FrontEnd MVC 4应用程序(仅对WCF服务的服务引用)

在我的本地IIS + SQL Server 2008上,它运行正常。即使我将连接字符串更改为生产数据库,一切都按预期工作。

将BackEnd + FrontEnd部署到IIS时会出现问题。

访问db的唯一连接字符串位于我的BackEnd应用程序中:

    <?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <appSettings>
    <add key="fromMail" value="xxx@gmail.com" />
  </appSettings>
  <connectionStrings>
    <add name="TTCWestelDbContext" connectionString="Data Source=192.168.2.14\SQLSERVER2008;Initial Catalog=TTCWestel001;Persist Security Info=True;User ID=XXX;Password=XXX" providerName="System.Data.SqlClient" />
  </connectionStrings>
  <system.web>
    <compilation debug="true" targetFramework="4.0" />
    <httpRuntime maxRequestLength="102400" executionTimeout="3600" />
  </system.web>
  <system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding name="" maxReceivedMessageSize="2147483647">
          <readerQuotas maxDepth="64" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
        </binding>
      </basicHttpBinding>
    </bindings>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
          <serviceMetadata httpGetEnabled="true" />
          <!-- To receive exception details in faults for debugging purposes, set the value below to true.  Set to false before deployment to avoid disclosing exception information -->
          <serviceDebug includeExceptionDetailInFaults="true" />
          <dataContractSerializer maxItemsInObjectGraph="2147483646" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
  </system.serviceModel>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true" />
    <directoryBrowse enabled="true" />
  </system.webServer>
  <system.diagnostics>
    <sources>
      <source name="System.ServiceModel"
              switchValue="Information, ActivityTracing"
              propagateActivity="true">
        <listeners>
          <add name="traceListener"
              type="System.Diagnostics.XmlWriterTraceListener"
              initializeData= "c:\Temp\WCFTracesTTCWestel.svclog" />
        </listeners>
      </source>
    </sources>
  </system.diagnostics>

</configuration>

任何帮助表示赞赏!!

由于

Micclo

0 个答案:

没有答案