引用 Visual Studio 中第二个项目中的泛型处理程序

Reference generic handler from second project in Visual Studio

本文关键字:泛型 处理 程序 第二个 Visual Studio 引用 项目      更新时间:2023-09-26

我有两个项目的解决方案。第一个是Web,第二个是其他东西(SecondProject)。在第一个项目(web)中,我有aspx页面和带有AJAX函数的jquery脚本,这些函数需要第二个项目中的引用处理程序。怎么做?代码示例:

                $.ajax({
                    type: "POST",
                    url: '<%= ResolveUrl("HandlerInSecondProject/GetDataBySample.ashx?q=' + request.term + '") %>',
                    dataType: "json",
                    contentType: "application/json; charset=utf-8",
                    success: function (data) {
                        var obj = data;
                        response($.map(obj, function (item) {
                            return {
                                label: item.Term,
                                id: item.ID
                            }
                        }));
                    }
                });

第二个项目也应该是 Web 项目,否则处理程序将无法由 ASP.NET 正确托管。 一旦第二个项目是 Web 项目,URL

url: '<%= ResolveUrl("HandlerInSecondProject/GetDataBySample.ashx?q=' + request.term + '") %>',

应该只引用处理程序在第二个 Web 项目上的位置。

然后,你只需要告诉你的处理程序返回 json,即 ProcessRequest 方法:

context.Response.Write(
    jsonSerializer.Serialize(
        new
        {
            Term = "My Term",
            ID = 22
        }
    )
);

当你从jQuery调用它时,你应该把结果作为json返回,并且能够随心所欲地使用它。