gpt4 book ai didi

c# - 在 ASP.NET/DotNetNuke 中公开 JSON 服务的最简单方法

转载 作者:行者123 更新时间:2023-11-30 21:09:46 25 4
gpt4 key购买 nike

我需要为 jQuery token input field control 创建一个支持服务.

我们的应用程序包含一个名为 SimpleWrapper 的(第三方)DotNetNuke 模块的控件。这个模块的工作方式是它提供了一种轻量级但不是很灵活的方式来在 DNN 页面上显示常规的 ASP.NET 用户控件。需要注意的是,这些是 .ascx 控件,而不是 .aspx 页面。

我几乎不知道有哪些可用的技术。我查看了 ASMX 服务,但这些服务似乎大多是为生成生成的 JavaScript 代理代码而量身定制的。我需要能够:

  • 在静态 URL 上挂载服务
  • 让它接受一个字符串参数
  • 让它以特定但非常简单的格式生成 JSON

我真的不需要与 ASP.NET 的强大集成,比如能够响应回发或类似的东西。我也更喜欢只需添加一个文件即可部署的东西,而无需编辑配置文件。在这样的环境中吐出一大块 JSON 的直接方法是什么?

最佳答案

WCF(我认为从 3.51 版开始)有一个很好的“零配置”功能,可以轻松地与 IIS 集成。你所要做的就是

  • 创建一个 JSON 感知接口(interface)和服务
  • 在 IIS 站点中创建一个简单的 .SVC 文件。

你不需要弄乱时髦的 .config 文件:-)

示例 .SVC 文件:

<%@ ServiceHost
Service="MyNamespace.MyService"
Factory="System.ServiceModel.Activation.WebServiceHostFactory" %>

示例接口(interface)和服务实现,如下所示:

public class MyService : IMyService
{
public string Test(string text)
{
return text; // whatever
}

}

[ServiceContractAttribute(Namespace="http://schemas.myservice.com")]
public interface IMyService
{
[OperationContractAttribute]
[WebInvokeAttribute(UriTemplate="Test", // change this accordingly
ResponseFormat=WebMessageFormat.Json, // change this accordingly
RequestFormat=WebMessageFormat.Json, // change this accordingly
BodyStyle=Wrapped)]
string Test(string text);
}

关于这一切,这里有一个特别酷的链接:WCF Web Services The Easy Way .

关于c# - 在 ASP.NET/DotNetNuke 中公开 JSON 服务的最简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8854971/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com