使用.Net框架使用RESTful服务有哪些选择?什么时候WCF(使用WebChannelFactory)比HttpClient更可取?
我有以下示例C#代码,它们使用svcutils.exe应用程序从xsd自动生成.
[DataContract]
public enum Foo
{
[EnumMember(Value = "bar")]
Bar = 1,
[EnumMember(Value = "baz")]
Baz = 2
}
[DataContract]
public class UNameIt
{
[DataMember(Name = "id")]
public long Id { get; private set; }
[DataMember(Name = "name")]
public string Name { get; private set; }
[DataMember(Name = "foo")]
public Foo Foo { get; private set; }
}
Run Code Online (Sandbox Code Playgroud)
以下是单元测试,尝试将示例JSON文档反序列化为UNameIt类.
[TestClass]
public class JsonSerializer_Fixture
{
public const string JsonData = @"{ ""id"":123456,
""name"":""John Doe"",
""foo"":""Bar""}";
[TestMethod]
public void DataObjectSimpleParseTest()
{
DataContractJsonSerializer …Run Code Online (Sandbox Code Playgroud) 我很好奇开发人员的意见/实践,理想情况下,类接口应放在.NET类库中.它们是否应该包含在解决方案中的专用库中,例如MyCompany.AccountPackage.Interfaces?
他们应该拥有自己的命名空间,例如MyCompany.AccountPackage.MasterAccounts.Interfaces吗?
还有其他想法/意见吗?
是否有任何好的指南演示如何构建.Net库(甚至更好的解决方案),通常显示标准库中通常应该公开哪些类/接口.
感谢:D.
我有以下xml,我需要反序列化到一个对象:
<animals>
<retrive>true</retrive>
<collection>
<cat>big</cat>
<dog>spot</dog>
<vetName>John Smith</vetName>
</collection>
</animals>
Run Code Online (Sandbox Code Playgroud)
这是我尝试使用LINQ:
private Animal GetAnimalFromXML(string xml)
{
var tempdata = (from c in data.Elements("collection")
select new
{
Cat = (string)c.Element("cat"),
Dog = (string)c.Element("dog"),
VetName = (string)c.Element("vetName"),
}).First();
return new Animal(){
Cat = tempdata.Cat,
Dog = tempdata.Dog,
VetName = tempdata.VetName
}
}
Run Code Online (Sandbox Code Playgroud)
我不喜欢我必须使用临时对象,所以我想知道是否可以解决这个问题并将此方法简化为单个查询?
感谢:D.