我们使用 MSMQ 将服务中的记录插入到多个位置的 SQL Server 表中。我想从 SQL Server 插入到这个 MSMQ 队列中——这样,我不必想出自己的方法来向每个服务器添加消息,我可以捎带现有的基础设施和代码。
看起来最好的方法是使用 CLR。
但是,我发现从 CLR 创建 MSMQ 消息的所有代码都需要 UNSAFE 模式。有没有办法在 EXTERNAL_ACCESS 模式下做到这一点?
我们使用 MSMQ 将服务中的记录插入到多个位置的 SQL Server 表中。我想从 SQL Server 插入到这个 MSMQ 队列中——这样,我不必想出自己的方法来向每个服务器添加消息,我可以捎带现有的基础设施和代码。
看起来最好的方法是使用 CLR。
但是,我发现从 CLR 创建 MSMQ 消息的所有代码都需要 UNSAFE 模式。有没有办法在 EXTERNAL_ACCESS 模式下做到这一点?
这很可能是因为 System.Messaging 不是 CLR 支持的库。由于它不是受支持的库,因此不符合 SAFE 或 EXTERNAL_ACCESS 的要求。
在此处阅读更多信息:http: //msdn.microsoft.com/en-us/library/ms403279.aspx