小编Rob*_*ous的帖子

在异步操作仍处于挂起状态时完成异步模块或处理程序

我有以下电子邮件,其中有效:

    private SmtpClient _client = new SmtpClient("smtp.gmail.com", 587)
    {
        Credentials = new NetworkCredential("address@gmail.com", "password"),
        EnableSsl = true
    };
    public void DoThis(){
    _client.Send("from@gmail.com", to.Email, "Subject", "Body");}
    public void DoThat(){
    _client.Send("from@gmail.com", to.Email, "Subject", "Body");}
Run Code Online (Sandbox Code Playgroud)

但是在发送电子邮件之前它阻止了Web应用程序,所以我决定尝试发送异步:

   public void DoThis(){
    var message = new MailMessage("from@gmail.com", to.Email, "Subject", "Body");
   _client.SendAsync(message, null);
   }
Run Code Online (Sandbox Code Playgroud)

如果我调试,我可以看到异步处理,但我总是得到以下内容:

在异步操作仍处于挂起状态时完成异步模块或处理程序.

我究竟做错了什么?

c# asp.net smtpclient asp.net-mvc-4

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

如何将文件夹上传到Blob存储?

我有一个worker角色,用于从Blob Storage OnStart中提取数据.目前我正在通过上传test.txt文件然后将其下载到本地目录来测试它.这工作正常.

我现在想将文件夹上传到blob存储.此文件夹包含批处理脚本以及批处理脚本调用的多个可执行文件.

推荐的方法是什么?我认为压缩文件夹并上传*.zip文件很容易......但是,一旦我在本地下载工作角色来处理,我将如何在没有任何第三方库的情况下解压缩它?

如果有更好的选择,我愿意接受任何建议.感谢您的帮助 - 当我加速时,这个社区对我来说是一个巨大的帮助:)

azure azure-storage azure-storage-blobs azure-worker-roles

7
推荐指数
3
解决办法
8046
查看次数

如何简化这种C#if/else语法

我有以下声明:

serverCard.Details = !String.IsNullOrEmpty(card.Details) ? card.Details : serverCard.Details;
Run Code Online (Sandbox Code Playgroud)

我想查看并查看card.Details是null还是空...如果没有,请写入值.是否有任何语法允许我省略其他条件?

c#

7
推荐指数
2
解决办法
310
查看次数

VS2013 Ultimate Preview + Web Essentials 2013 RC没有编译LESS?

我没有得到任何错误,我只是不能为我的生活从我的解决方案中的LESS文件中获取CSS构建或保存.我重新启动了一切并从头开始安装无济于事 - 它只是不起作用.我该怎么做才能解决这个问题?

web-essentials visual-studio-2013

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

如何为本地计算机设置不同的web.config设置?

当我在本地运行时,我发现自己必须在web.config中手动更新我的DefaultConnection连接字符串.如何在本地运行时自动检测 - 当我在 - 时 - 覆盖默认连接字符串?

我有调试/发布转换工作,但这些是用于部署.我正在寻找一种方法来添加另一个选项 - "本地" - 如果有任何方法可以做到(或类似的东西).

asp.net deployment web-config asp.net-mvc-4 visual-studio-2012

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

Windows Phone 8开发和WebAPI - 通过表单身份验证进行身份验证?

我正在使用WebAPI构建一个API,它将通过Web从Web浏览器客户端通过HTTPS接受身份验证信息.Web浏览器使用表单身份验证并需要HTTPS,因此可以安全地将用户名/密码发送到API端点.我的API使用Websecurity.Login()和Websecurity.Logout()来处理Web客户端的身份验证.

如何在使用WinJS构建的WP8应用程序/通用应用程序中处理这个问题?我可以做同样的事情 - 通过HTTPS发送登录/注册凭据并使用Websecurity来处理表单身份验证吗?

以下是我的WebAPI目前如何设置为auth:

public HttpResponseMessage LogIn(LoginModel model)
{
    if (ModelState.IsValid)
    {
        if (User.Identity.IsAuthenticated)
        {
            return Request.CreateResponse(HttpStatusCode.Conflict, "already logged in.");
        }

        if (WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe))
        {
            FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
            return Request.CreateResponse(HttpStatusCode.OK, "logged in successfully");
        }
        else
        {
            return new HttpResponseMessage(HttpStatusCode.Unauthorized);
        }
    }

    // If we got this far, something failed
    return new HttpResponseMessage(HttpStatusCode.InternalServerError);
}

public HttpResponseMessage LogOut()
{
    if (User.Identity.IsAuthenticated)
    {
        WebSecurity.Logout();
        return Request.CreateResponse(HttpStatusCode.OK, "logged out successfully.");
    }

    return Request.CreateResponse(HttpStatusCode.Conflict, "already done.");
}
Run Code Online (Sandbox Code Playgroud)

此方法是否与WP8或其他本机移动应用程序开发身份验证兼容?

c# authentication asp.net-web-api windows-phone-8

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

如何将任何对象序列化为字符串?

我遇到了一个问题,我的JSON序列化程序因为角色<不时出现而随机失败.我无法确定它来自何处,我想 - 在异常时 - 使用不同的方法重新编译,以便我可以看到有问题的对象的完整表示.有没有办法做到这一点?

我目前的代码:

// data is of type 'object'
serialized = JsonConvert.SerializeObject(data, new JsonSerializerSettings() {
    Error = delegate(object sender, ErrorEventArgs args) {
        // reserialize here and output object so I know what the heck is going on
    }
})
Run Code Online (Sandbox Code Playgroud)

.net c# serialization json.net

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

在MVC4中为ViewModel设置默认值的适当方法?

我有一个包含以下内容的viewModel:

public class CreateCardViewModel
    {
        [HiddenInput(DisplayValue = false)]
        public int SetId { get; set; }

        [Required]
        public IList<Side> Sides { get; set; }

        [Required]
        public int Stage { get; set; }

        [Required]
        [DataType(DataType.Date)]
        [HiddenInput(DisplayValue = false)]
        public DateTime DateCreated { get; set; }

        [Required]
        public bool IsReady { get; set; }

    }
Run Code Online (Sandbox Code Playgroud)

模型如下:

public class Card
    {

        public virtual int CardId { get; set; }

        // belongs to a Set
        public virtual int SetId { get; set; }
        public virtual …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc asp.net-mvc-3 asp.net-mvc-4

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

编码的UI测试 - 无法解析符号UITesting

我正在尝试在VS2012项目中使用这样的程序集:

using Microsoft.VisualStudio.TestTools.UITesting;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Microsoft.VisualStudio.TestTools.UITest.Extension;
Run Code Online (Sandbox Code Playgroud)

但是我在测试中得到了一堆红色:

在此输入图像描述

即使使用这个红色,我也可以在本地构建和运行,但是如果可能的话,我想让这些东西解决.我的构建机器拒绝此错误,并出现以下错误:

 DashboardTest.cs (7): The type or namespace name 'UITesting' does not exist in the namespace 'Microsoft.VisualStudio.TestTools' (are you missing an assembly reference?)
 DashboardTest.cs (9): The type or namespace name 'UITest' does not exist in the namespace 'Microsoft.VisualStudio.TestTools' (are you missing an assembly reference?)
 UIMap.cs (9): The type or namespace name 'UITest' does not exist in the namespace 'Microsoft.VisualStudio.TestTools' (are you missing an assembly reference?)
 UIMap.cs (10): The type or namespace name 'UITesting' …
Run Code Online (Sandbox Code Playgroud)

visual-studio-2010 visual-studio coded-ui-tests visual-studio-2012

6
推荐指数
3
解决办法
8080
查看次数

在本地应用web.config转换

我对我的web.config进行了转换,如果我发布到Azure,它当前有效,但是在构建/运行时它不能在本地工作.如何在本地进行"发布",以便在我的开发框中将本地转换应用于我的web.config?

目前,我右键单击>发布到Azure,是否需要为本地框创建新的发布配置文件?有没有办法让变换在Build上工作?

web-config web-config-transform

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