1

2 つのモジュールを含む ASP.Net アプリケーションがあります。

  1. サーバー モジュールは、Windows サービスとして実行されます。
  2. IIS にインストールされた Web モジュール。

上記は、過去数年間完全に機能します(機能しています)。アプリケーションを新しい Windows 2008 サーバーに移動する必要があるときに問題が発生しました。

私がやったことは次のとおりです。

  1. サーバーモジュールでターゲットをAnyCPUからx86に変更し、BPマシンでテストしたところ、すべてが機能しました。
  2. サーバーと Web モジュールを Win 2008 サーバーに移動しました。
  3. サービスをインストールして実行しましたが、これまでのところ問題ありません。
  4. Web サイトから、null ポインター例外で失敗したクエリを実行しました。次のようなものです。

System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage (IMessage reqMsg、IMessage retMsg) で

これが私の頭が回転し始めたところです。サービスと対話する私のコードは次のようになります。

<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 プロファイラーを実行したところ、呼び出しようとしているクラス メソッドが完全に実行されていることがわかりますが、何らかの理由で何も返されません。クラス自体は正しくインスタンス化され、挿入/削除してすべてが機能するクエリを実行しましたが、データセットを返す必要がある場合は、null ではないことを知っていても null を返します)。

この問題は、CPU を x86 に変更したときに Win 2008 でのみ発生します。AnyCPU を x86 に変更せずにサービスを実行しようとすると、別のエラー セットが発生します。

4

2 に答える 2

0

わかりました、データベースのユーザー権限であることが判明しました。問題は、私が .net フレームワークから得たエラーが絶対にくだらないものであり、ある種のユーザー権限が原因であるというポインターがなかったことです。試してくれたすべての人に感謝します。

于 2013-04-19T01:43:23.633 に答える