在每个wcf调用上传递参数

在每个wcf调用上传递参数,wcf,structuremap,Wcf,Structuremap,我有这个问题。 我已将structuremap与wcf集成,如下所述: 问题是,我有一些类,它们具有构造函数参数,如userId和applicationId,我必须传递这些参数,以便structuremap能够创建它们 如何做到这一点? 如何在每次wcf调用中传递这些参数?创建实例提供程序时,在调用GetInstance期间从消息中获取这些参数: public object GetInstance(InstanceContext instanceContext, Message message

我有这个问题。 我已将structuremap与wcf集成,如下所述:

问题是,我有一些类,它们具有构造函数参数,如userId和applicationId,我必须传递这些参数,以便structuremap能够创建它们

如何做到这一点?
如何在每次wcf调用中传递这些参数?

创建实例提供程序时,在调用GetInstance期间从消息中获取这些参数:

public object GetInstance(InstanceContext instanceContext, Message message)
{
   YourDataContract data = message.GetBody<YourDataContract()>;
   string userID = data.userID;
   string applicationID = data.appID;

   //now go ahead and use structuremap....
}
公共对象GetInstance(InstanceContext InstanceContext,消息) { YourDataContract data=message.GetBody; 字符串userID=data.userID; 字符串applicationID=data.appID; //现在继续使用structuremap。。。。 }
这假设您的消息正文是一个已定义的数据协定类型(在我的示例中,它是一个名为“YourDataContract”的类型)。

创建实例提供程序时,在调用GetInstance时从消息中获取这些参数:

public object GetInstance(InstanceContext instanceContext, Message message)
{
   YourDataContract data = message.GetBody<YourDataContract()>;
   string userID = data.userID;
   string applicationID = data.appID;

   //now go ahead and use structuremap....
}
公共对象GetInstance(InstanceContext InstanceContext,消息) { YourDataContract data=message.GetBody; 字符串userID=data.userID; 字符串applicationID=data.appID; //现在继续使用structuremap。。。。 }
这假设您的消息体是一个已定义的数据契约类型(在我的示例中,它是一个名为“YourDataContract”的类型)。

Good!我在Global.asax中进行structuremap初始化,在这里初始化sm寄存器。GetInstance中的内容是:返回ObjectFactory.GetInstance(\u serviceType);所以我的问题是:1。我的服务依赖于需要上述参数的命令类,但sm的配置没有在GetInstance中完成。如何配置此场景?2.我想,为了将上述参数插入消息体,我必须在客户端创建MessageInspector。这是真的吗?谢谢!我在Global.asax中进行structuremap初始化,在这里初始化sm寄存器。GetInstance中的内容是:返回ObjectFactory.GetInstance(\u serviceType);所以我的问题是:1。我的服务依赖于需要上述参数的命令类,但sm的配置没有在GetInstance中完成。如何配置此场景?2.我想,为了将上述参数插入消息体,我必须在客户端创建MessageInspector。这是真的吗?谢谢