将asp.net mvc app部署到iis时出现的问题

时间:2014-12-12 14:02:39

标签: c# sql sql-server asp.net-mvc iis

(程序的功能是上传Excel文件,将它们存储在数据库中,下载它们,搜索单个记录,并通过上传带有一些键的Excel表格并为每条记录填写信息来创建某些记录的发票提供。)

所以现在是时候部署了。我认为这就像使用VS发布并将其放在服务器上一样简单。男孩,我错了!我已经被困了一个星期,仍然无法让它完全在桌面或笔记本电脑上的IIS实例上运行,我在生产服务器上尝试了两次,但也失败了。

我的问题是,为了获得我开发的MVC应用程序,我必须采取哪些步骤才能在任何不一定拥有visual studio的计算机上工作?

我发布的步骤:

应用程序池:托管管道模式:集成; .Net Framework v4.0.30319;进程模型标识:LocalSystem / Network Service(如果我在SQL Management studio中授予它们权限,则都可以工作)

连接字符串:开发时, Datasource =(LocalDB)\ v11.0 和AttachDBFilename = | DataDirectory | \ myDB.mdf

<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\PRICELISTDB.mdf" providerName="System.Data.SqlClient" />
<add name="ServiceableItemContext" connectionString="Data Source=(LocalDb)\v11.0; AttachDBFilename=|DataDirectory|\PRICELISTDB.mdf;Integrated Security=True;Connect Timeout=30" providerName="System.Data.SqlClient" />
<add name="SalesItemContext" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\PRICELISTDB.mdf;Integrated Security=True;Connect Timeout=30" providerName="System.Data.SqlClient" /> 

我尝试过使用Data Source = SQLEXPRESS和initialcatalog = Pricing。

我一直收到错误,无法找到数据库或“数据库中的CREATE TABLE权限被拒绝”。我终于让它在我的笔记本电脑上工作没有许可/安全问题,但它没有上传我的excel文件,它只是返回视图而不采取任何行动所以我认为IIS需要设置为接受文件。 (Visual Studio中的代码完全相同)

1 个答案:

答案 0 :(得分:0)

(LocalDb)\v11.0 SQL Express,它只能在Visual Studio的范围内使用。在生产服务器上,您应该使用真正的SQL Server实例。设置SQL Server,最好在与运行您网站的服务器不同的服务器上,然后将连接字符串更改为该服务器。

当您在Visual Studio中使用Release配置发布时,您实际上可以使用Web.Release.config转换将Web.config中的连接字符串自动更改为此。