2010-04-05 67 views
0

我在Intranet环境中工作。我们有一个生产和开发共享点服务器(WSS 3)。确定致电网络服务的服务器

我们有一个第三方工作流产品,它在SharePoint上运行。它安装在生产和开发共享点服务器上。工作流程产品可以调用我编写的Web服务器托管的Web服务。

如何让Web服务确定哪个Sharepoint服务器调用了Web服务,无论是生产服务器还是开发服务器?

然后,我会利用这些信息来从web.config文件或数据库等检索服务器的特定信息

目前托管的Web服务的站点设置为允许匿名访问,以便代码,如

System.Web.HttpContext.Current.User.Identity.Name; 

返回一个空字符串。如果使用了Windows身份验证,它将返回当前登录用户的身份,这对识别从其进行呼叫的服务器没有用处。

我需要一个正确的方向来解决我认为可能是一个常见的情况请。

回答

0

尝试System.Web.HttpContext.Current.Request.UserHostName

+0

好极了!这就是诀窍。然后我可以使用 System.Net.Dns.GetHostEntry(主机名) 将返回的IP转换为主机名。 注意:需要在承载Web服务的站点上关闭匿名访问才能使代码生效。 – SleepyBoBos 2010-04-06 00:48:08