NServiceBus - 类型未在序列化程序中注册 - 修复?

Bra*_*don 4 .net c# deployment nservicebus application-pool

我们在Web应用程序中使用NServiceBus,每次将代码部署到生产环境时,我们都必须删除文件夹中的Temporary Files:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files
Run Code Online (Sandbox Code Playgroud)

我们按照此处的说明解决此问题:

http://www.nservicebus.com/faq/TypeNotRegisteredInSerializer.aspx
Run Code Online (Sandbox Code Playgroud)

我想知道是否有一个更永久的解决方案吗?每次部署新代码时,我都觉得我正在与此作斗争.从代码处理此问题的最佳方法是什么?如果这不起作用,最好是每次部署新代码时停止应用程序池,删除文件并重新启动应用程序池吗?

谢谢你的建议.

小智 8

而不是使用Configure.WithWeb(),而是尝试:

Configure.With(HttpRuntime.BinDirectory)
Run Code Online (Sandbox Code Playgroud)

这样,它将搜索已部署的Web应用程序中的实际bin文件夹,而不是临时文件夹.这也是nservicebus 3.0中的默认行为.