我有一個託管在IIS服務器上的API。當垃圾字符請求API時,Guid字段設置爲空
我正在向下面的參數的URI請求。
{"CurrentTime":"2013-09-23 13:05:52",
"Measurement":[{"Comment":"Test Comment","RecordIdentifier":"7F54BF3C-6022-423B-8B8F-0121BA2AF516"}],
"Source":"ABC","Destination":"XYZ",
"FinalIdentifier":"058B5913-FAB9-4641-B02E-2729A02B5059"}
對於上述請求,我可以成功地反序列化請求參數。注意「FinalIdentifier」和「Comment」參數的值。
但是,當要求如:
{"CurrentTime":"2013-09-23 13:05:52",
"Measurement":[{"Comment":"Âëīö","RecordIdentifier":"01CEBEAE-B99D-47B1-9C2D-1CB80069917B"}],
"Source":"ABC","Destination":"XYZ",
"FinalIdentifier":"058B5913-FAB9-4641-B02E-2729A02B5059"}
我也可以反序列化成功後,該請求,但「FinalIdentifier」參數越來越Guid.Empty (00000000-0000-0000-0000-000000000000)
的價值。 這裏注意到第二個評論字段中的Umlet字符,它是一些德語字符(垃圾字符)。
那麼,垃圾字符會影響GUID
的值嗎? 但是,請注意兩個請求中的「RecordIdentifier」值的值。這不是「RecordIdentifier」的問題。
那麼,哪裏出問題了?
我有下面的實體請求和解析。
public class Measurement
{
public string Comment { get; set; }
public Guid RecordIdentifier { get; set; }
}
public class MeasurentEntityMain
{
public List<Measurement> measurement { get; set; }
public Guid FinalIdentifier { get; set; }
public string Source { get; set; }
public string Destination { get; set; }
}
以上都要求我從小提琴手抓獲。在API端我已經通過調試進行了測試。
那麼,爲什麼這個Guid字段設置爲空字段。
我正在使用JSON序列化和反序列化。