1

データベースのデータを使用してオブジェクトを構築していますが、これまでのところ非常に良好です

    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 の 2 つの Guid 属性 (ImageId と UserId) がゼロ値のみの Guid であり、その理由がわかりません。LogWriter を使用して有効で正しい Guid であることを確認しましたが、Web サービスを介してそれを公開しようとするとすぐに、0 のみの 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 
4

0 に答える 0