小编Max*_*xim的帖子

使用邮件安全性的WCF路由

我有一个带有Message Security 身份验证的WCF服务.

我想为负载平衡设置路由服务.

由于某种原因,它不起作用,我已启用includeExceptionDetailInFaults来查看异常,所以在客户端我看到:

未提供客户端证书.在ClientCredentials中指定客户端证书.

似乎证书不是从router-> service转发的.

目前客户端/路由器/服务在同一台机器上,所以我拥有所有证书,但是如果我将它们部署在不同的机器上,那么路由器必须拥有私钥吗?

另外,如果我想在路由器和服务之间建立非安全连接(卸载安全性),我该如何提供调用者的身份?

编辑:对于所有客户端/路由器(服务器和客户端)/服务器,安全性配置相同:

            <security mode="Message">
                <message clientCredentialType="Certificate" negotiateServiceCredential="false"
                    algorithmSuite="Default" establishSecurityContext="false" />
            </security>
Run Code Online (Sandbox Code Playgroud)

wcf wcf-routing wcf-security

16
推荐指数
1
解决办法
1298
查看次数

Assert.AreEqual(object,object)方法

如何在Assert.AreEqual(object, object)(命名空间中的方法Microsoft.VisualStudio.TestTools.UnitTesting)确定参数是否相同?它是否使用该Object.Equals(object, object)方法(在System命名空间中)?

.net c# unit-testing assert mstest

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

wcf PerSession服务中使用ThreadContext.Properties的log4net

我想在wcf服务中使用以下命令在日志消息中记录用户:

log4net.ThreadContext.Properties["user"] = this.currentUser.LoginName;
Run Code Online (Sandbox Code Playgroud)

我已设置要在中运行的服务InstanceContextMode.PerSession。在对wcf服务的初始调用中,我将此ThreadContext属性设置为已登录的当前用户,但随后的每次调用都不会记录此属性。

我非常确定,即使将其设置为use,对于服务的每次调用也会在不同的线程上运行任务PerSession。我假设它正在使用线程池来处理请求。

有没有一种方法可以设置这个,这样我就不必在每个wcf方法中都这样做?

wcf log4net

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

从其他异常的StackTrace获取BadImageFormatException

在我的服务器中,我得到了一个异常,我抓住它似乎没问题.

问题是,当我写它的StackTrace时,我得到了BadImageFormatException.

我试过调试服务器.捕获异常时停在断点上,我可以看到它的所有字段,但是在StackTrace中我看到了BadImageFormatException.

有什么想法导致这个问题?

我的服务器细节 -

它是用.NET FW 4用C#编写的.
我也使用用托管C++编写的FrameWork.
我将我的服务器编译为x86平台.并在x64机器上运行服务器.

完整的BadImageFormatException -

System.BadImageFormatException:方法的参数和签名不匹配.在System.Reflection.RuntimeParameterInfo.GetParameters(IRuntimeMethodInfo methodHandle,的MemberInfo构件,签名Sig,的ParameterInfo&returnParameter,布尔fetchReturnParameter)在System.Reflection.RuntimeMethodInfo.GetParameters在System.Reflection.RuntimeMethodInfo.FetchNonReturnParameters()()在System.Diagnostics.StackTrace System.Environment.GetStackTrace(Exception e,Boolean needFileInfo)中的System.Environment.GetStackTrace(例外,布局needFileInfo)处的System.Exception.TetTrace(Boolean needFileInfo)处的System.Exception.ToString(布局needFileLineInfo)处的System.Exception.ToString()处于log4net处的.ToString(TraceFormat traceFormat). log4net.ObjectRenderer.RendererMap.FindAndRender(Object obj,TextWriter writer)中的ObjectRenderer.DefaultRenderer.RenderObject(RendererMap rendererMap,Object obj,TextWriter writer)

c# x86 stack-trace badimageformatexception

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