我有一个自托管的应用程序使用基本的超文本传输协议绑定,没有安全套接层,运行在.NET框架4.0的控制台应用程序。
我在一个方法上有一个WebGet属性,它返回一个人类可读的字符串作为“冒烟测试”。
如果我有一个ASP.NET webforms页面,我会使用Request.UrlReferrer或ServerVariables("HTTP_REFERER")来查看客户端是否自愿提供他们的重定向信息。
我如何用WCF做到这一点呢?
谢谢。
发布于 2012-03-31 22:39:07
如果您使用的是BasicHttpBinding,WebGet属性可能会被忽略(它用于使用webHttpBinding和WebHttpBehavior的端点)。
如果您使用的是"web“端点(WebHttpBinding / WebHttpBehavior),则可以使用WebOperationContext.Current.IncomingRequest.Headers[HttpRequestHeader.Referer]。如果没有对System.ServiceModel.Web.dll的引用,也可以使用OperationContext中的HttpRequestMessageProperty
HttpRequestMessageProperty prop;
prop = (HttpRequestMessageProperty)OperationContext.Current.IncomingMessageProperties[HttpRequestMessageProperty.Name];
var referer = prop.Headers[HttpRequestHeader.Referer]https://stackoverflow.com/questions/9952714
复制相似问题