用现代 AJAX 替换旧的 ASMX 服务

发布于 2024-11-16 20:58:59 字数 413 浏览 2 评论 0原文

我有一些遗留代码,其中:

  1. ASP .NET 页面使用代理向 ASMX 发送请求
  2. 在发送请求之前,我手动(在 JavaScript 中)将所有必要的数据打包到代理所需的结构中
  3. 有时,在执行该服务时,我会收到随机的 InvalidOperationException

作为结果,我想摆脱asmx机制。

我想做的是利用 jQuery 并将 JSON 数据简单地 POST JSON 数据到 ASP .NET ....但是,我应该将其发布到 aspx 页面的哪里? ASP .NET 2.0 中有哪些方法?假设我使用 jQuery,服务器端应该是什么样子?我是否必须使用逻辑创建 aspx 文件作为请求入口点和类后面的代码(继承自 Page)?

谢谢,帕维尔

I have some legacy code where:

  1. ASP .NET page sends request using proxy to ASMX
  2. Before sending request, I manually (in JavaScript) pack all necessary data into structures required by proxy
  3. From time to time I get random InvalidOperationException when executing that service

As a result, I would like to get rid of asmx mechanism.

What I would like to do, is take advantage of jQuery and just simply POST JSONed data to ASP .NET .... But, where should I post it, to aspx page? What are the approaches in ASP .NET 2.0? Provided I'm using jQuery, how should the server side look? Do I have to anyway create aspx file as request entry point and code behind class (that inherits from Page) with logic?

Thanks,Pawel

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

弄潮 2024-11-23 20:58:59

ASMX 没有任何问题,这些都是 Web 服务,在正确设计和使用时不应该返回 InvalidOperationException。

你可以看看页面方法是什么,基本上你向页面添加一个脚本管理器和一些属性,然后你可以在aspx(代码隐藏)中调用这些方法,就像它们在Web服务上一样,这些方法是静态的,所以您无法从那里访问控件和页面实例,但通常这不是问题,如果您有良好的设计,您可以完成您需要的一切。

调用这些页面方法的方式是使用带有或不带有 jQ​​uery 的客户端 JS。

ASMX has nothing wrong at all, those are web services and are not supposed to return InvalidOperationException when properly designed and used.

you can have a look at what page methods are, basically you add a scriptmanager to the page and some attributes and you can then call these methods inside the aspx ( code behind ) as if they were on a web service, those methods are static so you cannot access controls and the page instance from there but usually this is not a problem and you can do all you need if you have a good design.

The way you invoke those page methods is with client side JS with or without jQuery.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文