小编Jos*_*osh的帖子

从DateTime.Now中删除UtcOffset

我需要没有utcOffset的往返格式的DateTime.Now值.基于这篇MSDN文章,如果你创建一个没有UtcOffset的DateTime的新实例,它会产生我想要的格式.

DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
// Displays 2008-04-10T06:30:00.0000000   
Run Code Online (Sandbox Code Playgroud)

但如果我使用DateTime.Now,我得到字符串中的偏移量:

DateTime.Now.ToString("o")
// Displays 2012-02-08T14:11:12.8378703-05:00   
Run Code Online (Sandbox Code Playgroud)

我可以使用substring或填充没有它的DateTime实例,但我想知道是否有办法删除UtcOffset.

c# datetime-format

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

IIS不允许MVC应用程序控制Azure上的错误消息

使用此问题的已接受答案,我实现了自定义错误处理逻辑.它在我运行Visual Studio 2012的本地PC上运行良好,允许我为403,404和一般错误创建自定义视图.问题是当我将其部署到Azure时,IIS开始显示错误消息,而不是我的MVC应用程序.是否需要进行配置更改以允许MVC控制错误消息处理?

asp.net-mvc azure

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

在Azure网站预览中删除服务器和X-Powered-By HTTP标头

为了安全起见,我想删除任何显示有关运行我的应用程序的操作系统,Web服务器或框架的详细信息的HTTP标头.我能够使用在SO和其他地方找到的文章,使用IIS Express在本地显示所有内容.不幸的是,当我发布到我的Azure网站预览时,仍然有三个标题:

  1. 服务器:Microsoft-IIS/7.5
  2. X-Powered-By:ARR/2.5
  3. X-Powered-By:ASP.NET

我找到的文章是针对Azure Web角色而不是网站预览,例如本文.

有谁知道如何从网站预览中删除?

azure

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

Unity的参考XML映射

以下代码适用于版本3.5.1404,但不再适用于版本5.0.1.通过NuGet获得最新参考:

在web.config我有:

using Microsoft.Practices.Unity.Configuration;
using Unity;

namespace ACME.Core
{
    public static class UnityCommon
    {
        static IUnityContainer _container;

        /// <summary>
        /// Returns the Common Unity Container from memory, reloads if not loaded first
        /// </summary>
        /// <param name="forceRefresh">Forces the container to be reloaded in memory</param>
        /// <returns>IUnityContainer</returns>
        public static IUnityContainer GetContainer(bool forceRefresh = false)
        {
            if (_container == null || forceRefresh)
            {
                _container = new UnityContainer();
                _container.LoadConfiguration("Default"));
            }

            return _container;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这引用了web.config中的XML映射,例如:

<unity xmlns="http://schemas.microsoft.com/practices/2010/unity">
    <assembly name="ACME.Core" />
    <namespace name="ACME.Core.DTO" …
Run Code Online (Sandbox Code Playgroud)

.net c# unity-container

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

为 Task&lt;T&gt; 返回默认值或 null

我有一个围绕 Cache 库的包装器,并有以下方法来检索基于 Key 的缓存值:

public async Task<T> GetAsync<T>(string key)
{
    var serializedObject = await _cache.GetStringAsync(key);

    return JsonConvert.DeserializeObject<T>(serializedObject);
}
Run Code Online (Sandbox Code Playgroud)

问题是缓存中没有任何内容,我从 DeserializeObject 方法收到错误。我被困在什么没有存储缓存时如何返回 null 或 T 的默认值。

我试过:

public async Task<T> GetAsync<T>(string key)
{
    var serializedObject = await _cache.GetStringAsync(key);

    if (serializedObject == null) return Task.CompletedTask;

    return JsonConvert.DeserializeObject<T>(serializedObject);
}
Run Code Online (Sandbox Code Playgroud)

但是 Task.CompletedTask 不能转换为 Task<T>

我试过:

public async Task<T> GetAsync<T>(string key)
    {
        var serializedObject = await _cache.GetStringAsync(key);

        if (serializedObject == null) return Task.FromResult<T>(null);

        return JsonConvert.DeserializeObject<T>(serializedObject);
    }
Run Code Online (Sandbox Code Playgroud)

但是 null 不是 T 的有效参数。

如何让 GetAsync 返回 …

c# async-await

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

ASP.NET AJAX 验证控件

我在 ASP.NET Web 窗体环境中使用 ASP.NET 验证控件。是将所有验证规则保留在服务器端的更好方法,例如使用 AJAX 验证字段,而不将整个页面发回。

我找到了一个名为 ValidatorCallout ( http://www.asp.net/ajax/ajaxcontroltoolkit/samples/ValidatorCallout/ValidatorCallout.aspx ) 的控件,但我试图找出是否有更好的方法。

asp.net validation ajax

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

ASP.NET MVC 5复杂列表子项的编辑选项

我有一个名为Job的对象,其中一个属性是步骤列表:

public class Job
{
    [Display(Name = "Id")]
    public int? JobId { get; set; }

    [Required]
    public string Name { get; set; }

    public List<Step> Steps { get; set; }

    public Job()
    {
        Steps = new List<Step>();
    }
}

public class Step
{
    public int? StepId { get; set; }

    public int JobId { get; set; }

    [Required]
    public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我有一个JobController,它具有以下操作来执行更新:

   // PUT: /Job/Edit/5
   [HttpPut]
   public ActionResult Edit(Job model)
   {
     // Logic to update …
Run Code Online (Sandbox Code Playgroud)

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

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

ASP.NET Web服务安全性

我过去构建过ASP.NET Web服务,这些服务要么是公开使用的,要么是使用Windows身份验证.我现在需要构建一个使用SOAP 1.1协议的Web服务,并且需要使用来自调用者的用户名和密码进行保护.

似乎为WCP 设置基础架构对于一个或两个Web服务来说是过度的.还有其他建议吗?我也在考虑使用ASP.NET 4.0 Beta,如果有人在这个场景中探讨过,那么了解你的意见会很有帮助.

提前感谢您的建议.

asp.net soap web-services asmx

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

实体框架-一对一-ReferentialConstraint映射到商店生成的列

我应该在EF中建立简单的一对一关系。但是我尝试插入时收到以下错误:

ReferentialConstraint映射到商店生成的列。列:“ ACCOUNT_ID”。

控制台应用程序示例:

namespace EF_ConsoleApp_Test
{
    public class Program
    {
        public static void Main(string[] args)
        {
            var account = new Account
            {
                AccountNumber = "00123456",
                CustomerValue = new Customer { FirstName = "Joe" }
            };

            using (var db = new MainContext())
            {
                db.Accounts.Add(account);
                db.SaveChanges();
            }
        }
    }

    [Serializable]
    [Table("CUSTOMERS")]
    public class Customer
    {
        [Key]
        [Column("CUSTOMER_ID")]
        public int? Id { get; set; }

        [Required]
        [Column("FIRST_NAME")]
        [StringLength(45)]
        public string FirstName { get; set; }

        public virtual Account Account { get; set; …
Run Code Online (Sandbox Code Playgroud)

.net c# sql-server entity-framework entity-framework-6

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

AWS .NET Core单元测试加载非默认配置文件

为了进行开发,我有许多AWS配置文件,我使用appsettings.json中的AWS Profile部分来定义要使用的配置文件:

"AWS": {
    "Profile": "CorpAccount",
    "Region": "us-east-1"
  }
Run Code Online (Sandbox Code Playgroud)

由于这不是默认概要文件,因此在调试和运行单元测试(xunit)时,我需要上下文使用命名的概要文件。我想知道的是配置配置文件的最佳实践。

这是一堂课,展示了三种方法(两种在本地工作):

public class EmailQueueService : IEmailQueueService
{
    private IConfiguration _configuration;
    private readonly ILogger _logger;

    public EmailQueueService(IConfiguration configuration, ILogger<EmailQueueService> logger)
    {
        _configuration = configuration;
        _logger = logger;
    }

    public async Task<bool> Add1Async(ContactFormModel contactForm)
    {
        var sqsClient = new AmazonSQSClient();

        var sendRequest = // removed for clarity

        var response = await sqsClient.SendMessageAsync(sendRequest);

        return response.HttpStatusCode == System.Net.HttpStatusCode.OK;
    }

    public async Task<bool> Add2Async(ContactFormModel contactForm)
    {
        var sqsClient = _configuration.GetAWSOptions().CreateServiceClient<IAmazonSQS>();

        var sendRequest = …
Run Code Online (Sandbox Code Playgroud)

c# amazon-web-services .net-core asp.net-core aws-sdk-net

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