问题标签 [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# - 如何在 Windows XP 中配置 Windows 激活服务器 (WAS) 以托管 WCF 服务?
如何在 Windows XP 中配置 Windows 激活服务器 (WAS) 以托管 WCF 服务?
wcf - 删除 net.tcp 中的 .svc 扩展名
我正在尝试在 WAS 和 IIS 中为 http 和 net.tcp 托管我的 WCF 4 Web 服务。是否可以删除 net.tcp 绑定的 .svc 扩展名?
如果我执行以下操作,我会收到错误
在 net.tcp://myserver.com/service/TestService 上没有可以接受消息的端点监听。这通常是由不正确的地址或 SOAP 操作引起的。有关更多详细信息,请参阅 InnerException(如果存在)。
wcf - 如何告诉轮询 MSMQ 的 WAS 服务在忙时等待?
我正在开发一个系统,其中包括运行工资单、繁重的负载过程。很可能很快就会有如此多的请求在高峰时间运行工资单,以至于批处理服务器将不堪重负。
我希望通过使用 MSMQ 来组合一个概念证明来解决这个问题(以后可能会用像 nservicebus 这样的商业解决方案来代替它)。我以这个例子为基础。我可以看到如何设置绑定并将其粘在一起,但我仍然需要一种方法来告诉 WAS 托管的订阅者只在他们不忙时处理“运行繁重的工资核算流程”消息。否则队列中的消息将被立即提取,我们会遇到与以前相同的问题。
我可以将订阅服务设置为说“我很忙,我无法接收消息,将其留在队列中”吗?队列需要是事务性的吗?
wcf - 尝试从远程专用队列中提取时,远程计算机不可用
我有一个远程私人队列,我可以毫无问题地写入。我正在尝试创建一个 WAS 托管的 WCF 服务来提取数据进行处理。我需要服务在与队列不同的机器上;我目前将它与写作服务放在同一个站点 - 相同的应用程序池但不同的应用程序。
我的目标队列被调用PersistenceService/Log.svc
并且是事务性的和经过身份验证的。我的服务正在运行http://appdev.me.com/PersistenceService/Log.svc
。以下包含我的端点和绑定:
我得到的错误如下:
我通过关闭 McAfee 为通信扫清了道路,因此它不会阻塞流量。我已暂时授予对队列的匿名登录访问权限 - 尽管它应该作为我正在写入队列的同一用户进入,并且该用户对队列具有完全权限。
WCF 跟踪不会显示除此错误之外的任何内容。任何关于在哪里看的想法将不胜感激。
asp.net - wcf nettcpbinding 一个现有的连接被远程主机强行关闭
开发环境:
服务托管在 IIS/WAS 下
我在本地开发中开发了四项服务。当我从 asp.net 应用程序访问它们时,它们都工作正常。我正在使用 net.tcp 协议进行连接。我已将 net.tcp 指定为站点级别和虚拟目录级别的允许协议。与 tcp 相关的三个服务全部启动。
在我能够连接到服务的应用程序 web.config 中,我正在使用模拟
但是当我尝试通过在 wcftestclient 的添加服务项目中指定 net.tcp url 来连接服务时。我无法连接。对另外两个服务使用相同的配置,我可以连接到另外两个服务。
测试服务器: 我什至部署在测试服务器上。即使在那里我也面临同样的问题。我可以使用 net.tcp url 连接到相同的两个服务。但其他两个给出错误。下面列出了其中一个配置。在服务器上,我什至删除了允许用户部分以使其对所有用户运行。
我得到的错误如下。
错误:无法从 net.tcp://localhost/servicesdev/SalesPersonService.svc 获取元数据 如果这是您有权访问的 Windows (R) Communication Foundation 服务,请检查您是否已在指定地址启用元数据发布。有关启用元数据发布的帮助,请参阅位于http://go.microsoft.com/fwlink/?LinkId=65455.WS-Metadata的 MSDN 文档Exchange 错误 URI:net.tcp://localhost/servicesdev/SalesPersonService.svc 元数据包含无法解析的引用:“net.tcp://localhost/servicesdev/SalesPersonService.svc”。套接字连接被中止。这可能是由于处理您的消息时出错或远程主机超出接收超时,或者是潜在的网络资源问题造成的。本地套接字超时为“00:05:00”。现有连接被远程主机强行关闭
以下是配置部分。
谢谢, BMP
windows-server-2012 - IIS 8 在 Windows Server 2012 上损坏
我们在 Windows Server 2012 上配置了 IIS 8。每当我们尝试访问任何虚拟目录时,应用程序池都会停止。
我尝试了 iisreset 和所有其他选项。当我检查 Windows 服务时,我看到 WAS 和 W3SVC 服务已停止。
尝试启动服务 (WAS) 时会引发错误
我什至尝试重新安装 IIS,重新启动机器几次但没有运气。
补充一点,我已经安装了所有最新的 Windows 更新。
有没有人遇到过这个问题?任何解决方法?
我什至尝试使用此链接重新配置 IIS
windows - 如何下载 Windows 进程激活服务 (WAS)
当我尝试在 IIS7 中启动应用程序池时出现错误。
该错误称为“在计算机上找不到服务 WAS。”。
然后我用谷歌搜索“下载 Windows 进程激活服务 (WAS),但我似乎找不到下载它。
我在我的 Windows 7 操作系统的远程桌面上的 AWS 上运行它。
wcf - 服务 (.svc) 位于根目录的 MSMQ 的 WCF 激活
VS 2012/.NET4.5、Windows 8/IIS8 和 64 位
使用 WCF 服务应用程序,到目前为止我在命名我的 MSMQ 队列以匹配服务名称时看到的所有文档都假定我正在使用 IIS 网站下的应用程序或虚拟目录。
这是从 MSDN http://msdn.microsoft.com/en-us/library/ms789042.aspx引用的
被激活的应用程序必须匹配(最长匹配)队列名称的前缀。
例如,队列名称为:msmqWebHost/orderProcessing/service.svc。如果应用程序 1 有一个虚拟目录 /msmqWebHost/orderProcessing,下面有一个 service.svc,而应用程序 2 有一个虚拟目录 /msmqWebHost,下面有一个 orderProcessing.svc,则应用程序 1 被激活。如果删除应用程序 1,将激活应用程序 2。
但是,当您在 IIS 7 WAS 中托管启用 MSMQ 的服务时,队列名称必须与服务的 .svc 文件的 URI 匹配。在此示例中,我们将在名为 MsmqService 的应用程序中托管服务,并使用名为 MsmqService.svc 的 .svc 文件,因此队列必须名为 MsmqService/MsmqService.svc。用于 WCF 服务的队列应始终是私有的
而且, http: //msdn.microsoft.com/en-us/magazine/cc163357.aspx
请务必注意,只有当队列与 .svc 文件具有相同的名称(减去计算机名称)时,MSMQ 端点的激活才能正常工作。这意味着如果您的服务端点是 /server/app/service.svc,则队列名称必须是 app/service.svc。
MyService.svc 文件直接位于我的 IIS 网站的根目录下(在集成模式下使用 .NET 4 池),因此我执行了以下操作:
- 创建一个名为 MyService.svc 的私有事务队列并赋予网络服务完全控制权(用于测试)。
- 设置我的 web.config 端点:address="net.msmq://localhost/private/MyService.svc"
- 我能够使用客户端测试应用程序使用 (2) 中的地址将消息推送到队列。
- 我通过执行以下操作向网站添加了 MSMQ 协议支持:(
C:\Windows\System32\inetsrv>appcmd set site "MyWebsite" /+bindings.[protocol='net.msmq',bindingInformation='localhost']
并检查它是否正确添加了支持) - 从我的网站高级设置中,我
http,net.tcp,net.msmq
有Enabled Protocols
- 我仔细检查了“Net.Msmq 侦听器适配器”是否正在运行,它负责在消息到达时激活服务,然后我重新启动了它。
- 我的
web.config
:
新消息到达队列并且消息保留在队列中时,我的服务没有被激活。那是因为我没有使用应用程序或虚拟目录,还是我遗漏了什么?
c# - 通过 WAS 激活 UDP - 问题
我参考了示例http://msdn.microsoft.com/en-us/library/aa717041(v=vs.110).aspx
编译并执行列出的步骤后,我使用“以管理员身份运行”启动激活器。后来我触发客户端调用,它到达服务器,我在事件查看器中收到以下错误。
尝试读取和实例化配置的 ProcessHandlerType 时出错。
异常:System.ArgumentException
消息:未知协议 ID 'net.udp'。
StackTrace:在 System.Web.Hosting.ProcessHost.StartProcessProtocolListenerChannel(字符串 protocolId,IListenerChannelCallback listenerChannelCallback)
就在此消息之前(我由 udp 激活器开始的最后一步..),事件查看器通过以下消息记录开始
侦听器适配器协议“net.udp”已成功连接到 Windows 进程激活服务。
我已经检查了以下内容。
基于普通 UDP 示例控制台 exe 的 UDP 测试在同一环境中工作正常(因此没有防火墙 ....etc)
我确保默认网站在 Bindings 中有所有协议,并启用了协议“http,net.udp”
环境 (win8EE) 具有直到 v4.5 的框架,但默认应用程序池使用配置的 v4.0
所有项目都是为 4.0 编译的,并且支持的运行时被正确提到为 v4.0(也是 sku)
让我知道我需要检查其他任何内容。
更新:
进一步检查后,错误消息与权限有关(我没有更改应用程序池权限,但在上述过程中配置的身份是当前登录用户,存储在 appHost 配置文件中,当前登录用户也是其中的一部分管理员组)我猜,
消息 1:
服务应用程序池“DefaultAppPool”的工作进程“6300”中协议“net.udp”的侦听器通道报告了侦听器通道故障。数据字段包含错误号。
消息 2:(这是最后一条消息)来源“用户配置文件服务”
Windows 检测到您的注册表文件仍在被其他应用程序或服务使用。现在将卸载该文件。保存您的注册表文件的应用程序或服务之后可能无法正常运行。
详细信息 - 从 \Registry\User\S-1-5-82-3006700770-424185619-1745488364-794895919-4004696415 泄露的 4 个用户注册表句柄:进程 6300 (\Device\HarddiskVolume1\Windows\SysWOW64\inetsrv\w3wp.exe)打开密钥 \REGISTRY\USER\S-1-5-82-3006700770-424185619-1745488364-794895919-4004696415 进程 6300 (\Device\HarddiskVolume1\Windows\SysWOW64\inetsrv\w3wp.exe) 已打开密钥 \REGISTRY\USER\ S-1-5-82-3006700770-424185619-1745488364-794895919-4004696415\Control Panel\International Process 6300 (\Device\HarddiskVolume1\Windows\SysWOW64\inetsrv\w3wp.exe) 已打开密钥 \REGISTRY\USER\S- 1-5-82-3006700770-424185619-1745488364-794895919-4004696415\Software\Microsoft\Windows NT\CurrentVersion 进程 6300 (\Device\HarddiskVolume1\Windows\SysWOW64\inetsrv\w3wp.exe) 已打开密钥 \REGISTRY\USER\S-1-5-82-3006700770-424185619-1745488364-794895919-4004696415\Software\Microsoft.NETFramework
两条消息都指向同一个进程,即 6300。
wcf - WCF 与 Windows 服务:在 MSMQ 中使用节流处理多个队列的推荐方法是什么?
我们有一个需求,需要实现排队,这样我们就可以控制并发而不会使数据库过载。在 Microsoft 世界中,我们选择使用 MSMQ 来存储请求。计划创建 100 个队列(每个客户 1 个)并并行处理队列以实现最大并发。
我们的主要设计目标是一次只允许每个客户/队列一次呼叫,并独立处理每个客户。
我们坚持选择正确的技术来处理队列。那里有两个。
创建一个 .NET windows 服务并使用队列对象事件ReceiveCompleted处理多个队列。在这里,我们可以选择将相同的方法附加到多个队列。需要使用一些同步锁为单个队列添加自定义并发代码。参考文献1
使用 WAS 拥有多个 WCF 服务来处理每个队列(不同队列的相同副本;仅更改队列名称)并实施节流以限制每个服务的并发性。看起来 WCF 服务只能处理一个队列。 参考文献2
你会建议哪一个?有没有更好的办法?请帮助我们!!!