安装Visual Studio 2012并打开我的解决方案后,我遇到了以下形式的一系列错误:
Web应用程序项目Foo配置为使用IIS.
无法访问IIS元数据库.您没有足够的权限访问计算机上的IIS网站.
我为每个Web应用程序都得到了这个.我尝试过的事情:
这些似乎是这个问题的常见解决方案,但我没有取得任何成功.还有什么我可以尝试做的吗?
我正在创建一个将结果作为JSON返回的API.当值为null时,是否应该在结果中包含键,是否存在当前的最佳实践?例如:
{
"title":"Foo Bar",
"author":"Joe Blow",
"isbn":null
}
Run Code Online (Sandbox Code Playgroud)
要么
{
"title":"Foo Bar",
"author":"Joe Blow"
}
Run Code Online (Sandbox Code Playgroud)
由于第二个较小,我倾向于这种风格,但我不确定是否有一个首选的风格.从客户的角度来看,似乎两种风格在功能上都是等同的.各有利弊吗?
在Java中,我首先实例化ZipOutputStream还是首先实例化BufferedOutputStream?例:
FileOutputStream dest = new FileOutputStream(file);
ZipOutputStream zip = new ZipOutputStream(new BufferedOutputStream(dest));
// use zip output stream to write to
Run Code Online (Sandbox Code Playgroud)
要么:
FileOutputStream dest = new FileOutputStream(file);
BufferedOutputStream out = new BufferedOutputStream(new ZipOutputStream(dest));
// use buffered stream to write to
Run Code Online (Sandbox Code Playgroud)
在我非科学的时间里,我似乎无法在这里说出很多不同之处.我在Java API中看不到任何表明这些方法之一是必要的还是首选的.有什么建议?似乎首先压缩输出然后缓冲它以进行写入会更有效.
我在工作中支持一个公共库,它对给定字符串执行许多检查,以查看它是否是有效日期.Java API,commons-lang库和JodaTime都有方法可以解析字符串并将其转换为日期,让你知道它是否真的是一个有效的日期,但我希望有一种方法在没有实际创建日期对象的情况下进行验证(或者像JodaTime库那样使用DateTime).例如,这是一段简单的示例代码:
public boolean isValidDate(String dateString) {
SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
try {
df.parse(dateString);
return true;
} catch (ParseException e) {
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
这对我来说似乎很浪费,我们扔掉了最终的对象.从我的基准测试中,我们在这个公共图书馆中有大约5%的时间用于验证日期.我希望我只是错过了一个明显的API.任何建议都会很棒!
UPDATE
假设我们始终可以使用相同的日期格式(可能是yyyyMMdd).我确实考虑过使用正则表达式,但是它需要知道每个月的天数,闰年等等......
结果
解析了一千万次的约会
Using Java's SimpleDateFormat: ~32 seconds
Using commons-lang DateUtils.parseDate: ~32 seconds
Using JodaTime's DateTimeFormatter: ~3.5 seconds
Using the pure code/math solution by Slanec: ~0.8 seconds
Using precomputed results by Slanec and dfb (minus filling cache): ~0.2 seconds
Run Code Online (Sandbox Code Playgroud)
有一些非常有创意的答案,我很感激!我想现在我只需要决定我需要多少灵活性,我希望代码看起来像.我要说dfb的答案是正确的,因为它纯粹是最快的,这是我原来的问题.谢谢!
我有一个项目,它将apache-compress库作为编译时依赖项.该库似乎使用Maven,并且具有一个POM文件,其依赖项设置为"可选".以下是POM文件的相关部分:
<dependency>
<groupId>org.tukaani</groupId>
<artifactId>xz</artifactId>
<version>1.5</version>
<optional>true</optional>
</dependency>
Run Code Online (Sandbox Code Playgroud)
Gradle似乎没有将这个库包含在我的项目中,我猜它是因为"可选"属性.有没有办法告诉Gradle包含这个依赖项而不自己明确地包含xz库?
这是我的Gradle依赖声明: compile group: 'org.apache.commons', name:'commons-compress', version:'1.8.1'
java dependency-management gradle maven apache-commons-compress
我很难找到有关.Net(特别是C#,是否重要)是否尊重DNS条目的TTL值的信息。我相信它不是基于我在这里找到的信息。我在其他地方注意到Java也不尊重DNS TTL值(任何使Java遵守DNS缓存超时(TTL)的方法?)。我是否正确,控制DNS查找被缓存多长时间的唯一方法是使用ServicePointManager.DnsRefreshTimeout属性?如果是这种情况,是否有人知道为什么?似乎是编程语言的一个非显而易见的选择。
我正在创建一个接受MTOM消息的WCF SOAP服务.一般来说,一切都按预期工作,但似乎我的服务只接受二进制编码的附件.例如,如果该附件这样发送(注意Content-Transfer-Encoding的7bit):
------=_Part_0_1053847062.1428586130682
Content-Type: text/xml; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-ID: <document.xml>
Content-Disposition: attachment; name="document.xml"
Run Code Online (Sandbox Code Playgroud)
当此消息发布到我的服务时,我收到错误:
<Message>Content-Transfer-Encoding '7bit' not supported for binary part. Must be 'binary'.</Message>
<StackTrace>at System.Xml.XmlMtomReader.CheckContentTransferEncodingOnBinaryPart(ContentTransferEncodingHeader header)
at System.Xml.XmlMtomReader.Read()
at System.Xml.XmlReader.ReadStartElement()
Run Code Online (Sandbox Code Playgroud)
我原本以为必须有一些绑定设置允许其他设置,Content-Transfer-Encoding但我似乎无法找到任何东西.WCF只支持Content-Transfer-Encoding二进制文件吗?如果是这样,有什么方法可以为其他人实施我自己的支持?
另一个可能的答案是,实际上除了二进制之外没有使用其他编码,这是唯一需要的编码.我最初的测试是使用SoapUI,它似乎尽可能使用非二进制编码,但这可能不是一个准确的测试.
我来自Java和Spring的背景,而且我对Castle Windsor很新.我已经读过,知道Castle何时会释放瞬态组件非常重要,因为它跟踪创建的所有组件.我很难理解我的组件何时会被释放.以下是我的模型的基础知识:
Singleton -> Singleton Typed Factory -> Transient Objects
Run Code Online (Sandbox Code Playgroud)
如果我在此链中释放第一个单例,那么将释放由类型工厂创建的所有瞬态对象吗?是否有任何API调用我可以检查是否是这种情况?我在Castle Windsor网站上找不到任何全面的API文档.我发现的文档对我来说似乎并不清楚.
编辑: 我的问题归结为两个主要问题.
我有一个多项目 Gradle 构建。我有Sub-Project-A这取决于Sub-Project-B。Sub-Project-B具有编译时依赖性SLF4J。我不希望能够Sub-Project-A针对任何SLF4J库进行编译,但在运行时我确实希望Sub-Project-B代码能够运行。
我认为我可以做的是将编译时依赖项添加到 Sub-Project-B 中,然后添加:
configurations {
compile.exclude group: 'org.slf4j'
}
Run Code Online (Sandbox Code Playgroud)
到子项目-A。这确实阻止了任何代码针对 slf4j API 进行编译,但它也阻止了 slf4j 库出现在 Sub-Project-A 运行时上,因此一旦Sub-Project-B访问代码,我就会收到 ClassNotFoundException。
由于这很难工作,我想我一定做错了什么,但这并不感觉像是一个不合理的设置。我只希望我的构建中的子项目之一能够在编译时访问第三方库。
我正在尝试修复我的jQuery代码.我只想在最后一个div中添加"添加内容"按钮.如果删除div,则按钮将保留在最后一个div中.建议请.
var i = 1;
var deletedDivs = 0;
var createdDivs = 0;
$(document).ready(function () {
$(document).on('click', '.addcontent', function () {
if (i == 1) $(".question").html('');
$(".hide_button").remove();
$(".question").append('<div class="new-question" id="question' + i + '" name="question' + i + '"><div class="deleteButton" id="question' + i + '">Remove</div><b>Question ' + i + '</b><br> This is div text <br> <button class="addcontent hide_button' + i + '">Add content</button></div>').show('slow');
createdDivs++;
i++;
});
$(document).on('click', '.deleteButton', function () {
var id = $(this).attr("id");
$("#" + id).remove();
deletedDivs++;
if …Run Code Online (Sandbox Code Playgroud)