我有一个带有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) 如何在Assert.AreEqual(object, object)
(命名空间中的方法Microsoft.VisualStudio.TestTools.UnitTesting
)确定参数是否相同?它是否使用该Object.Equals(object, object)
方法(在System
命名空间中)?
我想在wcf服务中使用以下命令在日志消息中记录用户:
log4net.ThreadContext.Properties["user"] = this.currentUser.LoginName;
Run Code Online (Sandbox Code Playgroud)
我已设置要在中运行的服务InstanceContextMode.PerSession
。在对wcf服务的初始调用中,我将此ThreadContext
属性设置为已登录的当前用户,但随后的每次调用都不会记录此属性。
我非常确定,即使将其设置为use,对于服务的每次调用也会在不同的线程上运行任务PerSession
。我假设它正在使用线程池来处理请求。
在我的服务器中,我得到了一个异常,我抓住它似乎没问题.
问题是,当我写它的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# ×2
wcf ×2
.net ×1
assert ×1
log4net ×1
mstest ×1
stack-trace ×1
unit-testing ×1
wcf-routing ×1
wcf-security ×1
x86 ×1