真的以为我修好了这个问题,但之前只是伪装了.
我使用HTTPS在IIS 7中托管了WCF服务.当我在Internet Explorer中浏览到此站点时,它就像一个魅力,这是因为我已将证书添加到本地根证书颁发机构商店.
我正在一台机器上开发,所以客户端和服务器是同一台机器.该证书直接从IIS 7管理管理单元自签名.
我现在不断得到这个错误......
无法为具有权限的SSL/TLS安全通道建立信任关系.
...从客户端控制台调用时.
我手动给自己的权限和网络服务证书,使用findprivatekey
和使用cacls.exe
.
我试图使用SOAPUI连接到服务,这是有效的,所以它必须是我的客户端应用程序中的一个问题,这是基于过去使用http的代码.
在哪里可以看到我似乎已经耗尽了为什么我无法连接的所有可能性?
我想以文件命名为例:
dd.mm.yyyy.log
log4net怎么可能这样?
我想知道(使用C#)我如何删除超过3个月的某个目录中的文件,但我想日期可以灵活.
需要明确的是:我正在寻找超过90天的文件,换句话说,应该保留不到90天前创建的文件,其他所有文件都被删除.
我有一个byte[]
文件的内容.我想发送它作为附件使用System.Net.Mail
.
我注意到附件类有1个重载,它接受一个流.
Attachment att = new Attachment(Stream contentStream,string name);
Run Code Online (Sandbox Code Playgroud)
是否有可能byte[]
通过这个过载?
我只需要一种使用C#查询NTP服务器的方法,以便将NTP服务器的日期时间作为a string
或a 返回DateTime
.
这最简单的形式怎么可能?
Stylecop取代了FXcop吗?我们应该在Visual Studio 2008中使用哪种产品?
可能看起来像一个愚蠢的问题,但WCF中的所有内容似乎都比asmx复杂得多,我怎样才能增加svc服务的超时?
这是我到目前为止:
<bindings>
<basicHttpBinding>
<binding name="IncreasedTimeout"
openTimeout="12:00:00"
receiveTimeout="12:00:00" closeTimeout="12:00:00"
sendTimeout="12:00:00">
</binding>
</basicHttpBinding>
</bindings>
Run Code Online (Sandbox Code Playgroud)
然后我的端点映射如下:
<endpoint address=""
binding="basicHttpBinding" bindingConfiguration="IncreasedTimeout"
contract="ServiceLibrary.IDownloads">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
Run Code Online (Sandbox Code Playgroud)
我得到的确切错误:
在00:00:59.9990000之后等待回复时,请求通道超时.增加传递给Request的调用的超时值或增加Binding上的SendTimeout值.分配给此操作的时间可能是较长超时的一部分.
在WCF测试客户端中,有一个配置图标,其中包含我的服务的运行时配置:
你可以看到它与我为它设定的值不一样吗?我究竟做错了什么?
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IDownloads" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None"
realm="">
<extendedProtectionPolicy policyEnforcement="Never" />
</transport>
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
</basicHttpBinding>
</bindings>
Run Code Online (Sandbox Code Playgroud) 我有以下代码:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "HEAD";
request.Credentials = MyCredentialCache;
try
{
request.GetResponse();
}
catch
{
}
Run Code Online (Sandbox Code Playgroud)
如何捕获特定的404错误?WebExceptionStatus.ProtocolError只能检测到发生了错误,但未提供错误的确切代码.
例如:
catch (WebException ex)
{
if (ex.Status != WebExceptionStatus.ProtocolError)
{
throw ex;
}
}
Run Code Online (Sandbox Code Playgroud)
只是没用得多......协议异常可能是401,503,403,真的是什么.
.net c# error-handling exception-handling http-status-code-404