小编Lar*_*ard的帖子

SML foldl函数 - 添加到具有条件的列表中

我有一个关于函数式编程的大学课程,我使用SML.作为考试的准备,我正在研究一些没有解决方案的旧考试.

我真正遇到问题的唯一问题之一是使用以下问题foldl:

考虑程序骨架:fun addGt k xs = List.foldl(...)... xs; 填写两个缺失的部分(由点......表示),这样addGt k xs是xs中那些大于k的元素的总和.例如,addGt 4 [1,5,2,7,4,8] = 5 + 7 + 8 = 20

我确信这很简单,但我很难理解foldl和foldr函数.

我现在有以下内容(如果你问我的编译器,这似乎是非常错误的!):

fun addGt(k,xs) = List.foldl ( fn x => if x > k then op+ else 0) 0 xs;
Run Code Online (Sandbox Code Playgroud)

我真的很感激这个问题的一些帮助,也许是一个非常简短的评论,可以说明foldlfoldr功能!

非常感谢.

functional-programming sml fold higher-order-functions

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

Log 4 net不记录到文件

可能是一个非常简单的设置,但我试图设置Log4Net.在我的web.config中,我有:

<log4net>
    <appender name="File" type="log4net.Appender.RollingFileAppender">
      <file value="Logs\\Log4Net.log" />
      <appendToFile value="true" />
      <rollingStyle value="Date" />
      <datePattern value="yyyyMMdd-HHmm" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
      </layout>
    </appender>

    <logger name="File">
      <level value="All" />
      <appender-ref ref="LogFileAppender" />
    </logger>
    <root>
      <level value="ALL"/>
      <appender-ref ref="FileAppender"/>
    </root>
  </log4net>
Run Code Online (Sandbox Code Playgroud)

我在配置中添加了以下内容:

<configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  </configSections>
Run Code Online (Sandbox Code Playgroud)

global.asax中的以下内容:

 log4net.Config.XmlConfigurator.Configure();
Run Code Online (Sandbox Code Playgroud)

以下是我的default.aspx:

ILog alog = log4net.LogManager.GetLogger(typeof(_Default));
log4net.ILog logger = log4net.LogManager.GetLogger("File");

protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
        SetupSeo(); 
    }
    alog.Error("this test");
    logger.Error("Front page …
Run Code Online (Sandbox Code Playgroud)

asp.net logging log4net web-config

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

在mvc项目中的Apicontroller - 无法识别httppost和json方法

我有一个普通的ASP.NET MVC项目(不是Web API).在这里,我在我的控制器中创建了一个名为"api"的新文件夹,因为我想创建一个简单的api.

然后我创建以下类:

public class OfficeProductController : ApiController
{
    [HttpPost]
    public JsonResult Create(OfficeProductViewModel model)
    {
        var obj = new OfficeProductViewModel();
        return Json(obj);
    }
}
Run Code Online (Sandbox Code Playgroud)

在这里我遇到两个问题:

  • HttpPost:导致"不明确的引用"(在Http.HttpPostAttribute和Mvc.HttpPostAttribute之间)
  • Json()无法识别.它只是给了我一个"无法解决符号Json"

如果我没记错的话,这可以在web api项目中使用.

我究竟做错了什么?我需要添加什么?

asp.net-mvc asp.net-mvc-4 asp.net-apicontroller

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

添加类型“日期”时,视图文本框中的日期为空

奇怪的问题可能非常明显。在我的视图模型中,我有一个在控制器中设置的日期。当我在视图中渲染文本框时,它是空的。

查看型号:

   [DataType(DataType.Date)]
   [DisplayFormat(DataFormatString = "{0:dd-MM-yyyy}")]
   public DateTime DateStart { get; set; }
Run Code Online (Sandbox Code Playgroud)

控制器:

    //GET: InvoicePrice
    public ActionResult Index(InvoicePriceViewModel model)
    {
        model.DateStart = DateTime.Now;
        return View(model);
    }
Run Code Online (Sandbox Code Playgroud)

视图的 HTML:

    <p>
      Date:<br />
            @Html.TextBoxFor(model => model.DateStart, new { @class = "form-control", placeholder = "Invoice date", type = "date" })
     </p>
Run Code Online (Sandbox Code Playgroud)

当我打开它时,我在这里看到空文本框:

在此输入图像描述

我希望看到“2017 年 11 月 28 日”作为我当前的日期。

我想我在这里遗漏了一些明显的东西。但它是什么?

c# asp.net asp.net-mvc razor

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

任何区域性中不带小数、点或逗号的十进制字符串

如果我在 C# 中有一个简单的小数,并且我想要ToString在任何文化中不包含任何点、逗号或小数 - 我该怎么做?

我尝试使用ToString("N0")withinvariantculture删除小数,但它添加了“.” 用我的语言。

做这个的最好方式是什么?

c# c#-4.0 invariantculture

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

通过 web.config 删除查询字符串

在我的网站上,我遇到这样的情况:我的 URL 有时会获得由我们网站之外的系统附加的查询字符串参数。

因此,它不是像这样:http://www.domain.com?myquery=blahor http://www.domain.com,而是 url http: http://www.domain.com?myquery=blah&theirpara=blahor http://www.domain.com?theirpara=blah

当用户使用“irpara”参数访问时,我想将 301 重定向到没有它的 URL。

我尝试过使用 URL 重写模块,但没有真正取得任何进展。如果可能的话,最好在 IIS/web.config 级别而不是 Response.RedirectPermanent 级别执行此操作。

我认为使用规则(URL 写入模块)进行设置会很好,但说实话,我不知道如何解决这个问题。我正在使用以下规则删除尾部斜杠,但不确定如何修改它以满足此需要。

<!--To always remove trailing slash from the URL-->
<rule name="Remove trailing slash" stopProcessing="true">
  <match url="(.*)/$" />
  <conditions>
    <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
    <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
  </conditions>
  <action type="Redirect" redirectType="Permanent" url="{R:1}" />
</rule>
Run Code Online (Sandbox Code Playgroud)

关于如何设置它有什么想法吗?

c# asp.net iis web-config url-rewrite-module

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

使用MD5哈希上传流导致"您指定的Content-MD5无效"

我正在使用一个实现Amazon S3.我使用了Amazon C# SDK,我尝试使用putObject方法上传创建的ZIP文件.

当我上传文件时,我收到以下错误:

{Amazon.S3.AmazonS3Exception: The Content-MD5 you specified was invalid
Run Code Online (Sandbox Code Playgroud)

我生成了一个精细且有效的内存流,我可以毫无错误地将其上传到Amazon S3.但是,当我提供以下行时,它给我带来了问题:

request.MD5Digest = md5;
Run Code Online (Sandbox Code Playgroud)

我证明MD5是正确的方法吗?我的MD5代是否正确?或者还有其他错误吗?

我上传代码的要求:

Once the Zip file has been created and you have calculated an MD5 sum value of that file, you should 
transfer the file to the AWS S3 bucket identified in the S3Access XML. 
Transfer the file using the AmazonS3, PutObjectRequest and TransferManagerclasses. 
Ensure the following meta data attributes are included via adding an ObjectMetaDataclass instance to …
Run Code Online (Sandbox Code Playgroud)

c# hash md5 amazon-s3 amazon-web-services

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

在 VB.net 中获取 JSON 对象的值

我有以下代码将在 C# 中使用:

    var tokenJson = JsonConvert.SerializeObject(tokenJsonString);

    var jsonResult = JsonConvert.DeserializeObject<Dictionary<string, dynamic>>(jsonString);
    var firstItem = jsonResult["data"][0];
Run Code Online (Sandbox Code Playgroud)

但是,我有一个 VB.NET 客户端,我不知道如何翻译它。我尝试了不同的在线工具,但没有结果。

我有一个像这样的 JSON 响应:

"{\"token\":\"1edd6006-678a-4e6a-ab65-4fa60efa8632\"}"
Run Code Online (Sandbox Code Playgroud)

我只想要令牌的价值。在 VB.NET 中;)

vb.net json

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

将MVC站点部署到IIS会导致无法找到默认的共享局部视图

我有一个在我的本地IIS上完美运行的站点.

我的所有页面都使用默认的共享局部视图,称为预期_Layout.cshtml.此视图位于我的共享文件夹中.这可以在这里看到:

在此输入图像描述

正如我所料,这完美地运作.

但是,我现在发布我的网站.然后,我的一些页面之外的HomeController结果是:

The view 'Index' or its master was not found or no view engine supports the searched locations. The following locations were searched:
~/Views/Search/Index.aspx
~/Views/Search/Index.ascx
~/Views/Shared/Index.aspx
~/Views/Shared/Index.ascx
~/Views/Search/Index.cshtml
~/Views/Search/Index.vbhtml
~/Views/Shared/Index.cshtml
~/Views/Shared/Index.vbhtml
Run Code Online (Sandbox Code Playgroud)

这当然是正确的,但我希望它能够_Layout.cshtml在我的共享文件夹中搜索,而不是这些文件名.

我该怎么做才能解决它?为什么它适用于我的本地IIS,而不是生产?

asp.net iis asp.net-mvc asp.net-mvc-4

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

为Entity Framework代码优先应用程序添加索引的正确方法?

当您使用Entity Framework代码优先时,我一直在研究如何在列上添加索引.

我认为,有三种方法:

  1. 在实际迁移中添加它们(在EF 4.2之后)
  2. 使用IndexAttributeEF 6.1中的新功能
  3. 直接向列添加索引

我不是很喜欢这两种方法:

1:似乎风险很大.有时您可能希望重置所有迁移并再次进行"初始设置".然后您的索引可能会被删除.

另外我觉得它很透明,隐藏得很好.

2:似乎是相当新的和有限的文档.不知道这有多好用吗?

3:如果重新创建数据库,则会很危险.

所以我的问题是:如何在实体框架代码中首先添加索引?

c# entity-framework entity-framework-6.1

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