小编use*_*754的帖子

Powershell配置程序集重定向

我有一个自定义.NET程序集与一些PowerShell cmdlet比我用于常见的域相关任务.我刚刚创建了一个新的cmdlet,它引用了第三方库,该库引用了Newtonsoft.Json 4.5.0.0.但是我的其他项目之一使用最新版本的json.net(6.0.0.0).所以在PowerShell Fusion的运行时抛出一个错误,说它无法加载newtonsoft.json 4.5.0.0.

我已经尝试创建一个powershell.exe.config并在其中放置一个程序集重定向:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Newtonsoft.Json", Culture=neutral,     PublicKeyToken=30ad4fe6b2a6aeed/>
        <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用.融合日志确实表明它正在查找这个新的配置文件中的powershell,但它似乎没有拿起重定向.

有点难以解决这里的解决方案.任何线索可能是什么问题?同样的重定向在我的一些商业服务中起作用,否则会出现同样的问题(他们也使用第三方库和json.net 6).

干杯

.net powershell assembly-resolution

15
推荐指数
1
解决办法
3396
查看次数

Ninject WCF引导程序注册多个服务

我遇到一个问题,让wcf扩展可以与多个自主主机引导程序一起使用.有一个我的服务是由ninject精细创建的(每次调用),但是当我添加另一个时,我得到一个异常,即ChannelDispatcher无法打开它的IChannelListener,内部异常表明注册已经为URI'net.tcp:/ /本地主机:901 /为MyService".

我的注册码如下:

var myService= NinjectWcfConfiguration.Create<MyService, NinjectServiceSelfHostFactory>();
_myServiceHost= new NinjectSelfHostBootstrapper(() => _kernel, myService);

var myService2= NinjectWcfConfiguration.Create<MyService2, NinjectServiceSelfHostFactory>();
_myService2Host= new NinjectSelfHostBootstrapper(() => _kernel, myService2);

_myServiceHost.Start();
_myService2Host.Start();
Run Code Online (Sandbox Code Playgroud)

两个服务在配置文件中都有正确的部分,并且它们都具有不同的端点URI和不同的端口.如果我手动连接所有这些配置,相同的配置工作正常.

有没有人在这里有线索?有点难过......

干杯

c# wcf ninject

7
推荐指数
1
解决办法
725
查看次数

活动采购链式活动

我正在使用事件采购实现有界的上下文,但遇到了一个问题.假设我正在为足球比赛建模,我对得分的个人进球(得分等)以及总得分感兴趣.因此,如果我有匹配聚合根,我理想情况下需要引发名为GoalScored和ScoreChanged的事件.我想要从域中明确说明得分的原因是我不希望有很多不同的侦听器和可能的其他有界上下文都计算相同的东西.

这看起来很简单,但是:Match对象有一个Goal()方法,可以添加一个新目标.根据事件源的精神,这并不会直接改变Match状态,而是引发一个在Match中处理的GoalScored事件,然后该状态会改变状态(以及被推送到非规范化器的事件).因此,在提高ScoreChanged方面,在处理GoalScored事件之前,分数实际上并未发生变化,因此我是否应该响应该事件(ScoreChanged)引发另一个事件,从而有效地链接事件?我不这么认为,一旦从事件存储器重新加载聚合根,就会在每次响应每个GoalScored时创建许多额外事件.

我还考虑了在命令处理程序中得出什么得分,它会引发GoalScored,类似于"假设"的情况.然后我可以在命令处理程序中引发两个事件.我真的宁愿不这样做 - 它似乎并不合适.计算得分足够简单,但其他游戏(例如板球)需要更多的工作.

我可以将目标和得分都放在GoalScored活动中,这是公平的,但同样看起来并不正确 - 得分与GoalScored活动本身无关.

讨论事件采购时使用的所有示例似乎都使用电子商务客户/订单域,我从未见过类似的情况.

有没有人有处理这种情况的经验?

谢谢

domain-driven-design event-sourcing

5
推荐指数
1
解决办法
1367
查看次数