2010-07-07 53 views

回答

1
+0

是通过TCP获取原始调用者的唯一方法是什么?我想使用HTTP – 2010-07-07 19:09:54

0

共享会话是一个选项吗?

WCF提供了一个属性(AspNetCompatibilityRequirements)(大概等)使会话状态ASP.net兼容。这反过来又允许您使用可以在应用程序之间共享的进程外会话状态管理。

可以使用

[AspNetCompatibilityRequirements(RequirementsMode=AspNetCompatibilityRequirementsMode.Allowed] 

,然后在配置

<system.serviceModel> 
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/> 
    ... 
</system.serviceModel> 

如果你走在SQL Server路由实现这一目标,我写了this而回。它是在asp.net和asmx服务之间共享的,但在SQL Server端,我想事情是一样的。基本上你需要让SQL Server将系统的两个部分都识别为同一个应用程序。

WCF还使用与ASP.net相同的成员资格提供程序,因此您可能能够以某种方式获得某些内容。

+0

这确实不是一个选项,至少不是现在......我一定会记住这一点,虽然未来。 – 2010-07-07 13:56:28

+0

我是否正确地认为“WCF无法看到谁连接到Web应用程序”意味着它无法访问您目前用于身份验证的任何支持? – AlexCuse 2010-07-07 14:10:01

+0

嗯,这意味着它会将运行该Web应用程序的帐户视为经过身份验证的帐户,而不是访问该Web应用程序的原始用户。 – 2010-07-07 19:10:26

0

如果您使用的是Windows身份验证,则可以使用一个选项将委托身份从Web应用传递给WCF服务。

+0

如何?我一直无法得到这个工作。 – 2010-07-07 13:59:26

+0

此链接到MSDN有一些非常好的信息,您应该可以使用:http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/16d5406f-ebd7-41d2-a323-3530703497cd – ChrisNel52 2010-07-07 14:14:26

相关问题