小编Chr*_*ris的帖子

找不到类型或命名空间名称"DbContext"

我是ASP.NET MVC(3)的新手,并且很难解决Visual Studio中的构建错误:

找不到类型或命名空间名称'DbContext'(您是否缺少using指令或程序集引用?)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
using System.Data.Entity;

namespace MyProjectName.Models
{   
    public class MachineModel
    {
        // name
        [Required]
        [Display(Name = "Nom de la machine")]
        public string Name { get; set; }

        // IP
        [Required]
        [RegularExpression(@"(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)",
           ErrorMessage = "Donnez une adresse IPv4 valide.")]
        [Display(Name = "Adresse IP de la machine")]
        public string IP { get; set; }
    }

    public class MachineDbContext : DbContext
    {
        public DbSet<MachineModel> Machines{ get; set; }
    }
}
Run Code Online (Sandbox Code Playgroud)

我得到的两个错误是: …

asp.net-mvc entity-framework visual-studio-2010 visual-studio asp.net-mvc-3

141
推荐指数
6
解决办法
26万
查看次数

使用xsl输出纯文本

我需要使用XSL从XML生成简单的纯文本输出.由于我没有在网上找到任何好的,简洁的例子,我决定在这里发布我的解决方案.任何指向更好的例子的链接当然会受到赞赏:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" >
    <xsl:output method="text" omit-xml-declaration="yes" indent="no"/>
    <xsl:template match="/">
        <xsl:for-each select="script/command" xml:space="preserve">at -f <xsl:value-of select="username"/> <xsl:value-of select="startTime/@hours"/>:<xsl:value-of select="startTime/@minutes"/> <xsl:value-of select="startDate"/><xsl:text>
</xsl:text></xsl:for-each> 
    </xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)

一些帮助我的重要事情:

  1. 使用xsl:output省略输出文档开头的标准声明
  2. 使用xml:space ="preserve"属性来保存我在xsl:for-each标记中写的任何空格.这也要求我在for-each标签中编写所有代码,包括该标签,在一行上(除了换行符).
  3. 使用插入换行符 - 再次我不得不在这里省略标准的xml缩进.

此xslt的结果和所需输出为:

at -f alluser 23:58 17.4.2010
at -f ggroup67 7:58 28.4.2010
at -f ggroup70 15:58 18.4.2010
at -f alluser 23:58 18.4.2010
at -f ggroup61 7:58 22.9.2010
at -f ggroup60 23:58
21.9.2010 at -f alluser 3:58 22.9.2010

正如我所说,任何有关如何更优雅地做到这一点的建议将不胜感激.


后续行动2011-05-08:

这是我正在处理的xml的类型:

<script xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="script.xsd">
    <command>
        <username>alluser</username> …
Run Code Online (Sandbox Code Playgroud)

xml xslt foreach line-breaks plaintext

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

在安装Android应用程序之前,我可以让用户同意法律免责声明吗?

我准备推销我的第一个Android应用程序(来自美国Google Checkout/Merchant帐户和美国银行帐户等),我想让用户在他/她之前至少同意某种简单的责任免责声明可以安装该应用程序.

据您所知,是否可能,如果可行,最好的方法是什么?

非常感谢您的帮助和提示.

android

9
推荐指数
2
解决办法
4147
查看次数

为什么Google Chrome在我定义HTTP"Expires"标头时不使用缓存页面

我发送有效格式的HTTP响应"过期"标题(例如"Wed,04 May 2011 09:29:09 GMT"),页面通过https:// [host]:{port} /(与[host]一起发送) localhost)来自J2EE应用程序,使用response.setDateHeader("Expires", {milliseconds a few seconds in the future} ).

在我的页面上,我有一个指向同一页面的链接.当我从Firefox(4)或IE(8)中单击此链接时,页面将从缓存重新加载,直到达到过期时间.通过过期时间后,单击同一链接会导致从服务器加载的页面包含新数据.如果我在上述任一浏览器中点击F5,页面将从服务器重新加载新数据(Firebug显示我Cache-Control: max-age=0随请求一起发送).

使用谷歌浏览器,F5和点击链接都具有相同的效果.始终使用新数据从服务器重新加载页面.

我无法找到任何有关此效果的详细说明.

有没有人知道为什么在我的情况下谷歌Chrome不尊重服务器发送的"过期"标题与页面响应,因此总是从服务器请求数据?

google-chrome java-ee browser-cache http-headers

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

GIT在分离的HEAD状态下提交--amend

我知道修改旧GIT提交的正确方法是使用rebase --interactive,但为了清楚这些概念,我想了解当我做什么时会发生什么

  • git checkout <commit>
  • 改变文件中的内容
  • 将更改的文件添加到索引中
  • 然后 git commit . --amend

当我这样做时,它不是修改提交,而是从同一提交的PARENT分支新的提交.

这只是GIT的方式告诉我,我不能修改已经有子提交的提交吗?

git commit rebase git-amend git-commit

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

如何获取JAXB对象的命名空间

目前,我正在使用以下代码将JAXB对象编组为输出流

marshaller.setProperty(Marshaller.JAXB_FRAGMENT, Boolean.TRUE);
ByteArrayOutputStream out = new ByteArrayOutputStream();
marshaller.marshal(new JAXBElement(new QName("hard_coded_namespace", clazz.getSimpleName()), clazz, obj), out);
Run Code Online (Sandbox Code Playgroud)

我想将"hard_coded_namespace"替换为JAXB"obj"中包含的命名空间(或者它的一个属性,它们当前应该共享相同的NS).

任何想法如何在编组之前获得NS信息?在输出流中,将显示命名空间.所以他们在"obj"的某个地方.

[更新]正如下面的答案所指出的,我不需要设置JAXB_FRAGMENT属性.我改成了:

    JAXB.marshal(new JAXBElement<T>(new QName("hard_coded_namespace", rootName), clazz, jaxbObject), out);
Run Code Online (Sandbox Code Playgroud)

java namespaces jaxb

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

使用 Java 调用 REST API 并解析 JSON 数据的最简单方法

我正在尝试做一些在 JavaScript 中很简单的事情,但在 Java 中似乎很复杂。我希望有人能指出如何用 Java 简单地做到这一点。

我想调用 REST JSON API,例如https://images-api.nasa.gov/search?q=clouds

我得到一个数据结构,其简化形式如下所示:

{
  "collection": {
    "items": [
      {
        "links": [
          {
            "href": "https://images-assets.nasa.gov/image/cloud-vortices_22531636120_o/cloud-vortices_22531636120_o~thumb.jpg",
            "rel": "preview"
          }
        ]
      }
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

在 Java 中,我想调用 URL 并获取href字符串作为列表。

在 JavaScript 中,我会简单地写

fetch("https://images-api.nasa.gov/search?q=moon")
  .then(data => data.json())
  .then(data => {
    const items = data
      .collection
      .items
      .map(item => item.links)
      .flat()
      .filter(link => link.rel === "preview")
      .map(link => link.href);

    // do something with "items"
})
Run Code Online (Sandbox Code Playgroud)

1.我最初的解决方案

经过一番搜索,我发现了这种方法,它似乎朝着正确的方向发展,但仍然非常冗长。

String uri = "https://images-api.nasa.gov/search?q=clouds";
List<String> …
Run Code Online (Sandbox Code Playgroud)

java rest json gson resttemplate

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

我在哪里可以找到ISO Schematron验证器的Java实现?

ISO Schematron标准已经出现两年了,但我仍然无法使用ISO Schematron XSLT文件找到Java实现(而不是来自旧版Schematron的文件,例如:http://uploading.com /files/c9c9cb87/SchematronXpath.jar/).

有没有人知道可以从Java方法轻松调用的生产就绪的ISO模式验证器?

java schematron

5
推荐指数
3
解决办法
6832
查看次数

什么时候在 UIComponent 上调用 setValue 和 setSubmittedValue?

如果我正确地将 BalusC 2006 年伟大的帖子http://balusc.blogspot.ch/2006/09/debug-jsf-lifecycle.html 中包含的信息与 Optimus Prime 更早的帖子http://cagataycivici.wordpress.com/2005 /12/28/jsf_component_s_value_local/我得到以下信息:

我的理解:

  1. 在 APPLY_REQUEST_VALUES 阶段,
    • 输入值设置为 UI 组件的 submitValue 属性(例如inputComponent.setSubmittedValue ("test"))。
  2. 在 PROCESS_VALIDATIONS 阶段,
    • 从 submitValue 属性(大概是inputComponent.getSubmittedValue ())中读取相同的值,并在必要时用于转换。
    • 如果转换成功或跳过,则结果被设定为分量的值属性(例如inputComponent。的setValue(“测试”))。
    • 此外,submittedValue 会立即再次被擦除(例如inputComponent.setSubmittedValue (null))
    • (转换后的)值是从 UI 组件(大概是 inputComponent.getValue ())的 value 属性中读取并验证的。
    • 在验证后,支持bean /模型的存储的值被读出(例如为myBean。getInputValue())中,用新转换和验证值进行比较。如果不同,将调用 valueChangeListener 方法。
  3. 在 UPDATE_MODEL_VALUES 阶段,
    • 新转换的和验证值被最终存储在背衬bean的属性字段(例如为myBean。setInputValue(“测试”))。

问题:

  • 这样对吗?
  • 要完全理解 POST 和在支持 bean 中保存输入值之间发生的事情,是否缺少一些东西?
  • 输入组件上的immediate =“true”,我们只是将这些事件转移到APPLY_REQUEST_VALUES阶段,还是我们改变的不仅仅是事件的时间/顺序?

lifecycle jsf components

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

CompletableFuture.allOf().orTimeout() 的意外行为

有两种方法可以强制 aCompletableFuture在给定时间后超时:

我希望他们也有同样的行为。然而,当应用于 时CompletableFuture.allOf(CompletableFuture<?>... cfs),这两种提供超时的方式表现得非常不同!

基本上,它似乎get()符合我的预期(它阻塞当前线程,直到所有 future 完成),而orTimeout()似乎行为非常奇怪(它在第一个 future 完成后尽快解锁当前线程)。

这是一些代码来演示我观察到的行为:

import org.junit.Test;

import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeoutException;

import static java.util.concurrent.TimeUnit.MILLISECONDS;

public class AllOfWithTimeoutTest {

    public static final int TIMEOUT_IN_MILLIS = 100;

    @Test
    public void allOfOrTimeout1() throws InterruptedException, ExecutionException, TimeoutException {
        getAllOfFuture().get(TIMEOUT_IN_MILLIS, MILLISECONDS);
    }

    @Test
    public void allOfOrTimeout2() throws ExecutionException, InterruptedException {
        getAllOfFuture().orTimeout(TIMEOUT_IN_MILLIS, MILLISECONDS);
    }

    private CompletableFuture<Void> getAllOfFuture() {
        return CompletableFuture.allOf(
            CompletableFuture.runAsync(() -> …
Run Code Online (Sandbox Code Playgroud)

java asynchronous timeout future

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

您将如何编写一个从列表中删除元素的“纯”函数?

在 Java(或任何类似的语言)中,如何编写从列表中删除元素的纯函数(或方法)。

如果该元素在列表中,我们只需返回一个新的(理想情况下不可变的)列表,其中包含输入列表的所有元素,减去我们删除的元素。

但是如果在列表中找不到该元素,您将如何处理?

假设该方法接收 2 个参数,即listelement要删除的参数:

public SOMETHING remove(final List<String> list, final String element){
    // Copy the input list and remove the first occurrence of 'element', if I find it.
    // 
    // if I don't find it ... do something clever here ...
}
Run Code Online (Sandbox Code Playgroud)

如果我调用这个方法,并且element不包含在里面list

  • 抛出异常可能会使方法“不纯”(?)
  • 修改输入列表并返回布尔值(类似于List#remove())可能会使方法“不纯”(修改输入将是副作用)
  • 如果我调用此方法,将输入作为输出返回对我来说似乎不直观。
  • 返回Optional.of(listCopy)(编辑:发布后添加到我的问题中)
  • 还有其他想法吗?

编辑

我应该提到,我只想删除第一次出现的element,因此如果输入list多次出现element,我不想通过对我的remove() 方法的一次调用来删除它们(例如使用stream().filter())来删除它们。我刚刚编辑了代码示例中的注释来反映这一点。然而,这与我的问题并不完全相关,因为我的主要问题围绕如何使该方法直观易用并保持“纯粹”。

编辑2

我在上述建议的基础上添加了一个额外的想法。返回Optional.of(listCopy)似乎是迄今为止所提出的解决方案中最优雅的解决方案。它强制调用者检查请求的操作是否成功,并且(如果成功),它返回一个新列表,从而不会修改原始输入列表。如果操作不成功(element …

java functional-programming pure-function

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

如何从 Java Stream 中删除“null”值

假设我有一个包含null值的 Java Stream。

如何去除它们?

java java-stream

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