2

.net 4.0 Framework WCF サービスがあります。この WCF を .NET Framework 2.0 Web サイト (Web アプリケーションではなく、単なる Web サイト) に参照しました。

しかし、WCF のメソッドを呼び出すと、次のような例外が発生します。

There was an error generating the XML document.

内部例外は次のとおりです。

System.Uri は、パラメーターなしのコンストラクターを持たないため、シリアル化できません。

以下のように、パラメーターなしのコンストラクターと、WCF で継承されたコンストラクターがあります。

//Service Class
public class MyWcfService : IWcfService
{
     //I even put this hoping to make it work
     public MyWcfService()
     {
     }
     public MyEntity GetEntity(ArgumentObject arg)
     {
          return DoGetMyEntity(arg);
     }
}


[Serializable]
public class MyEntity : EntityBase
{   
    public DateTime LastUpdate { set; get; }

    //Here is the parameterless constructor
    public MsisdnInformation()
    {
        this.LastUpdate = DateTime.Now;
    }
}

[Serializable]
public class EntityBase
{   
    //Here is the parameterless constructor
    public EntityBase()
    {

    }
}

この WCF は他のプロジェクトと連携しています (ただし、これらのプロジェクトは .NET 3.0 以降のフレームワーク プロジェクトです。これらのプロジェクトの一部は Web サイトであり、一部は WepApplication です。

これまでのところ、私のインターネット検索では、私のケースを助けるものは何も見つかりませんでした.

このエラーを修正するにはどうすればよいですか?

4

2 に答える 2

3

ジョン・サンダースが私の質問に対するコメントとして指摘したように、私は変更する必要がありました

httpContext.Request.Url

httpContext.Request.Url.ToString()

を渡すために

System.Uri

パラメータを .NET 2.0 Framework から WCF に渡します。

このパラメーターを見落としていたことを少し恥ずかしく思います。

于 2013-10-03T12:53:27.287 に答える