首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >webservices的HTTPContext

webservices的HTTPContext
EN

Stack Overflow用户
提问于 2010-11-23 06:25:59
回答 4查看 5.8K关注 0票数 4

HttpContext.Current.Request.ServerVariables"SERVER_PORT“HttpContext.Current.Request.ServerVariables"SERVER_PORT_SECURE”HttpContext.Current.Request.ServerVariables"SERVER_NAME“HttpContext.Current.Request.ApplicationPath

我想通过webservice -C#访问这些值,每当我在webservice中调用这些值时,上面的所有内容都会得到null,而上面的方法适用于网页(aspx)。

EN

回答 4

Stack Overflow用户

发布于 2010-11-23 07:04:20

正如其他人所提到的,您需要启用ASP.NET兼容性。如果你不想通过如下属性限制你的代码,你也可以通过配置来启用它:

代码语言:javascript
复制
<system.serviceModel>        
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
</system.serviceModel>

Here's a great resource帮助我解释了通过启用兼容模式实现的基本功能和权衡。

票数 3
EN

Stack Overflow用户

发布于 2010-11-23 06:45:11

您使用的是哪种web服务?asmx还是wcf?它们应该可以很好地与asmx服务一起工作,但如果您使用的是WCF,则需要向该方法添加以下属性:

代码语言:javascript
复制
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
票数 2
EN

Stack Overflow用户

发布于 2010-11-23 06:54:08

如果是WCF web服务,您可以执行以下操作:

代码语言:javascript
复制
[AspNetCompatibilityRequirementsAttribute(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
public class FooBar : IFooBar
{
   public void DoSomething()
   {
       HttpContext context = HttpContext.Current;
       if (context != null)
       {
             // Should get here now
       }
   }

}

关键是添加[AspNetCompatibilityRequirementsAttribute(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4250831

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档