问题标签 [inproc]
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.
asp.net - ASP.NET 会话状态超时
我在 IIS7 上使用 ASP.NET 网站,在 web.config 中我有:
但是会话不会保持 20 分钟,它的工作方式很奇怪,有时它会在 1 分钟或更短的时间内过期,有时只是重定向到其他页面。我需要使用 mode="InProc"。
谁能帮助我,出了什么问题以及如何解决这个问题?谢谢!
boost - 如何与 out-proc *.exe COM 服务器的 beetwen 部分进行通信?
我们有 *.exe 应用程序,它也是进程外 COM 服务器。
主线程正在执行一些网络例程:它接收数据包并将它们放入队列。
COM 客户端,例如 VBA,使用 COM 服务器,也想使用队列。尽管它们在同一个地址空间中,但问题是:
我们如何为 COM 客户端提供一个机会,让他们可以与 exe 进程同时使用队列。
有一个使用共享内存的想法,但没有成功
升级版:
我尝试使用 boost::interprocess。由于相同的地址空间,我只想共享对象指针。
exe部分:
COM部分:
COM客户端(VBA)告诉
对象“IMyCOMServer”的方法“ADD”失败
UPD2:
我刚刚用 try{}catch{} 包围了 Com 部分,发现异常消息“找不到文件”
python - 如何使用 Zeromq 的 inproc 和 ipc 传输?
我是 ZERMQ 的新手。ZeroMQ 有 TCP、INPROC 和 IPC 传输。我正在寻找在 Winx64 和 python 2.7 中使用 python 和 inproc 的示例,它们也可用于 linux。
另外,我一直在寻找 UDP 传输方法,但找不到示例。
我发现的唯一例子是
我正在考虑的用例是:UDP 之类的信息分发。使用 TCP 测试 Push/Pull 更快,或者 inproc 更快。
这是测试示例>.......
服务器:
客户:
错误消息:
asp.net - 对于 asp.net 中的会话状态模式,InProc 或 SQL Server 哪个更好?
我正在开发一个 ASP.NET 网站。我想知道在会话状态模式下哪个更好:InProc 还是 SQL Server?我需要听听你在这个问题上的经验。
另一个问题是关于 cookieless 属性。如果我将其设置为 true,我的网站是否存在安全漏洞?在我在 MSDN 站点中看到的所有示例中,此属性都设置为 false。
最后一个问题是关于 Timeout 属性的。当我将其设置为 InProc 模式时,此属性是否会影响我的会话生命周期?
.net - MVC3 .NET Session 随机丢失会话值并返回为 null
我的 In-Proc 会话状态存在生产问题。
我们的应用程序基于 MVC 3 .NET 框架,并集成到我们运行 Sitecore CMS 的站点中。
我们的用户在整个应用程序流程中随机遇到“对象引用未设置为对象的实例”。
经过大量的日志记录和跟踪,我们可以得出结论,这是由于会话对象返回 null 引起的。
以下是关于我们发现的和我们所知道的一些细节。
- 会话 ID 对于同一个用户是持久的,并一直正确地传递到应用程序中。
- 我不相信这是一个代码问题,因为这只会随机发生在生产环境中,绝不会发生在本地、开发或临时环境中。
- 有两个生产服务器通过负载均衡器运行。
- 不是服务器持久性问题,因为我们通过休眠其中一台服务器并将所有流量路由到一台服务器进行了测试。同样通过日志记录,我们可以确定用户正在访问同一台服务器,但会话已变为空。
- 这似乎也不是客户端问题,因为即使他们之前遇到过错误,他们也能够成功通过应用程序。
- 这似乎不是流量负载或服务器负载问题,因为它在一天中随机发生,并且在此期间发生在随机用户身上。
- 这似乎不是由回收应用程序池引起的。
- 这似乎不是由会话超时引起的,因为我们已将超时设置为两小时,并且在我们跟踪日志时,用户可能会在 5-10 分钟内体验到流程。
旁注:由于我们的 Sitecore CMS,我们必须使用 In-Proc 会话状态。所以改变设计不是一种选择。
我有一个理论,它可能与会话锁定或因并发访问尝试而损坏有关。
我们从我们的应用程序中看到这个问题发生的几个地方是当用户被 javascript (windows.location) 重定向时。
在进行异步 ajax 调用的区域。
我们对此一直摸不着头脑,我想知道是否有人对问题可能有任何见解或理论?
谢谢
补充说明:
@Mystere && @H27Studio,所以我还发现了一些与 sessionID 或会话重置问题有关的东西。在某些情况下,我们发现在页面重定向上它会触发对该方法的两次重复的GETS调用,第一次调用缺少sessionID并随机重定向到其中一个服务器(这是因为来自负载均衡器的服务器持久会话是基于客户端 IP、sessionID 和其他标头信息来创建唯一会话以将客户端保持在一台服务器上)。当我们的重定向页面使用 window.location 时,每次在流程中都会发生这种情况。
如果错误的、没有 sessionID 调用命中同一服务器,这将导致客户端出现“未设置对象引用..”问题。(这可能是因为第一个没有 sessionID 的错误调用导致应用程序创建一个覆盖原始会话对象的新会话)所以即使在第二次调用正确的 sessionID 传递给应用程序时,我们也会发现会话对象包含 null .
因此,我认为清除会话对象的重复调用存在问题,不确定原因或导致该对象开始的原因。
有人对此有任何线索吗?谢谢
更新: 我们计划采取这些步骤来解决这个问题。
- 我们在进行 Async Ajax 调用的区域存在问题,因此我们计划删除 Async 功能并让它与 Ajax 同步运行。
- 我们遇到了发生 Windows.location javascript 重定向的问题。我们创建了一种使用回发的替代方法,希望能解决该领域的问题。
- 与上述问题之一无关的其他领域仍悬而未决。
一旦我们将其部署到生产中,将发布更改的效果。
感谢所有的评论。
asp.net - asp.net 中的会话计时器
我有一个 asp.net Web 应用程序,其中 sessionstate 模式是“InProc”。对于 Inproc,默认情况下会话到期时间为 20 分钟。我想在会话到期前一分钟显示会话到期倒计时弹出窗口。但我找不到一个属性,说明有多少 mimutes 已经过去了。如何知道是否是第 19 分钟。现在我正在做如下:
asp.net - 强制 InProc 的可序列化会话状态访问?
我过去曾听过建议在项目早期使用 SqlServer / StateServer,因此当您进行扩展时,您不会陷入使用不可序列化对象 InProc 的开发人员的陷阱,并且在稍后移动到 SqlServer / StateServer 时它会中断。
目前我们不需要使用 SqlServer 会话状态的 InProc,因为我们刚刚启动,但我们可能需要合理快速地扩展。
在使用 InProc 时,是否有人对强制可序列化对象有任何建议?也许创建一个包装器?
asp.net - 我们如何将网站的会话状态从一种状态更改为另一种状态
基本上我的问题是我有一个大约在 3 年前开发的网站,而开发时建议该网站将被互联网上的少数人使用。
但现在似乎很多用户都在访问该网站。因此,我们计划创建一个 Web 服务器农场,我们的网站有多个服务器。
开发中的主要问题是旧网站使用InProc
了会话状态,现在由于我们要升级到多个服务器,我们想要更改InProc
为Outproc
即 StateServer 会话状态。
您能否指导我进行此升级,以及如何以简单易行的方式实现它,而不是在使用会话的地方更改每个页面上的编码。
com - 当指定 CLSCTX_LOCAL_SERVER 并使用代理进程时,CoCreateInstance 失败并显示 E_FAIL
我正在尝试使用代理进程 dllhost 在单独的 64 位 dllhost 进程中运行我的 COM 64 位 dll。我已经为此创建了所需的注册表项。
当我尝试使用 CoCreateInstance 或 CoGetClassObject 和 CreateInstance 创建我的类的对象时,我收到 E_FAIL 错误。如果我指定 CLSCTX_LOCAL_SERVER 标志,则会观察到错误。此调用适用于 CLSCTX_INPROC_SERVER 标志,但当然不在单独的进程 dllhost 中。
在使用 CLSCTX_LOCAL_SERVER 时,我可以在任务栏中看到 dllhost.exe;这表明代理相关的注册表项是正确的,但是对 CoCreateInstance/CreateInstance 的调用失败并出现错误 E_FAIL。
这是代码片段:-
session-state - 具有单个 Web 服务器的 InProc 与 AppFabric 会话状态
我有一个 ASP.Net MVC 应用程序,它大量使用会话来保存状态(包括大型数据集合)。目前,它托管在单个 Web 服务器上。会话设置为默认的 InProc。
出现一个问题,即当许多用户在线时,某些用户的应用程序冻结。我猜这是因为 InProc 会话不能很好地扩展,并且进程可用的内存只有这么多。(如果内存需求超过可用内存会发生什么——它会换出到磁盘吗?)
我想到了几个有助于可扩展性的解决方案。(a) Sql server 会话状态;(b) 配置会话状态以使用 AppFabric 缓存。第一个选项看起来是一个不错的解决方案,只是它会影响性能并要求存储的项目是可序列化的。
在单个 Web 服务器也用作缓存主机的环境中配置会话状态以使用 AppFabric 缓存(又名 Velocity)怎么样?这与单服务器环境中的 InProc 有何不同?这会比 InProc 提供更多的可扩展性和可用内存,还是本质上会受到相同的限制?