小编Ron*_*ers的帖子

Gated Checkin:Sheving the Sources导致Visual Studio中的回滚

我们的一位开发人员在Gated Checkin Builds中发现了一些非常奇怪的东西,这似乎是Gated Checkins的一个特色.

在启动Gated Checkin时,他的解决方案资源管理器中的解决方案似乎返回到最后一个版本.检查完成后,Visual Studio显示错误或成功消息,其中包含德语中名为"Code aufnehmen"的按钮(英文: "调和...")

点击后他回来了他的变化.

我知道在Visual Studio中,您可以选择在搁置它时还原您的解决方案.在我看来,这是Visual Studio默认执行的操作.

在搁置门控签名后,是否可以将Visual Studio或TFS设置为不还原?或者也许有人可以告诉我Visual Studio的原因.

tfs tfsbuild visual-studio tfs2010

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

如何在MVC Web API中使用身份验证?

我正在尝试为另一个MVC站点访问的MVC Web API配置身份验证。我已经在web.config中尝试了很多东西,所以有很多建议。但是,一切都无济于事。

我正在从MVC网站使用以下代码:

var web = new WebClient();
web.UseDefaultCredentials = false;
web.Credentials = new NetworkCredential(username, password);
Run Code Online (Sandbox Code Playgroud)

然后,我使用该Web客户端在仅包含API控制器的另一个MVC站点上调用方法。没有身份验证,一切都会正常进行,但是我无法使身份验证正常工作。发出请求时,我收到一个异常,返回401(如果您问我,这很好,但它似乎没有发送凭据)。

我还尝试将用户名和密码放在URL中,但这也不起作用。

这是Web API站点的web.config文件的相关部分:

    <authentication>
      <forms 
        cookieless="UseUri"
        enableCrossAppRedirects="false">
        <credentials passwordFormat="Clear">
          <user name="site" password="XYZ123!"/>
        </credentials>
      </forms>
    </authentication>
    <authorization>
      <deny users="?"/>
    </authorization>
Run Code Online (Sandbox Code Playgroud)

我只想在其中输入一个用户名/密码,以确保它是调用方法的网站。我的API控制器具有btw的“授权”属性。

我的问题是:如何向Web API网站添加身份验证,以便可以使用身份验证在其上调用方法?

.net c# asp.net-mvc asp.net-web-api

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

在MVC API中接受字节数组参数作为Base64

我目前正在构建一个ASP.NET MVC WebAPI服务,我希望在查询字符串中发送一小段二进制数据.本应用程序中的方法通过POST调用,正文包含实际数据.查询字符串用于描述正文中数据的某些属性(例如,如何编码).

我想知道是否可以在查询字符串中接受字节数组参数作为base64编码的字符串.

作为一个例子,我有这个代码:

using System.Text;
using System.Web.Http;

namespace WebApplication2.Controllers
{
    public class ByteArrayController : ApiController
    {
        public string Get([FromUri] byte[] myarray)
        {
            var strbResult = new StringBuilder();
            foreach (byte byteValue in myarray)
            {
                strbResult.AppendLine(byteValue.ToString() + " ");
            }
            return strbResult.ToString();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我希望能够以下列方式发送参数myarray:

HTTP://.../api/ByteArray/Get myArray的= MTIzNA%3D%3D

请不要介意命名,这只是一个简单的例子.

现在我知道可以通过在查询字符串中多次使用相同的参数来发送数组(例如myarray = 1&myarray = 2&myarray = 3)但是我想接受它作为base64编码的字符串.

我一直在寻找一个属性来指定如何解码数组,但无法找到这样的属性.

当然我可以修改代码来接受一个字符串,然后将其转换为字节数组,但如果可能的话,我的首选是透明地执行此操作.

model-view-controller asp.net-mvc base64 asp.net-web-api asp.net-mvc-5

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