问题标签 [was]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 使 WAS 托管的 WCF 服务中的缓存无效
我需要使WAS 托管的WCF 服务持有的缓存条目无效。皱纹是失效触发器来自外部进程。我考虑了以下方法:
- 将System.Runtime.Caching.MemoryCache与定时缓存条目到期一起使用。这对我不起作用,因为对缓存基础数据的更改不会按计划进行,而且我绝不能返回过时的数据。
- 在我的 WCF 服务上添加一个“管理”
InvalidateCache()
方法,以使外部进程在适当时可以调用的缓存无效。如果 WCF 服务不是 WAS 托管的,这将是可行的。换句话说,如果应用程序空闲并被 WAS 卸载,调用该InvalidateCache()
方法将不必要地激活它。我寻找可以向 WAS 查询服务状态并InvalidateCache()
仅在服务处于活动状态时有条件地调用的方法,但我找不到 WAS 的此类 API。 - 使用 Windows 命名事件作为触发跨进程缓存失效的机制。我认为 WCF 服务可以配置为侦听命名事件并使其自己的缓存无效作为响应,但这似乎是对常见问题的不必要复杂的解决方案。
是否有更好的方法或可以使上述三种方法之一可行的方法?
wcf - 从 msmq 队列读取时出现 WCF 异常
我有以下问题:
我有一个 silveright 5 项目和 wcf(iis/被托管)项目(.net 4)。
wcf 项目包含多个绑定了 basicHttpBinding 的服务和一个绑定了 netMsmqBinding 的服务。
这个应用程序有一个用例,用户可以生成一些 excel 导出,每个用户最多 30 个文件和最多 10 个用户。这是一个长时间运行的操作,每个文件最多 3 分钟。
起初,导出服务是 httpBinded 并且请求生成超过 15 个报告时会失败。所以我增加了超时。这显然不是解决问题的正确方法。
所以我决定使用队列,并将导出服务的绑定从 basicHttpBinding 更改为 netMsmqBinding。
工作流程如下:
Silverlight 客户端会向 ReportsService 中的以下方法请求每个文件:
在上述方法中,我发送的是将消息进一步放在队列中。我创建了一个名为 ExportsService 的私有事务队列,具有所需的安全权限。
到目前为止,这有效。我可以看到队列中的消息。
问题是 ExportsService 在尝试读取消息时失败,并且所有消息最终都位于“重试”文件夹中。
在过去的两天里,我尝试了所有方法。我尝试了一些简单的玩具项目,只是为了检查 msmq 的东西是否在机器上工作。
在 svclog 中我发现了这个异常。在 System.ServiceModel.Channels.MsmqBindingMonitor.OnTimer(Object state)System.Messaging.MessageQueueException (0x80004005):远程计算机不可用。在 System.Messaging.MessageQueue.GetPrivateQueuesByMachine(字符串机器名)
ExportsService 如下所示:
Web 配置中的有趣位如下所示:
wcf - WCF 公开 TCP 端点
就使用 netTcpBinding 的运行端点而言,我最好的选择是通过 IIS/启用 WAS 吗?
另一种选择是在 Windows 服务中托管 TCP 端点。
利用 IIS/WAS 在 WCF 中公开 TCP 端点有什么好处?
为任何智慧干杯。
安德鲁
asp.net - 在通过 MPLS 以 128kpbs 在 Firefox 中加载 asp.net 中的页面时重置与服务器的连接
我有一个托管在 WAN 中的 asp.net Web 应用程序,具有 128 个 MPLS 连接。
服务器操作系统-windows server 2012 IIS-7.5
浏览器-火狐
在从客户端执行超过 128 kpbs 的某些活动时,它显示“在加载页面时重置与服务器的连接”消息。
请帮助我们解决问题
javascript - Nginx + node.js 的最佳实践
我正在 AWS Beanstalk 上使用 nginx + node.js 部署一个轻量级游戏服务器,我突然想到:在 nginx 后面部署多个节点会更好吗?
假设我现在在节点服务器应用程序中有三个路由器(功能):FuncA、FuncB 和 FuncC,它们都在一个节点上,这意味着监听一个端口,考虑到 node.js 是单个进程,性能应该非常低。
所以我的问题是我应该将它们部署为三个节点应用程序,每个节点都侦听单独的端口,并让 nginx 来完成负载平衡工作。我对吗?
谢谢,易
amazon-ec2 - Consul集群频繁“失败”
我是领事的新手,目前正在试验它。我根据这篇文章设置集群:https ://www.digitalocean.com/community/tutorials/an-introduction-to-using-consul-a-service-discovery-system-on-ubuntu-14-04 all代理处于“服务器”模式。然而,这个集群相当不稳定。当我在服务器上输入“exec consul members”命令时,我总是可以看到许多其他服务器处于“失败”状态(有时它们会恢复但很快又会再次失败)。我猜可能在编写配置文件时有一些技巧。
我使用 AWS EC2 实例来运行这些领事代理。
谢谢!约里克
c# - 如何为没有 SVC 文件的自托管 WCF 服务指定 ServiceHostFactory
我的应用程序作为 Windows 服务运行。它使用以下辅助方法动态创建 WCF 服务:
这些服务没有 .SVC 文件。还要清楚的是,这些是自托管服务,不在 IIS 下运行 - 它们在 WAS(Windows 激活服务)下运行。
现在我想控制实现类的实例化方式。听起来这可以通过ServiceHostFactory来完成。但是,我发现的所有关于此的文章都说,指定要使用的工厂的方法是将类型名称放在 .SVC 文件的 @ServiceHost 指令中。我没有这个文件!
有没有办法将我自己的 ServiceHost 工厂用于 WCF 服务,而没有在 WAS 下运行 SVC 文件?
更新以下答案
这是我结合 Carlos 解决方案的新辅助方法
wcf - WAS 上的 WCF - 我是否也需要在 IIS (HTTP) 上托管?
也许我想错了:从所有文档中,在 WAS(Windows 2008R2 / IIS 7.5)中托管 WCF 服务需要我首先将 WCF 服务添加到 IIS 下的(默认)网站?
真的吗?
这是否需要我将服务端点也暴露给 HTTP(S)?
如果可能的话,我希望服务只暴露给 TCP。
c# - System.Runtime.InteropServices.COMException 未处理。使用 CLSID {313CF0C8-2F04-4A83-839E-075D70E89FE7} 创建 COM 组件的实例
我正在使用第三方库“XPression”来开发 C# 项目。但我面临一些问题,如下面的屏幕截图所示。任何帮助,将不胜感激
windows - 无法通过 Powershell 停止 IIIS WAS 进程
在 Windows Server 2008 R2、64 位机器上,我正在运行以下代码:
这可以在所有计算机 ph1、ph2 和 ph3 上复制。但是使用其他一些代码,可以启动WAS,分别可以看到状态。
还要注意:
- 所有其他服务都可以停止吗?这与WAS的路径是这样的事实有关吗?C:\Windows\system32\svchost.exe -k iissvcs
- 我故意使用 WMI。
这里发生了什么?
蒂亚