我正在用我的数据库中的数据构建我的对象,到目前为止一切都很好
public static List<ImageData> GetAllImageData(Guid UserId)
{
List<ImageData> imageDataList = new List<ImageData>();
try
{
SqlCommand cmd = DBHandler.getCommand("sp_Get_AllImagesForWebUser");
DBHandler.AddParameter(ref cmd, "@UserId", UserId);
foreach (DataRow row in DBHandler.ExecuteSP(cmd).Tables[0].Rows)
{
LogWriter.Print("imagedatacontroller() new Guid(row[ImageId].ToString()): " + new Guid(row["ImageId"].ToString()), LogLevel.DEBUG);
imageDataList.Add(
new ImageData(new Guid(row["ImageId"].ToString()), new Guid(row["UserId"].ToString()), row["ImagePath"].ToString(), (int)row["PatientId"], row["BodyPart"].ToString(), row["ReasonForVisit"].ToString(), row["Diagnosis"].ToString(), Convert.ToBoolean(row["ConsentForResearch"]), Convert.ToBoolean(row["ConsentForEducation"]), Convert.ToBoolean(row["ConsentForStorage"]))
);
}
}
catch (Exception e)
{
LogWriter.Print("Exception: ImageDataController->GetAllImageData() " + e, LogLevel.EXCEPTION);
}
return imageDataList;
}
然后我有一个公开函数并返回 ImageData 列表的 web 服务 (.ASMX)
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public List<ImageData> GetImageDataFromUser(string UserId)
{
return ImageDataController.GetAllImageData(new Guid(UserId));
}
但问题是 ImageData 的两个 Guid 属性(ImageId 和 UserId)是一个只有零值的 Guid,我不知道为什么。我已经用我的 LogWriter 验证了它是一个有效且正确的 Guid,但是一旦我尝试通过我的 web 服务公开它,它就只有零 guid。
这就是我的 SOAP 的样子
<ArrayOfImageData xmlns="http://172.18.67.166:147/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ImageData>
<ImageId>00000000-0000-0000-0000-000000000000</ImageId>
<UserId>00000000-0000-0000-0000-000000000000</UserId>
<ImagePath>C:\inetpub\wwwroot\Omegapoint\data\UploadedImages\0416f1aa-9b57-4ba8-be54-398ffa9d7139.PNG</ImagePath>
<PatientId>0</PatientId>
<CreationDate>2013-03-17T22:08:10.1964107+01:00</CreationDate>
<Bodypart/>
<ReasonForVisit/>
<Diagnosis/>
<ConsentForResearch>false</ConsentForResearch>
<ConsentForEducation>false</ConsentForEducation>
<ConsentForStorage>false</ConsentForStorage>
</ImageData>
</ArrayOfImageData>
但 ImageId 应该是:
0416f1aa-9b57-4ba8-be54-398ffa9d7139
UserId 应该是:
4bcd23a9-2815-42ef-b9ea-671b2aa08aa3