Tôi có một ứng dụng Silverlight truy xuất danh sách các lớp có thể tuần tự hóa. Trong các lớp này có các lớp serializable khác một số trong đó cũng có trong một danh sách. Tất cả mọi thứ hoạt động tốt cho đến khi tôi điền vào một danh sách các lớp có thể tuần tự hóa khiến ứng dụng Silverlight ném ngoại lệ "Máy chủ từ xa trả về lỗi: NotFound"Dịch vụ Web Silverlight "Máy chủ từ xa đã trả về lỗi: NotFound"
Đây là mã điền vào lớp (Don ' t bị đe dọa bởi số lượng lớn các mã nó chỉ điền vào lớp học với thông tin):
private SCharacter getSCharacter(Character userCharacter)
{
var iqcb = userCharacter.CharacterBodies;
var iqcs = userCharacter.CharacterStats;
var iqgs = userCharacter.CharacterSettings;
var iqcp = userCharacter.CharacterPoints;
var iqcproj = userCharacter.CharacterProjectiles;
var currChar =
new SCharacter
{
characterID = userCharacter.characterID,
characterName = userCharacter.characterName,
characterClassID = userCharacter.characterClassID,
userUsername = userCharacter.userUsername
};
foreach (var cb in iqcb)
{
var scb = new SCharacterBody();
scb.body.bodyId = cb.bodyId;
scb.body.bodyName = cb.Body.bodyName;
scb.bodyPart.bodyPartId = cb.BodyPart.bodyPartId;
scb.bodyPart.bodyPartName = cb.BodyPart.bodyPartName;
currChar.characterBodyList.Add(scb);
}
foreach (var cs in iqcs)
{
var scs =
new SCharacterStat
{
characterID = cs.characterID,
statId = cs.statId,
characterStatId = cs.characterStatId,
statName = cs.Stat.statName,
statValue = cs.statValue
};
currChar.characterStatList.Add(scs);
}
foreach (var igs in iqgs)
{
var scs = new SCharacterSetting
{
characterID = igs.characterID,
modifierId = igs.GameSetting.modifierId,
modifierType = igs.GameSetting.Modifier.modifierType,
characterSettingId = igs.characterSettingId,
settingDescription = igs.GameSetting.settingDescription,
settingName = igs.GameSetting.settingName,
settingValue = igs.GameSetting.settingValue
};
var gss = igs.GameSetting.Stat;
scs.stat.statId = gss.statId;
scs.stat.statName = gss.statName;
currChar.characterSettingList.Add(scs);
}
foreach (var cp in iqcp)
{
var scp = new SCharacterPoint
{
characterID = cp.characterID,
characterPointsId = cp.characterPointsId,
pointsId = cp.pointsId,
pointsName = cp.Point.pointsName,
pointsValue = cp.pointsValue
};
currChar.characterPointList.Add(scp);
}
foreach (var cp in iqcproj)
{
var scp =
new SCharacterProjectile
{
characterId = cp.characterId,
characterProjectileId = cp.characterProjectileId,
particleId = cp.Projectile.particleId,
projectileHeight = cp.Projectile.projectileHeight,
projectileWidth= cp.Projectile.projectileWidth,
damageId =cp.Projectile.damageId,
damageDuration = cp.Projectile.Damage.damageDuration,
damageValue = cp.Projectile.Damage.damageValue,
projectileName = cp.Projectile.projectileName
};
scp.force.forceName = cp.Projectile.forceName;
scp.force.impulseX = (float)cp.Projectile.Force.impulseX;
scp.force.impulseY = (float)cp.Projectile.Force.impulseY;
scp.force.torque = (float)cp.Projectile.Force.torque;
scp.projectileParticle.particleId = cp.Projectile.particleId;
scp.projectileParticle.particleName = cp.Projectile.Particle.particleName;
foreach (var psv in cp.Projectile.Particle.ParticleSettingValues)
{
var spsv = new SParticleSettingValue();
spsv.particleId = psv.particleId;
spsv.particleSettingID = psv.particleSettingID;
spsv.particleSettingName = psv.ParticleSetting.particleSettingName;
spsv.particleSettingValue = psv.particleSettingValue1;
spsv.particleSettingValuesID = psv.particleSettingValueID;
scp.projectileParticle.particleSettingList.Add(spsv);
}
foreach (var pc in cp.Projectile.Particle.ParticleColours)
{
var spc = new SParticleColour();
spc.colourHex = pc.colourHex;
spc.particleColourId = pc.particleColourId;
spc.particleId = pc.particleId;
scp.projectileParticle.particleColourList.Add(spc);
}
currChar.projectileList.Add(scp);
}
return currChar;
}
trong 3 dòng cuối cùng của mã có currChar.projectileList.Add(scp);
, nếu tôi loại bỏ dòng mã tất cả mọi thứ hoạt động tốt. Những gì tôi nghĩ có thể gây ra vấn đề là tham khảo ciruclar nhưng tôi đã kiểm tra các lớp và dường như không tìm thấy bất kỳ thứ gì. Nếu cần tôi sẽ dán mã của các lớp học mà phải làm với projectileList
Cập nhật: Cố gắng để gỡ lỗi các webservice bản thân và dường như có một vấn đề với serialization xml, bạn có thể tìm thấy những câu hỏi here
Cảm ơn! vấn đề tôi gặp phải là kết quả của một dll thiếu mà tôi phát hiện ra sau khi làm theo các hướng dẫn trên liên kết mà bạn cung cấp. –