我正在使用Visual Studio 2017开发ASP.NET Core应用程序。我已设置调试程序以在Docker容器中运行服务器。该容器已启动并正在运行,但是我无法访问该数据库,该数据库位于另一个Docker容器中。
数据库容器公开主机上的端口。我需要告诉ASP.NET Core容器将主机的端口映射到内部端口。为此,我需要更改docker run命令Visual Studio issue来运行容器。
在哪里可以找到它以便更改?
我通过浏览Project Euler并解决一些问题来熟悉F#.许多早期问题包括素数.环顾四周后,我想出了以下解决方案:
let primesL =
let rec prim n sofar =
seq { if (sofar |> List.forall (fun i->n%i <>0L)) then
yield n
yield! prim (n+1L) (n::sofar)
else
yield! prim (n+1L) sofar }
prim 2L []
Run Code Online (Sandbox Code Playgroud)
这很好用,但后来我生成了2000000的所有素数:
let smallPrimes = primesL |> Seq.takeWhile (fun n->n<=2000000)
Run Code Online (Sandbox Code Playgroud)
这需要很长时间.很明显,事情是在O(N ^ 2)或最差的情况下完成的.
我知道我可以写一个命令式版本并实现某种类型的筛子,但我想坚持使用功能代码.如果我想要命令,我会留在C#.
我错过了什么?
我正在尝试在我的Django应用程序中创建自定义模板过滤器.我在我的应用程序下创建了一个templatetags文件夹,在__init__.py我的过滤器中添加了一个文件和一个filters.py文件,如下所示:
import os
from django import template
from django.template.defaultfilters import stringfilter
register = template.Library()
@register.filter
@stringfilter
def filename(pathname):
""" Returns the file's name, without folder """
return os.path.basename(pathname)
Run Code Online (Sandbox Code Playgroud)
当我尝试从模板访问过滤器时,出现错误"无效过滤器'文件名'"
这个问题已经被问了很多,所以我已经检查了以下内容:
__init__.py 正确命名manage.py shell我可以导入我的过滤器,如下所示:import app.templatetagstemplate.library()- 调试器并没有就此止步.这是模板(我删除了它的一部分,但错误仍然存在于这个小版本中)
<form enctype="multipart/form-data" action="{% url lab.views.new.artefact_drop_web tempfile_id=tempfile.id %}" method="post">
{% csrf_token %}
<h3>File:</h3>
<p>{{ tempfile.file.name|filename }}</p>
<input type="submit" value="Add" />
</form>
Run Code Online (Sandbox Code Playgroud) 我有一个带有两个Android应用程序和两个Android库的Eclipse工作区--Facebook SDK和我自己的库.当我尝试创建APK文件时,我有时会收到错误"转换为dalvik格式失败,错误1".
我经历了所有类似问题的答案,但没有任何作用:
我发现的唯一解决方法是反复重试直到它工作.除了放弃Android并只做iOS和Windows Phone版本,我该怎么办?以这种方式开发任何东西都是不可能的.
更新:在其中一台计算机上,我得到交替错误,有时它是Dalvik错误,另一次它抱怨它无法导出...\facebook-android-sdk-3.0\facebook\bin\facebooksdk.jar.
更新2:Eclipse日志(.metadata/.log)显示异常的详细信息:
!ENTRY com.android.ide.eclipse.adt 4 0 2013-04-12 00:14:59.163
!MESSAGE Export Wizard Error
!STACK 1
org.eclipse.core.runtime.CoreException: Conversion to Dalvik format failed with error 1
at com.android.ide.eclipse.adt.internal.project.ExportHelper.exportReleaseApk(ExportHelper.java:312)
at com.android.ide.eclipse.adt.internal.wizards.export.ExportWizard.doExport(ExportWizard.java:296)
at com.android.ide.eclipse.adt.internal.wizards.export.ExportWizard.access$0(ExportWizard.java:233)
at com.android.ide.eclipse.adt.internal.wizards.export.ExportWizard$1.run(ExportWizard.java:218)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
Caused by: com.android.ide.eclipse.adt.internal.build.DexException: Conversion to Dalvik format failed with error 1
at com.android.ide.eclipse.adt.internal.build.BuildHelper.executeDx(BuildHelper.java:751)
at com.android.ide.eclipse.adt.internal.project.ExportHelper.exportReleaseApk(ExportHelper.java:269)
... 4 more
!SUBENTRY 1 com.android.ide.eclipse.adt 4 0 2013-04-12 00:14:59.163
!MESSAGE Conversion to Dalvik format failed with error …Run Code Online (Sandbox Code Playgroud) 我想从WCF服务调用异步方法,如:
[ServiceContract]
interface IService
{
[OperationContract]
int SomeMethod(int data);
}
int SomeMethod(int data)
{
var query = ... build LINQ query;
var response = await query.ToListAsync();
return response.Length;
}
Run Code Online (Sandbox Code Playgroud)
我不想添加async到IService界面或SomeMethod方法.使用异步方法是一个内部问题,不应该在接口中反映出来.
我怎样才能做到这一点?
澄清:
我的问题是await在非async方法中使用.我不希望服务合同发生变化(客户端不一定知道是什么async),我不想将方法拆分为BeginSomeMethod和EndSomeMethod.我想要一种await 内部使用的方法.
我正在尝试使用protobufs序列化一些类.我使用NuGet安装了protobuf-net,使用属性正确装饰了我的代码,一切运行良好.
但是,最终消息将在C#中创建,但在其他环境中消耗,因此我需要从C#创建.proto文件,或者 - 对我来说似乎更合理 - 从.proto文件创建C#代码.
无论我做什么,我都找不到安装在我电脑任何地方的ProtoGen.exe.我也找到了这个旧帖子,但是当我创建一个.proto文本文件时,没有发生任何类似的事情.手动添加ProtoBufTool也不起作用.
我错过了什么?
我正在尝试实施战略模式.这是我实施的一部分:
public List<string> GetOrderedEmployeeNames(IOrderByStrategy strategy)
{
return GetEmployeeFullNames().OrderBy(strategy.Order);
}
Run Code Online (Sandbox Code Playgroud)
现在每次我调用这个函数我都要写:
var employees = GetOrderedEmployeeNames(new OrderByFamilyName());
Run Code Online (Sandbox Code Playgroud)
每次正确的方式或者我是否错误地实施了这个策略?
我有一个Android应用程序登录到服务器,获取会话ID并在应用程序运行时使用它.会话ID存储在SharedPeferences.
出于某种原因,在一台设备(旧的三星Galaxy S)上,有时当应用程序唤醒时,会话ID消失了 - 无法从SharedPreferences中检索到它,而是返回null.这可能发生在手机大量使用后,需要Android释放内存资源.请注意,应用程序仍处于活动状态,不会从头开始重新启动 - 我的活动只是调用了onResume.
如果我能在模拟器上重现这种行为,我会非常高兴.有没有办法轻推模拟器做同样的事情?
我在 Django 应用程序中的 Windows 10 机器上使用 RabbitMQ 3.6.0 和 Celery 3.1.20。一切都在同一台计算机上运行。我已经将 Celery 配置为 Acknowledge Late ( CELERY_ACKS_LATE=True),现在我遇到了连接问题。
我启动 Celery 工作线程,在处理任务 50-60 秒后,每个工作线程失败并显示以下消息:
无法确认 ###,原因:ConnectionResetError(10054, '现有连接被远程主机强行关闭', None, 10054, None)
(###为任务编号)
当我查看 RabbitMQ 日志时,我看到:
=信息报告==== 2016 年 2 月 10 日::22:16:16 === 接受 AMQP 连接 <0.247.0> (127.0.0.1:55372 -> 127.0.0.1:5672)
=信息报告==== 2016 年 2 月 10 日::22:16:16 === 接受 AMQP 连接 <0.254.0> (127.0.0.1:55373 -> 127.0.0.1:5672)
=错误报告==== 10-Feb-2016::22:17:14 === 关闭 AMQP 连接 <0.247.0> (127.0.0.1:55372 -> 127.0.0.1:5672): {writer,send_failed, {错误,超时}}
该错误恰好发生在 Celery 工作人员正在重置其连接时。
我认为这是一个 AMQP …
我正在尝试熟悉 TensorFlow,但我不确定占位符、变量等。为了让事情变得简单,我尝试创建一个非常简单的计算 - 一个占位符和一个变量,该变量只是占位符乘以 2。
我把所有东西都放在一个函数中,像这样:
import tensorflow as tf
def try_variable(value):
x = tf.placeholder(tf.float64, name='x')
v = tf.Variable(x * 2, name='v', validate_shape=False)
with tf.Session() as session:
init = tf.global_variables_initializer()
session.run(init, feed_dict={x: value})
return session.run(v)
Run Code Online (Sandbox Code Playgroud)
然后我调用函数:
print(try_variable(80))
Run Code Online (Sandbox Code Playgroud)
确实输出是160。
但是当我再次调用它时:
print(try_variable(80))
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
InvalidArgumentError:您必须使用 dtype double 为占位符张量“x”提供一个值
我错过了什么?
c# ×3
android ×2
django ×2
python ×2
asp.net-core ×1
async-await ×1
asynchronous ×1
celery ×1
docker ×1
eclipse ×1
emulation ×1
f# ×1
filter ×1
nuget ×1
performance ×1
protobuf-net ×1
rabbitmq ×1
tensorflow ×1
wcf ×1