3

asp.netを使用しており、SQLサーバーに格納するようにセッションを構成しました。私のオブジェクトには、多くのオブジェクトといくつかのlinq-to-sqldbmlがあります。それらすべてを単方向シリアル化するように構成し、いくつかのカスタマイズされた変更も行いました。

アプリを実行すると、application_errorイベントハンドラーでこのエラーが発生し続けます

アセンブリ'App_Code.thzd8p2j、Version = 0.0.0.0、Culture = neutral、PublicKeyToken =null'に'Data.Karaoke.spCWP_SelUserPrivilegesResult'と入力すると、シリアル化可能としてマークされません。

エラーから、これがコードであるdbml.designer.csファイルからのものかどうかはわかりません。

[Function(Name="dbo.spCWP_SelUserPrivileges")]
public ISingleResult<spCWP_SelUserPrivilegesResult> spCWP_SelUserPrivileges([Parameter(Name="IDCWPUser", DbType="Int")] System.Nullable<int> iDCWPUser)
{
  IExecuteResult result = this.ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())), iDCWPUser);
  return ((ISingleResult<spCWP_SelUserPrivilegesResult>)(result.ReturnValue));
}

[DataContract()]
public partial class spCWP_SelUserPrivilegesResult
{

  private int _IDTypeCWPModule;

  private string _TypeKey;

  private bool _Security;

  public spCWP_SelUserPrivilegesResult()
  {
  }

  [Column(Storage="_IDTypeCWPModule", DbType="Int NOT NULL")]
  [DataMember(Order=1)]
  public int IDTypeCWPModule
  {
    get
    {
      return this._IDTypeCWPModule;
    }
    set
    {
      if ((this._IDTypeCWPModule != value))
      {
        this._IDTypeCWPModule = value;
      }
    }
  }

  [Column(Storage="_TypeKey", DbType="VarChar(10) NOT NULL", CanBeNull=false)]
  [DataMember(Order=2)]
  public string TypeKey
  {
    get
    {
      return this._TypeKey;
    }
    set
    {
      if ((this._TypeKey != value))
      {
        this._TypeKey = value;
      }
    }
  }

  [Column(Storage="_Security", DbType="Bit NOT NULL")]
  [DataMember(Order=3)]
  public bool Security
  {
    get
    {
      return this._Security;
    }
    set
    {
      if ((this._Security != value))
      {
        this._Security = value;
      }
    }
  }
}

エラーの原因を特定するにはどうすればよいですか?または、エラーはどういう意味ですか?

問題を解決する方法や、問題を解決するために何を探すべきかわからない。

4

2 に答える 2

6

アプリケーションである種のシリアル化を実行しているようです。DataContract シリアライゼーションとは異なるシリアライゼーション。

新しいファイルを作成し、次のように入力します。

[Serializable]
public partial class spCWP_SelUserPrivilegesResult { }

データベースから dbml ファイルを更新する場合に備えて、これを別のファイルで行います。

于 2011-06-14T04:32:39.167 に答える
0

SQL Server CLR の場合かどうかはわかりませんが、一般的に .Net では、コードを次のように更新することをお勧めします。

[Serializable()]
[DataContract()]
public partial class spCWP_SelUserPrivilegesResult
{
    ...
于 2011-06-14T04:30:36.157 に答える