我正在将ASP.NET Web应用程序部署到Azure网站。
该网站使用实体框架,当我在Web.config
中包含以下内容时,它运行良好:
<connectionStrings>
<add name="DataContext" connectionString="metadata=res://*/Models.WpsData.csdl|res://*/Models.WpsData.ssdl|res://*/Models.WpsData.msl;provider=System.Data.SqlClient;provider connection string="data source=XXXX;initial catalog=XXXX;persist security info=True;user id=XXXX;password=XXXX;multipleactiveresultsets=True;application name=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
但是,如果删除此连接字符串并通过Azure管理门户指定,则会发生错误。
Name: DataContext
Value: metadata=res://*/Models.WpsData.csdl|res://*/Models.WpsData.ssdl|res://*/Models.WpsData.msl;provider=System.Data.SqlClient;provider connection string="data source=XXXX;initial catalog=XXXX;persist security info=True;user id=XXXX;password=XXXX;multipleactiveresultsets=True;application name=EntityFramework"
Type: Custom
这会导致错误:在应用程序配置文件中找不到名为“DataContext”的连接字符串。
答案 0 :(得分:15)
查看类似问题here。
尝试使用某个值(某个测试连接字符串或某个虚拟值)保留web.config中的连接字符串,例如。
<connectionStrings>
<add name="DataContext" connectionString="dummy" providerName="System.Data.EntityClient" />
</connectionStrings>