ASP.. NET应用程序在CPU配置从AnyCPU更改为x86时崩溃

本文关键字:x86 崩溃 AnyCPU 应用程序 NET CPU 配置 ASP | 更新日期: 2023-09-27 18:09:58

我有一个ASP。Net应用程序与2个模块:

  1. 服务器模块,作为windows服务运行
  2. 安装在IIS上的web模块。

在过去的几年里,上面的工作很完美。当我必须将应用程序移动到新的windows 2008服务器时,刚刚发生了问题。

我所做的是:

  1. 将服务器模块上的目标从AnyCPU更改为x86,然后进行测试在BP机器上,一切正常。
  2. 移动服务器和web模块到Win 2008服务器
  3. 安装并运行服务,到目前为止一切正常
  4. 从网站上,我运行了一个查询失败的空指针

在System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage (IMessagereqMsg, IMessage retMsg)

这就是我开始头晕的地方。我与service对话的代码类似于这样:

<application name="SHR">
    <client url="tcp://localhost:8039">
        <wellknown type="Package.dal.MyDAO, MyPackage" url="tcp://localhost:8039/SHR/MyDAO.rem"/>           
    </client>
    <channels>
        <channel ref="tcp client">
            <clientProviders>
                <formatter ref="binary" includeVersions="false"/>
                <provider type="server, server"/>
            </clientProviders>
        </channel>
    </channels>
</application>

我运行sql profiler,我可以看到我试图调用的类方法完全执行,但由于某些原因,它没有返回任何东西。类本身实例化正确,以及我已经运行查询,我插入/删除和一切工作,但当我需要一个数据集返回,它返回null,即使我知道它不是null)。

当我将CPU更改为x86时,该问题仅在win2008中发生。如果我试图运行服务而不将AnyCPU更改为x86,我会得到另一组错误。

ASP.. NET应用程序在CPU配置从AnyCPU更改为x86时崩溃

你复制网页了吗?配置到新的IIS?可能只是服务器和客户端之间的最大消息大小不匹配

好了,这是一个数据库用户权限。问题是,我从。net框架得到的错误是绝对废话,没有指针,这是由于某种类型的用户权限。