0

特定の asp.net Web ページでリダイレクト中にリモート サーバーでエラーが発生しました。

ログファイル:

 <error date="2013-01-25T18:40:09" module="E24PublicPortal" login="-">
    <message>-</message>
    <exception>
      <Message Type="System.Web.HttpUnhandledException">Exception of type 'System.Web.HttpUnhandledException' was thrown.</Message>
      <InnerMessage Type="System.NullReferenceException">Object reference not set to an instance of an object.</InnerMessage>
      <Source>System.WebBoolean HandleError(System.Exception)</Source>
      <StackTrace>   at System.Web.UI.Page.HandleError(Exception e)
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
   at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
   at System.Web.UI.Page.ProcessRequest()
   at System.Web.UI.Page.ProcessRequest(HttpContext context)
   at ASP.vehicleinsurancepayment_aspx.ProcessRequest(HttpContext context) in c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\2babcf5b\7311d315\App_Web_kvw1yfpt.2.cs:line 0
   at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&amp; completedSynchronously)</StackTrace>
    </exception>
  </error>
  <error date="2013-01-25T18:40:09" module="E24PublicPortal" login="-">
    <message>-</message>
    <exception>
      <Message Type="System.NullReferenceException">Object reference not set to an instance of an object.</Message>
      <Source>koduLibsInt32 GetDRInt(System.Data.DataRow, System.String)</Source>
      <StackTrace>   at kodu.Libs.Utils.GetDRInt(DataRow row, String name)
   at kodu.Libs.DBFile.FillFromDataRow(DBFile file, DataRow rowFile)
   at kodu.Libs.DBFile.Load(Int32 kind, Int32 type, Int32 channelId, Int32 langId)
   at kodu.Libs.EmailTemplate.Load()
   at kodu.Portal.VehicleInsurancePayment.GetEmailText(PolicyOrder po, EmailTemplates template)
   at kodu.Portal.VehicleInsurancePayment.SendPaymentFailEmail()
   at kodu.Portal.VehicleInsurancePayment.Page_Load(Object sender, EventArgs e)
   at kodu.Portal.Code.E24Page.OnLoad(EventArgs e)
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)</StackTrace>
    </exception>
  </error>

ローカルマシンでは問題なく動作します。temp から App_Web_kvw1yfpt.2.cs を削除すると、エラーが発生し続けます。助言がありますか ?

ありがとう

Kodu.Libs.Utils.GetDRInt(..) のコード:

public static int GetDRInt(DataRow row, string name)
        {
            return row[name] != DBNull.Value ? (int)row[name] : -1;
        }
4

1 に答える 1

0

関数を次のようにします。

public static int GetDRInt(DataRow row, string name)
{
    Debug.Assert(name != null, "Name must have a value");

    if(row == null || row[name] == null || row[name] == DBNull.Value)
       return -1
    else
       return (int)row[name];
}

可能なすべての null ケースをチェックします。

于 2013-01-25T17:19:50.663 に答える