Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Biztalk 刷新缓存而不重新启动主机实例_Biztalk_Biztalk Orchestrations_Biztalk Deployment - Fatal编程技术网

Biztalk 刷新缓存而不重新启动主机实例

Biztalk 刷新缓存而不重新启动主机实例,biztalk,biztalk-orchestrations,biztalk-deployment,Biztalk,Biztalk Orchestrations,Biztalk Deployment,我们在所有biztalk应用程序中都使用进程内.net内存缓存,现在,如果突然需要使缓存无效,我们唯一的选择就是重新启动主机实例 是否有其他选项可以在不重新启动主机实例的情况下使inproc.net缓存无效 默认情况下,主机配置刷新间隔为60秒。因此,您可以等待60秒以自动刷新缓存,也可以重新启动主机实例 我认为没有其他选择。我假设您已经在使用缓存到期时间。如果没有,就用这个。即使缓存过期,它也只会在一段固定时间后过期。如果您经常需要立即刷新缓存,则不使用缓存或查看SqlDependency.n

我们在所有biztalk应用程序中都使用进程内.net内存缓存,现在,如果突然需要使缓存无效,我们唯一的选择就是重新启动主机实例


是否有其他选项可以在不重新启动主机实例的情况下使inproc.net缓存无效

默认情况下,主机配置刷新间隔为60秒。因此,您可以等待60秒以自动刷新缓存,也可以重新启动主机实例

我认为没有其他选择。我假设您已经在使用缓存到期时间。如果没有,就用这个。即使缓存过期,它也只会在一段固定时间后过期。如果您经常需要立即刷新缓存,则不使用缓存或查看SqlDependency.net类以在数据更改时在yr应用程序中接收事件。您可以在msdn上查找SqlDependency详细信息,您使用的是哪种缓存,失效原因是什么?我的意思是,您如何知道(或者应用程序如何知道)何时该使缓存失效


现在,您似乎在手动执行此操作,在这种情况下,我可以认为您的应用程序中有一个端点,该端点由添加缓存失效代码的同一主机实例处理。

当然可以,但它必须是您自己实现的。记住,你可以编写任何你想要的程序


假设您使用的是静态类,它可以实现一个注册表监视程序(例如:)来接收通知。然后有一个设置标志的小工具。设置标志后,缓存将刷新。

我实际上也做了同样的事情。只需从承载缓存的任何应用程序中公开WCF终结点,并编写一个更新缓存中对象的方法-不确定用例是什么,但要注意并发性和锁,除非您将对象的副本返回到使用缓存的biztalk应用程序,否则就可以了

然后编写一个webform或其他东西,通过WCF调用该方法。我的缓存位于BT应用层,因此我可以使用namedpipes实现最高吞吐量,但要为您的用例做一些研究