Articles of wcf

保持WCF生活,没有IIS回收

我有一个WCF应用程序。 我想保持这个应用程序一直活着。 如果有一段时间不活动,IIS应用程序池是否回收? 我如何保持它一直活着? 我应该使用计时器吗? 我在应用程序中有敏感的数据,需要时间来填充它,这就是为什么我想保持它一直活着。

设置IIS以要求客户端证书并使用匿名身份validation

设置IIS以要求客户端证书并使用匿名身份validation 我有一个WCF Web服务供我们的客户使用。 我想要使​​用客户端证书来保护这一点。 我也将使用客户证书来识别客户。 我已经使识别部分工作,但我不能让IIS要求客户端证书。 如果我将IIS设置为接受客户端证书,则通信将起作用,并且可以使用以下命令获取客户端标识: ServiceSecurityContext.Current.PrimaryIdentity.Name 但是我也可以访问没有客户端证书的网站。 我不确定没有其他人可以做什么,而不是阅读WSDL,但我不希望没有可信任证书的人能够获得任何信息。 如果我将IIS设置为需要客户端证书,那么应该有权访问的testing客户端会收到错误消息: 客户端身份validationscheme“匿名”禁止HTTP请求。 我想只允许那些有服务器信任的客户端证书的用户访问。 其他人将被拒绝。 服务器WCFconfiguration: <system.serviceModel> <behaviors> <serviceBehaviors> <behavior name="DefaultBehavior"> <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" /> <serviceDebug includeExceptionDetailInFaults="true" /> <serviceCredentials> <clientCertificate> <authentication certificateValidationMode="ChainTrust" /> </clientCertificate> <serviceCertificate findValue="64343ee2c8338518e78ba698f3936dc92c90db57" x509FindType="FindByThumbprint" /> </serviceCredentials> </behavior> </serviceBehaviors> </behaviors> <bindings> <wsHttpBinding> <binding name="DefaultBinding"> <security mode="TransportWithMessageCredential"> <transport clientCredentialType="Certificate" /> <message clientCredentialType="Certificate" /> </security> </binding> […]

localhost上的IIS非常慢

我在Windows Vista双核CPU上使用IIS7。 第一次打一个WCF服务或一个ASP.NET webform有时会花一分多钟,这对我来说是不可接受的。 我将应用程序configuration为使用Classic .NET应用程序池,并尝试使用最大工作进程进行播放,首先将其设置为4,但将其恢复为1,因为它没有预期的结果。 还有什么我可以尝试的吗?

如何在Windows中为帐户添加权限?

鉴于: 运行Windows 2008的虚拟机 我使用我的域帐户login(SHUNRANET \ markk) 我已将“创build全局对象”权限添加到我的域帐户: 虚拟机重启(我知道注销/login就够了,但我不得不重启) 我使用相同的域帐户再次login。 看来还是有这个特权的: 我运行一些进程并使用Process Explorer检查其安全属性。 该帐户似乎没有特权 : 这不是一个闲散的好奇心。 我有一个真正的问题,没有这个特权的命名pipe道WCF绑定既不能在Windows 2008或Windows 7上工作! 以下是关于此问题的有趣讨论 – http://social.msdn.microsoft.com/forums/en-US/wcf/thread/b71cfd4d-3e7f-4d76-9561-1e6070414620 。 有谁知道如何使这项工作? 谢谢。 编辑 顺便说一句,当我运行进程提升,一切都很好,进程资源pipe理器显示特权如预期: 但我不想让它boost。 EDIT2 我同样欢迎任何解决scheme。 只是它的configuration或与代码混合。 EDIT3 我已经在MSDN论坛上发布了相同的问题,他们已将我redirect到此页面 – http://support.microsoft.com/default.aspx?scid=kb;EN-US;132958 。 我还没有确定它的相关性,但看起来很有希望。 还要注意,它是一个完全的编码解决scheme,所以无论谁把这篇文章转移到ServerFault,请将其恢复到StackOverflow。

IIS获取失败的请求的完整错误消息

我有IIS设置和服务我的web服务。 不幸的是,如果Web服务引发exception,我得到的只是一个标题失败请求的蓝框。 我有什么select才能真正看到出了什么问题? 我宁愿得到exception消息和堆栈跟踪。 我已经设置了“失败的请求追踪”,但目录保持空白。 如果可能的话,我宁愿直接在浏览器中获取堆栈跟踪。 只要这很重要:Win 7 64 Pro框上有一个IIS 7.5。 Webservice是一个WCF C#项目。

IIS7文件夹权限

我构build了一个基本的WCF服务,现在我想在Windows Server 2008 R2下的IIS7中进行托pipe。 我将该服务添加为默认网站下的应用程序,但每当我尝试运行应用程序时,都会收到以下错误消息: HTTP Error 500.19 – Internal Server Error The requested page cannot be accessed because the related configuration data for the page is invalid. configuration错误 – 由于权限不足,无法读取configuration文件 我可以得到这个服务工作的唯一方法是如果我select“连接成”服务器pipe理员添加服务时。 “应用程序用户(传递身份validation)”选项似乎没有工作。 任何人都可以帮我,我刚开始使用IIS7,不知道该怎么办…谢谢

如何WCF服务HTTPS绑定和terminalconfiguration与IIS中的负载平衡器?

我们有一个WCF服务,托pipe在一台12台机器上。 有一个负载平衡器是这些机器的网关。 现在该站点被设置为SSL; 就像用户通过使用带有https的URL访问它一样。 我知道这一点,寻址该网站的URL是https,但没有一个服务器有一个https绑定或被设置为需要SSL。 这使我相信,负载平衡器处理的HTTPS和从平衡器到服务器的连接是不encryption的(这发生在防火墙后面,所以没有biggie那里)。 我们遇到的问题是,当Silverlight客户端尝试访问WCF服务时,会出现“Not Found”错误。 我已经和我们的开发者机器一起build立了一个testing网站,并确保web.config中的绑定和端点与客户端一起工作。 在生产环境中似乎是这样,我们得到这个错误。 下面的web.config有什么问题吗? 我们应该如何设置https以不同的方式处理? 由于我已经尝试了使用端点和绑定的每个程序化解决scheme,所以我们目前处于这种状态。 我发现的解决scheme中没有一个以我们正在处理的方式处理负载平衡器。 Web.config服务模型信息: <system.serviceModel> <behaviors> <serviceBehaviors> <behavior name="TradePMR.OMS.Framework.Services.CRM.CRMServiceBehavior"> <serviceMetadata httpsGetEnabled="true" /> <serviceDebug includeExceptionDetailInFaults="false" /> </behavior> <behavior name="TradePMR.OMS.Framework.Services.AccountAggregation.AccountAggregationBehavior"> <serviceMetadata httpsGetEnabled="true" /> <serviceDebug includeExceptionDetailInFaults="false" /> </behavior> </serviceBehaviors> </behaviors> <bindings> <customBinding> <binding name="SecureCRMCustomBinding"> <binaryMessageEncoding /> <httpsTransport /> </binding> <binding name="SecureAACustomBinding"> <binaryMessageEncoding /> <httpsTransport /> </binding> </customBinding> […]

对Web.Config文件的更改是否需要重新启动IIS?

我有一个在VS 2008(使用.NET Framework 3.5)中编写的WCF组件,它安装在Windows 2003 Server上。 使用其中一种方法时,我遇到了一些问题,为了尝试和debugging问题,我build议将一些诊断添加到Web.Config文件中。 现在,这个WCF服务器在这一点上并没有太多用处,所以我可以在Web.Confilg文件中进行编辑,然后用我的新客户端应用程序运行一个testing? 或者我必须停止并重新启动Windows 2003 Server上的IIS?