小编Jor*_*den的帖子

FromBody没有绑定字符串参数

我有一个类似于ASP.NET MVC 4 RC Web API参数绑定问题的问题,但我试图通过使用[FromBody]属性来解决它.

Fiddler报告以下请求(不包括用户代理字符串等不相关的位)

PUT http://localhost:82/api/account/shoppinglistitems HTTP/1.1
Host: localhost:82
Connection: keep-alive
Content-Length: 11
Origin: http://localhost:3000
Content-Type: application/x-www-form-urlencoded
Accept: application/json, text/javascript, */*; q=0.01

query=apple
Run Code Online (Sandbox Code Playgroud)

我的控制器动作是

[HttpPut]
public ShoppingListItemWebModel CreateShoppingListItem([FromBody]string query) {
    // query is null
}
Run Code Online (Sandbox Code Playgroud)

我可以将参数包装在一个复杂的类型中,但这似乎是一个修复问题的黑客.或者我可以将查询放在URI中,但这不符合API其余部分的模式.有可能这样做吗?如果是的话,我的错误在哪里?

.net c# asp.net-web-api

42
推荐指数
2
解决办法
4万
查看次数

单页应用程序验证

我的公司正在使用MVC 4中的新Web API/SPA功能将其电子商务站点重新编写为单页面应用程序.我们不确定如何处理身份验证的最佳方法.

具体问题:

  1. 我们如何处理加密和非加密通信?显然,我们需要使用HTTPS进行登录,帐户和结账AJAX,但我们希望使用HTTP浏览目录,以避免昂贵的SSL握手,这会降低整个网站的速度.这对于SPA来说是否可能,或者我们是否仍然坚持使用HTTPS?

  2. 我们应该使用哪种身份验证?主要是我们的网站将通过网络浏览器访问,因此cookie可能没问题.但在未来,我们可能想要制作一个自定义的iPhone应用程序.基本身份验证,OpenId或OAUTH更受欢迎吗?如果是这样,为什么?

    1. 如果我们使用Forms Auth和cookies,重定向问题是否会针对MVC 4的发布进行修复,还是我必须使用haack?
    2. 如果我们使用基本身份验证,您如何执行持久会话,以便用户无需在每次再次访问该页面时登录.
    3. ASP.NET MVC 4很好地支持哪些身份验证方法.理想的是不必编写大量专用代码.

提前致谢

authentication asp.net-web-api single-page-application asp.net-spa

15
推荐指数
2
解决办法
7148
查看次数

*.vcxproj 文件中的关键字标记是什么意思?

我在许多 *.vcxproj 文件中看到以下内容

<PropertyGroup Label="Globals">
  <ProjectGuid>{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}</ProjectGuid>
  <Keyword>Win32Proj</Keyword>
  <RootNamespace>yadayada</RootNamespace>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

什么是<Keyword>Win32Proj</Keyword>段是什么意思?它会影响构建过程中的任何行为吗?

一般来说,在哪里可以找到有关项目文件中标签的文档?

projects-and-solutions visual-studio

6
推荐指数
1
解决办法
2112
查看次数

*.vcxproj 文件中的 RootNamespace 标记是什么意思?

我在许多 *.vcxproj 文件中看到以下内容

<PropertyGroup Label="Globals">
  <ProjectGuid>{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}</ProjectGuid>
  <RootNamespace>yadayada</RootNamespace>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

什么是<RootNamespace>yadayada</RootNamespace>属性是什么意思?它是否以任何方式影响输出工件?

projects-and-solutions visual-studio

6
推荐指数
1
解决办法
5162
查看次数

Mercurial:使一个分支与另一个分支相同

我正在与另一位相对较新的开发人员合作。为了让我能够对她的工作进行代码审查,我让她创建了一个分支,我可以审查该分支,如果我对更改感到满意的话,还可以定期合并该分支。

该分支已被清除,所以我只想“重置”它,使其与主线相同,这样她就可以从干净的代码重新开始。

我可以创建一个新分支,但我想保留相同的名称并避免创建不必要的副本。

那么如何让B分支和A分支一模一样呢?

mercurial branch

5
推荐指数
1
解决办法
627
查看次数

std::chrono::system_time 的 Visual Studio 2017 CRT 实现使用什么时钟?

chrono 标题中的评论只是说

// wraps GetSystemTimePreciseAsFileTime/GetSystemTimeAsFileTime
Run Code Online (Sandbox Code Playgroud)

但它实际使用哪个(即我可以期望什么精度)?该实现调用_Xtime_get_ticks,但该函数是不透明的。

c++ windows visual-c++

5
推荐指数
1
解决办法
1492
查看次数

使用 XmlSerializer 序列化多种类型的数组

我尝试使用 XMLSerializer 生成如下所示的 XML,其中 的内容<create>是一个数组,但元素可以是不同的类型(在本例中<vendor><customer>、 和<asset>)。这可能吗?

...
    <create>
        <vendor> 
            <vendorid>Unit - A-1212</vendorid>
            <name>this is the name8</name>
            <vcf_bill_siteid3>FOOBAR8</vcf_bill_siteid3>
        </vendor>             
        <customer>
            <CUSTOMERID>XML121</CUSTOMERID>
            <NAME>XML Customer 111</NAME>
        </customer>             
        <asset>  
            <createdAt>San Jose</createdAt>
            <createdBy>Kevin</createdBy>
            <serial_number>123456789</serial_number>
        </asset> 
    </create>
....
Run Code Online (Sandbox Code Playgroud)

c# xmlserializer

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