C#写WebAPI时的Response Body模型定义

C# HttpWebResponse 调用WebApi 最近有个接口项目,主要运用了webApi,网上查了些资料,再次总结一下,希望帮助到大家。客户端主要运用到post方法用的是HttpWebResponsewebApi接受客户端传的参数 一种是地址传过来的参数 一种是http的请求体中传过来的... 阅读详情

首先我们定义错误类型及其描述,如:

    /// <summary>
    /// 返回结果中的错误代码。
    /// 0表示OK,其他均表示错误。
    /// 错误码区码代码段,如:
    /// 1-9表示一大类不同小类的错误,
    /// 11-19表示一大类不同小类的错误,
    /// 21-29表示一大类不同小类的错误……
    /// 依此类推。
    /// 通用错误(不细分类型)码为较大的数,如999
    /// </summary>
    public enum ErrorCode
    {
        /// <summary>
        /// 未知错误
        /// </summary>
        [Description("未知错误")]
        Unknown = -1,
        /// <summary>
        /// 成功
        /// </summary>
        [Description("成功")]
        OK = 0,
        /// <summary>
        /// 非法参数
        /// </summary>
        [Description("非法参数")]
        InvalidParam = 1,
        /// <summary>
        /// 常见错误
        /// </summary>
        [Description("常见错误")]
        CommonError = 999
    }

然后,我们定义一个基类,实现当定义错误类型Code后,如未指定错误描述信息,则自动获取Code对应的Description作为描述信息,并且,返回结果中不包含数据时,data项为null不可忽略,如下:

    /// <summary>
    /// 返回结果Body部分
    /// </summary>
    public class ResponseBody
    {
        /// <summary>
        /// 状态码
        /// </summary>
        [JsonProperty("code")]
        [JsonRequired]
        [DefaultValue(ErrorCode.Unknown)]
        public ErrorCode Code { get; set; }

        private string _description = null;
        /// <summary>
        /// 描述信息
        /// </summary>
        [JsonProperty("desc")]
        public string Description
        {
            get
            {
                if (string.IsNullOrEmpty(_description) && CheckValue.IsValid(typeof(ErrorCode), Code))
                    _description = EnumTypeHelper.GetEnumDescription(Code);
                return _description;
            }
            set
            {
                _description = value;
            }
        }
        /// <summary>
        /// 数据
        /// </summary>
        [JsonProperty("data", NullValueHandling = NullValueHandling.Include)]
        public object Data { get; set; }
    }

接下来,我们可以定义常见的返回值,如执行成功和执行出错两种情况,让它们分别继承自以上基类:

    /// <summary>
    /// 成功
    /// </summary>
    public sealed class ResponseOk : ResponseBody
    {
        public ResponseOk() { Code = ErrorCode.OK; }
    }

    /// <summary>
    /// 出错
    /// </summary>
    public sealed class ResponseCommonError : ResponseBody
    {
        public ResponseCommonError() { Code = ErrorCode.CommonError; }
    }

那么,我们在调用的时候,可以直接指定Code就可以了,如未添加desc,则自动补齐:

                var ls = PictureManager.Instance.QueryInfo(param).ConvertAll(e => new TaskPictureMetadata(e));
                return Json(new ResponseOk() { Data = (0 < ls.Count) ? ls : null });

结果示例:

{
    "code": 0,
    "desc": "成功",
    "data": [
        {
            "tid2": "354412A789AD436AAD2BD91B673E2DCE",
            "gid": "93519CAB-07DE-441F-BA9B-2847504437AE",
            "restype": 0,
            "resgid": "CCC123",
            "source": null
        },
        {
            "tid2": "354412A789AD436AAD2BD91B673E2DCE",
            "gid": "{096C707D-DB11-46BD-A3AA-026CD2FF36C3}",
            "restype": 0,
            "resgid": "CCC456",
            "source": null
        }
    ]
}
OAuth2与Owin WebApi授权实践指南 OAuth2是现代API安全认证的标准协议,通过令牌机制实现安全的授权流程。其核心原理是客户端通过验证获取访问令牌,再使用令牌访问受保护资源。在.NET生态中,结合Owin中间件可以构建轻量级的授权解决方案,特别适合分布式系统中的服务间通信。Client Credentials模式作为OAuth2的重要流程,适用于机器对机器(M2M)场景,无需用户参与即可完成认证。通过配置OAuthAuthorizationServerOptions和实现自定义OAuthProvider,开发者可以灵活控制令牌发放和验证逻 阅读详情

相关推荐

易飞ERP审核流程自动化WebAPI开发实践

企业资源计划(ERP)系统的流程自动化是现代企业数字化转型的关键环节。通过WebAPI技术实现ERP审核流程自动化,可以显著提升业务处理效率和准确性。本文以易飞ERP为例,详细解析如何基于HTTPS和JWT构建安全可靠的审核API接口,涵盖通信协议设计、单据类型映射、批量处理优化等核心技术要点。该方案支持采购单、销售单等37种核心单据的自动化处理,实测吞吐量达500+单据/秒,平均延迟低于200ms。特别适用于制造业、零售业等需要高频审核操作的行业场景,能帮助企业将审批周期从小时级缩短至分钟级。

weixin_30892763的博客 288

@ResponseBody返回4种数据格式的数据

前言 @ResponseBody这个注解通常使用在控制层(controller)的方法上,其作用是将方法的返回值以特定的格式写入到response的body区域,进而将数据返回给客户端。当方法上面没有写ResponseBody,底层会将方法的返回值封装为ModelAndView对象。 假如是字符串则直接将字符串写到客户端,假如是一个对象,此时会将对象转化为json串然后写到客户端。这里需要注意的...

sinat_31986807的博客 7587

C#与Vue+ElementUI构建企业级登录系统实战

现代Web开发中,前后端分离架构已成为主流技术方案,其核心价值在于解耦视图层与业务逻辑,提升开发效率和系统可维护性。通过RESTful API实现前后端通信,配合JWT等标准化认证协议,可构建高安全性的身份验证体系。以C# WebAPI作为后端服务框架,结合Vue3和ElementUI前端技术栈,开发者能快速实现包含防XSS/CSRF攻击的企业级登录模块。该方案特别适合需要兼顾开发效率和安全要求的金融、政务类系统,实测显示较传统ASP.NET MVC方案性能提升23%,内存占用减少37%。

csdndownload11123的博客 411

如何获取webapi中的body

如果获取webapi的body

qq_41118944的博客 1330

C# WebAPI集成科大讯飞语音听写:完整实现与踩坑指南

语音识别技术正深刻改变人机交互方式,从智能客服到会议纪要,语音转文字已成为企业系统智能化升级的高频需求。其核心原理是将音频信号通过深度学习模型映射为文本序列,而工程落地的关键则在于如何高效对接第三方语音识别API。在实际开发中,开发者常面临音频格式兼容、鉴权签名计算、接口调用形态选择等挑战。本文以科大讯飞语音听写服务为例,系统讲解C# WebAPI环境下从账号配置、签名生成、音频转码到接口封装的完整链路,并结合前端MediaRecorder录音场景,剖析短音频同步识别与长音频异步转写的技术选型。通过合理设计

weixin_33888907的博客 395

C# WebAPI集成科大讯飞语音听写:从鉴权到Vue对接全流程详解

语音识别技术已成为企业业务系统智能化升级的关键能力,将音频自动转为结构化文本,可广泛应用于会议纪要、客服质检、语音笔记等场景。实现语音转文字通常需要调用第三方ASR服务,而如何在不暴露密钥的前提下,将外部API能力安全、高效地集成到现有技术栈中,是开发者普遍面临的挑战。科大讯飞语音听写API采用WebSocket长连接通信,其动态鉴权签名与流式分帧发送机制是集成过程中的核心技术难点。通过C# WebAPI作为统一服务层,封装讯飞语音听写的完整交互逻辑,前端仅需上传音频文件即可获取识别文本。同时辅以音频格式转

weixin_33889245的博客 324

C# Web API

学习笔记

hcyily的博客 4235

Transformers在自动驾驶领域的应用(High-level like in scene)

Transformers uses global attention mechanism to capture long-range interaction information. Two core modules in Transformers are Self-Attention and Cross-Attention, which defined asAttn(Q,K,V)=softmax(QK⊤dk)VSelfAttn(X)=Attn(WQX,WKX,WVX)CrossAttn(X,Y)=Attn

qq_39337332的博客 1776

如何在ASP.NET Core自定义中间件中读取Request.Body和Response.Body的内容?

文章名称: 如何在ASP.NET Core自定义中间件读取Request.Body和Response.Body的内容? 作者: Lamond Lu 地址: https://www.cnblogs.com/lwqlun/p/10954936.html 源代码: https://github.com/lamondlu/webapi-logger 背景 最近在徒手造轮子,编写一个ASP.NET C...

weixin_30251587的博客 430

分享一下如何使用labelimg制作自己的YOLO数据集

首先准备一下自己的下准备一个空文件夹用于保存标签文件,如下图所示。

skywalkerxhx的博客 831

Windows显卡TDR超时导致Unity崩溃?手把手教你修改注册表延长响应时间

本文详细解析了Windows显卡TDR超时导致Unity崩溃的问题,并提供了修改注册表延长响应时间的完整解决方案。通过调整TdrDelay和TdrDdiDelay键值,开发者可以有效避免D3D11设备丢失错误,提升Unity编辑器的稳定性。文章还包含显卡驱动优化、系统性能调优等实用技巧,帮助开发者彻底解决编辑器崩溃问题。

weixin_33737774的博客 631

asp.net core WebApi 返回 HttpResponseMessage

ASP.NET WebApi 2 中的示例代码: [Route("values/{id}")] public async Task<HttpResponseMessage> Get(string id) { var response = Request.CreateResponse(HttpStatusCode.OK); var accept =...

weixin_30414245的博客 586

利用Sigrity的SPEED2000进行时域电源噪声分析

SPEED2000进行时域电源噪声分析

ZHENGSA的博客 3622

WebAPI 和 webservice的区别

WebAPI 和 WebService的区别 webapi用的是http协议,webservice用的是soap协议 webapi无状态,相对webservice更轻量级。webapi支持如get,post等http操作 http soap关系 http:是一个客户端和服务器端请求和应答的标准(TCP)。http协议其目的是为了提供一种发布和接收htttp页面的方法 一http协议的客

李赛赛的专栏 1万+

2026 具身智能 VLA/WAM 全栈学习与训练路线:从动作建模、SFT、RL 到世界模型的 RTX PRO 6000 96GB 单卡实战指南

我会把这张表做成“”而不是只列论文名:先核对每个模型截至的公开代码、训练目标和数据接口,再单独给你一套。对于没有公开、只有推理代码或训练细节不完整的模型,我会明确标出来,避免把“论文里提到”误写成“可复现”。目前有一个重要更新:。截至今天 NVIDIA 官方开源主线已经是换成 Cosmos-Reason2-2B/Qwen3-VL 架构,动作端仍是连续路线,而且官方明确给出单卡微调时默认只训练,峰值显存约。所以你的 96GB 单卡对 GR00T SFT 非常宽裕。可以。下面我按,把它整理成一张真正面向“

u013250861的博客 448

AI视频生成成本优化实战:混合架构与硬件选型

AI视频生成技术正面临效果与成本的二元博弈,其核心挑战在于高昂的推理算力消耗与黑箱服务的不确定性。从技术原理看,视频生成依赖扩散模型等深度学习架构,通过多轮迭代实现像素级合成,这导致GPU显存占用和电力消耗呈指数级增长。在工程实践中,采用混合推理架构能有效平衡成本与质量,例如云端处理关键帧配合本地渲染过渡帧,实测可降低58%支出。硬件选型方面,消费级显卡魔改与边缘计算设备为中小企业提供了可行方案,如RTX 3090显存扩容或Jetson AGX边缘部署。当前AI视频应用已渗透电商直播、新闻制作等领域,但需警

weixin_29531177的博客 296

关于wcf,webservice,webapi或者其他服务或者接口有什么区别 WCF、WebAPI、WebService之间的区别 【转载】HTTP和SOAP完全就是两个不同的协议 WebSer...

wcf,webservice采用的是rpc协议,这个协议很复杂,所以每次要传递、要校验的内容也很复杂,别看我们用的很简单,但实际是frame帮我们做掉了rpc生成、解析的事情webapi遵循是rest规范,它只是一种约束,并没有实际的条条框框进行限制,它只是在使用http协议的基础上,简单的遵循了规范而已,而且请求、返回的也是很简单的数据格式 做服务时,你说的都可以作为服务实现技术,但...

697

高通平台WIFI学习-- WCN7851 三频 2X2 MIMO DBS HBS Wi-Fi 7介绍

WCN7851是支持Wi-Fi 7和蓝牙5.4的三频SoC芯片,具有以下核心特性:采用NSP334封装,支持2.4GHz/5GHz/6GHz三频段并发操作,最高速率达5.8Gbps;集成MU-MIMO、4096QAM调制技术,6GHz频段支持320MHz带宽;提供PCIe Gen3接口和低功耗设计,兼容多种无线标准。电气特性包括1.8V/1.2V可编程GPIO、76.8MHz时钟源要求,以及详细的射频性能参数。该芯片通过多链路操作和动态频率选择等先进功能,实现高性能无线连接。

专业开发者的博客,一个从事Android WiFi和蓝牙的工程师 1281

PyTorch视觉项目实战:从数据加载到模型部署

PyTorch视觉项目实战:从数据加载到模型部署 ,人工智能,计算机视觉,大模型,AI,随着深度学习在计算机视觉领域的飞速发展,PyTorch 凭借其简洁的代码风格、动态计算图特性以及强大的社区支持,成为众多开发者和研究人员的首选框架。从数据加载、模型构建与训练,到最终的模型部署,PyTorch 提供了一套完整且灵活的解决方案。本文将通过实际项目案例,详细阐述基于 PyTorch 的视觉项目全流程,结合丰富的代码示例和概念解析,帮助读者掌握从项目起步到落地的关键技术。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 4万+

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

C#通过API接口返回流式响应内容---分块编码方式

阐述C#通过分块编码的方式实现流式响应,实现DeepSeek的回复效果

郑林的专栏 1907

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

c# HttpWebResponse 调用WebApi

新建WebApiCaller类,内容如下: 1 public static class WebApiCaller 2 { 3 public static string HttpPost(string url, string body) 4 { 5 try 6 { 7 ...

weixin_33762321的博客 264

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

开发API用net还是PHP,c# – ASP.Net Web API是.Net和PHP消耗的API的不错选择吗?

1)在客户端,您可以将响应(json / xml)解析为强类型类.here的代码段:您已在客户端中定义了Product类:class Product{public string Name { get; set; }public double Price { get; set; }public string Category { get; set; }}然后,您调用API来获取产品并将响应解析为可枚...

weixin_39841002的博客 188

Dynamics 365 CE的插件/自定义工作流活动中调用Web API示例代码

微软动态CRM专家罗勇 ,回复325或者20190428可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me! 现在Web API越来越流行,有时候为了程序更加健壮,需要在插件/自定义工作流活动中调用Web API,请求数据内容和返回数据内容都是JSON格式,我这里准备了一些代码示例,方便以后参考,也欢迎各位读者提供建议,我的C#水平有限,望各位不吝赐教。 插件代码示例: using System; using System.ServiceModel; using Mic...

marcushbs的博客 450

在Mvc中创建WebApi是所遇到的问题

1.提示"The 'ObjectContent`1' type failed to serialize the response body for content type 'application/xml;"类似这种的异常 解决方法: 在"WebApiConfig.cs"中添加如下代码 方式一(在"Register"方法中插入如下代码)亲自测试可以: var json = co...

weixin_30289831的博客 191
上一篇: SQLite数据库BigINT类型日期数据查询
下一篇: C#实现墨卡托投影坐标系经纬度与米制单位之间的互转
acngiser
博客等级 码龄15年 118粉丝 214原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值