小编Nib*_*Pig的帖子

JSON.NET不会反序列化到我的对象中,抛出异常

我的JSON(myString)看起来像这样:

"http://d.opencalais.com/dochash-1/0701d73f-2f99-39e1-8c29-e61ee8bf3238/cat/1":
{
  "_typeGroup": "topics",
  "category": "http://d.opencalais.com/cat/Calais/Law_Crime",
  "classifierName": "Calais",
  "categoryName": "Law_Crime",
  "score": 0.869
}
Run Code Online (Sandbox Code Playgroud)

我试图将上面的确切字符串反序列化为一个对象:

public class OpenCalaisResult
{
    public string _typeGroup {get; set; }
    public string category { get; set; }
    public string categoryName { get; set; }
    public string classifierName { get; set; }
    public decimal score { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试这段代码:

OpenCalaisResult myObject = (OpenCalaisResult)JsonConvert.DeserializeObject(myString, typeof(OpenCalaisResult), settings);
Run Code Online (Sandbox Code Playgroud)

我得到一个例外:

{"将值转换为错误" http://d.opencalais.com/dochash-1/0701d73f-2f99-39e1-8c29-e61ee8bf3238/cat/1 \"键入'MyApp.Parsers.JsonTypes.OpenCalaisResult'.Path' ',第1行,第78位."}

知道我做错了什么吗?

c# json.net

0
推荐指数
1
解决办法
1013
查看次数

我可以在WCF中继承FaultException以抛出自定义错误吗?

奇怪的是我在谷歌上找不到任何东西.在做常规异常时你会创建一个MyCustomException : Exception,我假设同样适用于ExceptionFaults.

当有人使用无效的api密钥调用我的服务时,我想抛出一个InvalidApiKeyExceptionFault.我似乎无法在网上找到如何设置它并让客户端能够捕获它的示例(可能是某个地方将其包含在WSDL中).

任何建议在哪里看,或者我在尝试一些不可能的事情?

wcf exception-handling exception fault

0
推荐指数
1
解决办法
1358
查看次数

<body>未到达页面顶部

困惑,这是html:

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Welcome</title>

    <link rel="stylesheet/less" type="text/css" href="/Styles/CompiledLESS.less" />
    <script src="/Scripts/JS/less-1.5.0.min.js"></script>
</head>
    <body>
        <div id="mainContentDiv">
            <div>
                <h2>Please Log In</h2>
                <p>You must <a href="/Account">Log in</a> to use.</p>
            </div>
        </div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

CSS 这是:

body {
    background-color: #D5E6ED;
    background-image: url("~/Images/Background.jpg");
    background-position: center;
    background-repeat: no-repeat;
    color: #444444;
    font-family: Verdana,Tahoma,Arial,"Helvetica Neue",Helvetica,Sans-Serif;
    font-size: 71%;
    margin: 0;
    padding: 0;
}

#mainContentDiv
{
    margin: 0 auto;
    margin-top:0;
    padding: 0;
    width: 997px;
    background-color:#fff;
}
Run Code Online (Sandbox Code Playgroud)

我看不出有什么不对,但结果是<body>当我用firebug检查时,标签与浏览器窗口的顶部没有齐平.

没有别的CSS,这就是全部.

html css

0
推荐指数
1
解决办法
6503
查看次数

如何从web.config获取默认重定向到登录URL?

我的web.config有这个:

  <system.web>
    <customErrors mode="RemoteOnly" />
    <authentication mode="Forms">
      <forms loginUrl="~/Account/" />
    </authentication>
Run Code Online (Sandbox Code Playgroud)

有没有一种很好的方法可以将MVC代码中的loginUrl作为字符串获取?

asp.net-mvc-4

0
推荐指数
1
解决办法
789
查看次数

如何在实体框架linq中选择主键,列出<string>?

我有一张桌子:

Id    Name
1    Tiggy
1    Boris
1    Halk
1    Gothmog
2    Stamm
2    Wuuf
Run Code Online (Sandbox Code Playgroud)

我想把它放入一个集合中<int id, ienumerable<string name>>.使用linq有一个简单的方法吗?

c# linq entity-framework

0
推荐指数
1
解决办法
688
查看次数

通过传入lambda来访问属性

我想写这个方法:

public static T Nullify<T>(T item, params Func<T, object> [] properties)
{
    // Sets any specified properties to null, returns the object.
}
Run Code Online (Sandbox Code Playgroud)

我会这样称呼它:

var kitten = new Kitten() { Name = "Mr Fluffykins", FurColour = "Brown" };

var anonymousKitten = Nullify(kitten, c => c.Name);
Run Code Online (Sandbox Code Playgroud)

但是我不确定如何做到这一点.有任何想法吗?

c# generics lambda

0
推荐指数
1
解决办法
868
查看次数

采用 IQueryable&lt;T&gt; 并修改它的 void 方法似乎不会保留修改

我有一个方法:

public void ExterminateCuddlyKittens(IQueryable<Kitten> data)
{
    data = data.Where(c => !c.Cuddly);
}
Run Code Online (Sandbox Code Playgroud)

它收养了一些小猫,并带走了没有的小猫Cuddly = true

我用这段代码测试了这个方法:

List<Kitten> myKittens = new List<Kitten>();
myKittens.Add(new Kitten() { Cuddly = true; });

ExterminateCuddlyKittens(myKittens.AsQueryable());

Assert.AreEqual(0, myKittens.Count);
Run Code Online (Sandbox Code Playgroud)

调试我的方法时,智能感知显示它正确地消灭了小猫,并且在方法末尾有一个空集合。

然而,当我们回到测试中时,myKittens 的计数仍然为 1,并且小猫逃脱了灭绝。

我不知道为什么,作为data参考,不是吗?因此,我希望修改集合能够持续下去。但是我不确定是否AsQueryable正在创建副本或其他内容。

有任何想法吗?

c# iqueryable

0
推荐指数
1
解决办法
156
查看次数

传入将要修改为方法的对象时,有没有办法表明这一点?

我有一个对象,它被传递给一个要改变的方法.这种行为似乎非常罕见,所以我想确保其他开发人员不会绊倒它并且很容易看到.有什么我可以做的,以明确发生了什么?

该方法调整对象的某些属性,但不返回对象.也许应该归还呢?

myObject = Processor(myObject); 会多余,但会更清楚......?

我唯一能想到的就是ref在界面中添加它,但不确定这是不是一个好主意.有任何想法吗?

c#

-1
推荐指数
1
解决办法
89
查看次数