我需要从我用ASHX制作的API中获取一个值,通常是从javascript调用但是我需要在ASP.NET中调用它我认为这应该不是问题但是我不确定语法。
答案 0 :(得分:4)
你有几个选择
这些只是一些简单的方法。
我个人喜欢第一种方法,因为它可以促进代码重用,但根据情况你可以做你喜欢的事情。
编辑以在评论中提供问题的答案。
基本上是的......不是在你的处理程序中有一堆代码,而是在上下文中创建一个对你有意义的类。在该类中,您可以放置处理程序中的逻辑。然后从您的处理程序中,您可以创建一个实例或调用该类的静态版本(取决于您实现它的方式),将HttpContext对象或该逻辑正确运行所需的任何内容传递给它。在ASPX页面中执行相同的操作。现在,您可以从应用程序中的任何位置调用包含逻辑的对象,而不是仅将其驻留在处理程序中。
EX:
Public Class MyCommonLogic
Public Shared Function ReturnSomethingCommon(context As HttpContext) As String
Return "Hello World!"
End Function
End Class
然后从处理程序或aspx页面..
Dim something As String = MyCommonLogic.ReturnSomethingCommon(...)
我把这个函数设为静态,但这只是一个例子我当然会实现它,但在你的场景中更有意义。
将代码更改为VB抱歉。
答案 1 :(得分:1)
如果ASHX在同一台服务器上,特别是在同一个Web应用程序中,您应该将您的逻辑从ashx重构为aspx和ashx都可以调用的公共类。
否则你可以看一下使用:System.Net.WebClient