首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >网站服务SoapDocumentMethod OneWay问题

网站服务SoapDocumentMethod OneWay问题
EN

Stack Overflow用户
提问于 2009-04-30 16:49:40
回答 2查看 1.9K关注 0票数 0

首先,我要说这不是我编造的。我在asmx文件中实现了一个web方法,如下所示:

代码语言:javascript
复制
[WebMethod]
[SoapDocumentMethod(OneWay=true)]
public void Method1(INPUT oInput)
{
   // Call SQL stored procedure SP1
   // Call SQL stored procedure SP2
}

使用SQL Server事件探查器时,我看到调用了存储的SP1,但SP2没有。如果我设置了OneWay=false,SP1和SP2都会被调用。

奇怪的是。我离开了OneWay=true,但我在web配置文件中设置了<trace enabled="true">,SP1和SP2都会被调用。不,真的!

在我将其解析到最小值后,我会尝试发布更多的示例代码。同时,有没有人知道ASP.NET 3.5 SP1中的一个bug可能导致了这个问题?

查尔斯

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-04-30 20:01:22

我找到了我自己的答案。在SP1和SP2之间有一些访问Context.Current.Request对象的代码。把它注释掉就解决了我的问题。

结论?如果为OneWay=true,则请求对象似乎不可用。奇怪的是,设置<trace enabled="true">会使对象可用。

来自OneWay property的文档

没有使用静态Current属性访问HttpContext的权限。若要访问HttpContext,请从WebService派生实现XML服务方法的类,并访问Context属性。

票数 1
EN

Stack Overflow用户

发布于 2009-04-30 16:56:12

根据this article的说法,当使用OneWay=true时,来自web.config的模拟上下文将消失。是否可能两个SP上的安全性略有不同?

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

https://stackoverflow.com/questions/807950

复制
相关文章

相似问题

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