我试图弄清楚这些词的确切含义,Covariance以及Contravariance在线的几篇文章和关于StackOverflow的问题,从我能理解的,它只是多态的另一个词.
我对上述陈述是否正确?或者我弄错了?
在C#中,以下类型推断有效:
var s = "abcd";
Run Code Online (Sandbox Code Playgroud)
但是,当变量是常数时,为什么不能推断出类型呢?
以下引发了编译时异常:
const var s = "abcd"; // <= Compile time error:
// Implicitly-typed local variables cannot be constant
Run Code Online (Sandbox Code Playgroud) 我有一个WCF服务和一个带有服务引用的应用程序,并且在应用程序中我有一个循环,并且在每次迭代中它都在调用这个wcf web服务中的方法.
问题是,在大约9次呼叫之后,它就会停止......如果你Pause按下VS的按钮,你会看到它停留在拨打电话的线路上.
等待一段时间后,抛出此TimeoutException:
在00:00:59.9970000之后等待回复时,请求通道超时.增加传递给Request的调用的超时值或增加Binding上的SendTimeout值.分配给此操作的时间可能是较长超时的一部分.
我对此进行了一些研究,发现了一些涉及在应用程序中编辑app.config的解决方案,以下是它的摘录:
<serviceBehaviors>
<behavior name="ThrottlingIssue">
<serviceThrottling maxConcurrentCalls="500" maxConcurrentSessions="500" />
</behavior>
</serviceBehaviors>
Run Code Online (Sandbox Code Playgroud)
.
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
maxArrayLength="2147483647"
maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
Run Code Online (Sandbox Code Playgroud)
然后,在我停止调试后,几分钟后,会弹出一条错误消息,告诉我发生了灾难性故障.
我该如何解决这个问题?当我使用普通的Web服务时,我没有遇到此问题.
供参考,以下是整体app.config:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="ThrottlingIssue">
<serviceThrottling maxConcurrentCalls="500" maxConcurrentSessions="500" />
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<wsHttpBinding>
<binding name="WSHttpBinding_IDBInteractionGateway" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
allowCookies="false">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
<reliableSession ordered="true" inactivityTimeout="00:10:00"
enabled="false" /> …Run Code Online (Sandbox Code Playgroud) 由于我目前正在学习使用WCF服务,因此我经常在互联网上遇到ServiceHost使用WCF服务时使用的教程.
究竟是什么ServiceHost?
在我当前的项目中,我正在使用WCF服务并从我的应用程序中引用它,每当我想从我的应用程序中使用它时,我只是实例化它ServiceClient:
new MusicRepo_DBAccess_ServiceClient(new InstanceContext(instanceContext), customBinding, endpointAddress);
Run Code Online (Sandbox Code Playgroud)
然后访问我的网站的方法(OperationContract从实例S)(显然消耗的方法之前打开它,并随后关闭它Open和Close)
我的WCF服务是我的IIS主机,我只是.svc从我的应用程序访问实例化ServiceClient.
那么为什么以及在哪里ServiceHost使用?
假设您有以下用于初始化多维数组的ANSI C代码:
int main()
{
int i, m = 5, n = 20;
int **a = malloc(m * sizeof(int *));
//Initialize the arrays
for (i = 0; i < m; i++) {
a[i]=malloc(n * sizeof(int));
}
//...do something with arrays
//How do I free the **a ?
return 0;
}
Run Code Online (Sandbox Code Playgroud)
使用后**a,如何正确地从内存中释放它?
[更新](解决方案)
感谢Tim(以及其他人)的回答,我现在可以做这样的功能来从我的多维数组中释放内存:
void freeArray(int **a, int m) {
int i;
for (i = 0; i < m; ++i) {
free(a[i]);
}
free(a);
}
Run Code Online (Sandbox Code Playgroud) 我需要一个正则表达式,可以删除文件名的扩展名,只返回文件的名称.
以下是输入和输出的一些示例:
myfile.png -> myfile
myfile.png.jpg -> myfile.png
Run Code Online (Sandbox Code Playgroud)
我显然可以手动执行此操作(即从最后一个点删除所有内容),但我确信有一个正则表达式可以自己执行此操作.
只是为了记录,我在JavaScript中这样做
使用这样的一段代码,编译器抱怨c.MyProperty:
MyClass c;
try { throw new Exception(); }
catch (Exception) { }
c.MyProperty = 2; // "Use of unassigned local variable 'c'".
Run Code Online (Sandbox Code Playgroud)
然而,如果你指定一个不抱怨null到c在初始化:
MyClass c = null;
try { throw new Exception(); }
catch (Exception) { }
c.MyProperty = 2; // no complains this time.
Run Code Online (Sandbox Code Playgroud)
那么,为什么这有效呢?如果c未分配a null并且编译器假设允许它,则不会抛出相同的异常c.MyProperty,Object引用未设置为对象的实例?
我已经看到了这里提供的如何绘制线条的示例,但示例仅显示了如何使用鼠标进行操作,方法是单击.
我想要做的是在给定经度和纬度坐标列表的情况下使用JavaScript手动绘制线条.
我无法处理上面链接中提供的源的原因是因为他们只调用activate该功能,然后让用户指向并单击地图.
有没有人以编程方式在OpenLayers地图上绘制路径?
我想要做的就是:http://openspace.ordnancesurvey.co.uk/openspace/example4.html,但不使用OpenSpace.
我需要一个遍历文档的模式,并获取所有在其href中有mailto的链接:
<a href="mailto:an@email.com">text</a>
Run Code Online (Sandbox Code Playgroud)
我当然可以轻松获取所有a元素($("a"))并检查每个href属性以查看它是否指向mailto但我认为jQuery具有某种形式的模式匹配,这将允许我这样做.
实现这一目标的最佳方法是什么?
以下不编译:
Func<int, int> fac = n => (n <= 1) ? 1 : n * fac(n - 1);
Run Code Online (Sandbox Code Playgroud)
在访问之前,可能不会初始化局部变量'fac'
你怎么能用lambdas做一个递归函数?
[更新]
这里还有两个我觉得有趣的链接:
c# ×6
javascript ×2
wcf ×2
web-services ×2
c ×1
constants ×1
covariance ×1
exception ×1
factorial ×1
filenames ×1
free ×1
jquery ×1
lambda ×1
mailto ×1
malloc ×1
map ×1
memory-leaks ×1
openlayers ×1
polymorphism ×1
recursion ×1
regex ×1
servicehost ×1
throttling ×1
variance ×1