クライアントからサーバーのWCFサービスに送信されたbase64エンコード文字列をフェッチしているときに奇妙な問題に直面しています。この文字列は、私のWCFサービスメソッドでは常にnullになります。私が持っているビジネスクラスは次のとおりです。
[DataContract(Namespace = "")]
public class Test
{
[DataMember]
public int Id { get; set; }
[DataMember]
public int Name { get; set; }
[DataMember]
public int Age { get; set; }
[DataMember]
public string MyString { get; set; }
}
xmlで投稿データをWCFサービスに送信しています:
string data = string.Format("<Test><Id>{0}</Id><Name>{1}</Name><Age>{2}</Age><MyString>{3}</MyString></Test>",
1, "name", 20, Convert.ToBase64String(image));//image is in bytes
上記の「画像」はバイト単位です。
MyTestService.svc.csのサーバーでクライアントデータを受信している間:
public void CreateTest(Test test)
{
「test」オブジェクトで、「MyString」プロパティを除く、クライアントから送信したすべてのプロパティの値を取得しています。常にnullになります。Fiddlerで、xmlの「MyString」タグにbase64でエンコードされた文字列が含まれていることを再確認しました。これを修正するのを手伝ってもらえますか?
xmlタグのプロパティ値の長さに制限はありますか?エンコードされた画像の文字列は十分な長さです。