ASP.Net项目在转移到64位Win2k8服务器时停止运行正常

问题描述:

我对使用.netTiers 2.3.1生成的实体层,数据层和服务层的ASP.Net项目存在非常奇怪的问题。该项目在我的机器上运行良好(带有IIS 6的32位WinXP机器;该机器用于编译“Any CPU”模式),但是当我在Windows 2k8(64位,IIS 7)上传输编译的项目时,服务器,它不能正常运行了。ASP.Net项目在转移到64位Win2k8服务器时停止运行正常

我有一个带有FormView的页面,可以在我的机器上正常工作的表格中插入一个新行,但这不适用于服务器或运行Windows 7(IIS 7)的同事机器上。我使用SQL Server分析器来追踪问题,并且我可以看到插入查询和其他查询正确发送到服务器,但数据不会插入到数据库中。当我寻找它时,它不在那里。就好像交易不会被提交一样。

此外,插入后,我在数据源和formview OnInserted事件处理程序中运行更多的查询。但是,其中一个查询会阻止后续查询。如果我删除启动阻止查询的代码,那么它们只是下一个成为阻止查询的查询。正如我所说,所有这些在我的机器上运行良好,并且当我将aspx页面和二进制文件传输到服务器时,它会停止正常运行。有没有人有过这样的问题?

更新:它不是32位与64位问题,而是IIS 6与IIS 7问题。

+0

您的应用程序可以从数据库读取数据吗? – Louis

+0

@路易是的,它可以。 –

+0

我知道这似乎很明显,但我只是想确定。不同的服务器都使用完全相同的连接字符串到数据库中吗?同一用户,相同的权限? –

我发现了什么是错的。我缺少的部分的小节下面一行在我的Web.config文件:

<add name="MyProject.Web.Data.EntityTransactionModule" type="MyProject.Web.Data.EntityTransactionModule" preCondition="" /> 

这似乎并没有使用IIS 6时重要,但它使用的是IIS 7

什么时候添加上面的行也可以使用IIS 7界面完成,方法是进入网站的模块部分,然后单击添加托管模块...