问题标签 [asmx]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
30696 浏览

.net - ASMX 用户名和密码安全

我有一个我正在尝试运行的基本 ASMX 服务(我宁愿使用 WCF,但无法让服务器使用它)。它在没有安全设置的情况下运行良好,但是一旦我打开安全性,我就会得到:

HTTP 请求未经客户端身份验证方案“匿名”授权。从服务器收到的身份验证标头是“基本领域=“安全区域”。

我想要的是一个简约的询问用户名称和密码类型的解决方案。

用智能感知浏览代码并没有找到我需要的任何东西。

看起来可能很有用,但它似乎是 WCF,所以谁知道。


我刚刚意识到我可以把它变成一个现场演示:

这里是服务:http ://smplsite.com/sandbox3/Service1.asmx

用户名是testapp,密码是testpw。我需要一个命令行应用程序来调用该服务上的函数。

在我添加安全性之前,这条线在Add Web Service Reference该 URL 上运行后在一个基本的 VS 项目中工作

这是我目前的尝试(不起作用)


编辑:顺便说一句,这不是网站或在浏览器中运行,访问代码是C# 命令行应用程序。此外,身份验证是由我无法控制的另一个 IIS 插件完成的。

编辑2:要清楚;我正在寻找的解决方案是纯粹的客户端问题。

编辑 3:访问​​控制是通过一种.haccess系统进行的,我喜欢这种方式。我不希望服务代码进行任何身份验证。

0 投票
1 回答
1751 浏览

c# - 如何使用 MS Office Access 2007 进行 SOAP(ASMX) 调用?

我有一组公开的 .ASMX API 调用,并且有一个希望使用 MS Office Access 2007 调用它们的客户端。我以前从未使用过 Access,需要知道如何连接到我的服务。实现这一目标的最佳方法是什么?

0 投票
5 回答
4550 浏览

asp.net - 隐藏asp.net WebMethod返回的异常的堆栈跟踪?

我在我的 aspx 页面中使用带有属性 [WebMethod] 的方法。我不使用任何 asp.net ajax,而是使用 jQuery 来调用这些方法并以 JSON 格式返回对象。这一切都很好。

接下来,我在 webMethod 中添加了一个授权检查,如果当前用户无权访问我需要让调用 JavaScript 知道的功能。

所以我抛出了一个 AccessViolationException 异常,然后可以由 JavaScript 中的 OnError 回调函数解析。这也有效,但例外包括完整的 StackTrace,我不想将其提供给调用客户端。

当 WebMethod 返回业务对象时,我可以使用哪些其他方式向客户端返回“拒绝访问”?

我正在使用 ASP.Net 3.5SP1 和 jQuery 1.32

0 投票
3 回答
1700 浏览

c# - Visual Studio 选项有什么区别:ASP.NET Web 服务和 WCF 服务

我看到有两个我知道可以在 Web 服务中使用的选项......显然是 WCF 和 ASP.NET Web 服务。有什么不同?我最近才开始接触 WCF,过去也接触过一些 Web 服务,但我肯定不是专家。

0 投票
2 回答
182 浏览

asp.net - 什么时候在 ASMX 中实例化 SoapHeader 字段?

考虑以下:

0 投票
1 回答
981 浏览

web-services - 模拟在工作站 A 和 B 上使用相同的凭据授权失败

案例 1. 当我从我自己的 PC 上浏览一个名为 JOHNXP 的小测试站点(例如http://localhost/WebClient)时,我的 .aspx 页面调用我的 ASMX 网络服务获取我的凭据并将它们传递给另一台机器上的另一个网络服务( SERVERTRIM)在同一域中。我可以看到我的请求导致 SERVERTRIM 机器上的安全日志条目带有我的凭据。

案例 2。我移动到同一域中的另一台 PC,并使用我在个人桌面上使用的相同凭据登录。当我浏览上面的同一个测试站点时(这次是http://johnxp/WebClient),我得到这个渗透回我的 .aspx 页面:

System.Web.Services.Protocols.SoapException:服务器无法处理请求。---> System.Net.WebException:请求失败,HTTP 状态 401:未授权

查看 SERVERTRIM 上的安全日志,我注意到案例 2 中的访问导致匿名登录,这似乎可以解释 401/未授权。

当我的 WS 在不同的服务器上调用供应商的 web 服务时,我试图让我的 web 服务使用登录的 DOMAIN 用户的凭据。

我的 ASMX 网络服务在我的桌面上运行(IIS 5.1 WinXP Pro - 机器名称是 JOHNXP)。我在涉及的每个服务器中都启用了匿名 UNCHECKED,并且在我的场景中涉及的每个 web.config 中都有这个:

供应商 Web 服务在 SERVERTRIM(Win 2003 服务器)上运行,它也是 ASMX 并使用 WSE 3.0。

Wireshark 和 Netmon 现在对于我来说看起来太强大了。我认为“远程”服务器(SERVERTRIM)上不同的结果登录是足够的“证据”。上面的所有机器都在同一个域中,但如果可能的话,我想将“远程”webservice 保留在 SERVERTRIM 上,并将我的中间 webservice 保留在同一域中的不同服务器上。这种情况是否要求我必须深入研究“委托”?当在域中的另一台机器上发起 Web 请求时,监视为什么相同的凭据会导致匿名登录的最简单工具是什么?

0 投票
3 回答
1725 浏览

web-services - 如何检测 ASP.NET 请求使用的 Web 服务协议?

我有一个 ASP.NET (1.1) Web 服务,它使用 SoapExtension.ProcessMessage(SoapMessage) 覆盖对客户端进行身份验证,如下所述:

http://www.codeguru.com/columns/experts/article.php/c5479

但是,如果 web.config 没有设置为 HttpSoap 是唯一允许的协议,那么 ProcessMessage 将永远不会被其他协议上的请求调用,因此会绕过安全性。

无论如何以编程方式确保正在使用 SOAP(而不是依赖 web.config 是正确的)?

谢谢。

0 投票
2 回答
4408 浏览

windows - 如何判断我的 Web 服务在 Visual Studio 2005 中运行的帐户

我有点疯了,试图理解关于模拟和委托的文档,问题是我的网络服务在哪个帐户下运行。

我在名为 JOHNXP 的开发工作站上登录为 myDomainName\johna。从 Vstudio2005 我通过 Debug 启动我的 web 服务,然后 wsdl 页面出现在我的浏览器中。

在任务管理器中,我在 .asmx 代码中的断点处看到以下内容:

aspnet_wp.exe pid=1316 用户名=ASPNET devenv.exe pid=3304 用户名=johna

托管我的 ws.asmx 代码的虚拟目录的 IIS 目录安全选项卡未选中“启用匿名访问”并选中“集成 Windows 身份验证”。

因此,当 MSDN 人员声明“您必须配置运行服务器进程的用户帐户”时,对于上述我的小 Web 服务,他们指的是什么?

我引用自:http: //msdn.microsoft.com/en-us/library/aa302400.aspx

最终,我希望我的这个 web 服务能够模拟任何经过身份验证的域用户浏览到我的 web 服务的调用。我的 web 服务反过来在不同的服务器(但相同的域)上使用另一个 ASMX web 服务。我需要这个远程 Web 服务来使用模拟的域用户凭据(不是我在 JOHNXP 上的 Web 服务的凭据)。

所以对我来说理解这一点有点难听,我发现我不清楚我的网络服务使用的帐户。我认为它是 WinXP 上 IIS 5.1 中的 ASPNET,但不确定。

0 投票
7 回答
36477 浏览

.net - ASMX Web 服务第一次请求慢

我在一个 IIS 应用程序中运行了一堆 .NET Web 服务。这些 Web 服务由另一个 IIS 应用程序(前端)使用。第一次通话很慢,大约 5 到 10 秒。在那之后它只是几毫秒。第一次调用被认为是性能问题。

我们已经尝试过调用所有这些 web 服务的应用程序,但这显然不能解决任何问题。所以问题不是默认的应用程序回收。我创建了一个应用程序,它只是多次初始化服务并测量创建一个实例所需的时间。在运行此应用程序之前,我确保我的 web 服务应用程序已启动/回收,然后我运行该应用程序。第一次初始化需要 2 到 4 秒,其他的只是毫秒。

另一个想法是我们在前端应用程序中创建一个页面来启动所有 Web 服务,并且我们在任何用户进入之前调用这个页面。我不认为这是一个优雅的解决方案,我还能尝试什么?

0 投票
3 回答
879 浏览

web-services - Mono2.0.1中的Web方法响应格式

我写了一个 [WebMethod],它返回一个存储序列化对象的字符串

当我使用来自 JQuery 的 $.post 调用该方法时:

问题在于反应。这是我得到的:

为什么 JSON 响应被封装在 XML 中?我可以从 HTTP 响应标头中看到(错误地?)设置为:

如何切换响应内容类型?谢谢。