Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >从MVC4站点向另一个站点发送命令

从MVC4站点向另一个站点发送命令
EN

Stack Overflow用户
提问于 2013-11-24 14:19:22
回答 1查看 98关注 0票数 0

我有两个站点:其中一个控制另一个通过Web发送一些命令。其思想是:控制器站点的操作向另一个站点发送一个命令,获取响应并执行一些业务规则,而不重定向到另一个站点。

我有大量的例子来解释如何通过jQuery实现这一点,但是我想让控制器将数据发布到另一个站点,而不是视图。

我在这个答案中找到了一种方法:How to use System.Net.HttpClient to post a complex type?,但是我想要一个JSON方法的答案。

有人能用JSON发布一个简单的例子来展示如何做到这一点吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-27 18:41:39

由于我没有找到我的问题的简短答案,我将张贴我已经做好的解决方案。

由于该方法使用了一个需要HttpClient语句的async方法,因此实现了对Task<ActionResult>的重新配置。另一个修改是在上下文中保存对象。

而不是使用:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
context.SaveChanges();

你必须使用:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
await context.SaveChangesAsync();

下面的代码实现了来自ASP.NET MVC4控制器的一个操作:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[HttpPost]
public async Task<ActionResult> Create(MyModel model)
{
    if (ModelState.IsValid)
    {
        // Logic to save the model.
        // I usually reload saved data using something kind of the statement below:

        var inserted = context.MyModels
            .AsNoTracking()
            .Where(m => m.SomeCondition == someVariable)
            .SingleOrDefault();

        // Send Command.
        // APIMyModel is a simple class with public properties.
        var apiModel = new APIMyModel();

        apiModel.AProperty = inserted.AProperty;
        apiModel.AnotherProperty = inserted.AnotherProperty;

        DataContractJsonSerializer jsonSer = new DataContractJsonSerializer(typeof(APIMyModel));

        // use the serializer to write the object to a MemoryStream 
        MemoryStream ms = new MemoryStream();
        jsonSer.WriteObject(ms, apiModel);
        ms.Position = 0;

        //use a Stream reader to construct the StringContent (Json) 
        StreamReader sr = new StreamReader(ms);
        // Note if the JSON is simple enough you could ignore the 5 lines above that do the serialization and construct it yourself 
        // then pass it as the first argument to the StringContent constructor 
        StringContent theContent = new StringContent(sr.ReadToEnd(), System.Text.Encoding.UTF8, "application/json"); 

        HttpClient aClient = new HttpClient();
        Uri theUri = new Uri("http://yoursite/api/TheAPIAction");
        HttpResponseMessage aResponse = await aClient.PostAsync(theUri, theContent);

        if (aResponse.IsSuccessStatusCode)
        {
            // Success Logic. Yay!
        }
        else
        {
            // show the response status code 
            String failureMsg = "HTTP Status: " + aResponse.StatusCode.ToString() + " - Reason: " + aResponse.ReasonPhrase;
        } 

        return RedirectToAction("Index");  
    }

    // if Model is not valid, you can put your logic to reload ViewBag properties here.
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20181824

复制
相关文章
jQuery的弹出窗口插件colorbox
支持 照片,照片组,幻灯片,ajax,内联 和 iframe 框架。 通过CSS 控制外观,使用用户可以很容易重新定制外观。 不需要更改 ColorBox 的 javascript 文件就可以重新设定其行为。 可以依靠 callback & event-hooks 进行拓展,不需要修改源代码。 非常友好,不需要修改现有的 HTML,所有的选项都通过 JS 设置。
全栈程序员站长
2021/12/23
5.5K0
jquery 模态窗口 弹出窗 simpleModal
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>SimpleModal Basic Modal Dialog </title> <link type='text/css' href='css/demo.css' rel='stylesheet' /> <link type='text/css' href='css/box.css' rel='stylesheet' /> </head> <body> <div id='container'>
用户5760343
2019/10/10
6.3K0
jquery 模态窗口 弹出窗 simpleModal
让IE的地址栏在弹出窗口也显示
相信web开发人员经常使用到浏览器的地址栏,通过跟踪页面的地址来查看页面的源代码。
williamwong
2018/07/24
2.1K0
让IE的地址栏在弹出窗口也显示
显示为弹出窗口是什么意思(电脑总是弹出广告)
快快赶紧的把我的指甲刀那来,谁都不要拦我~~~~~~~~~~~~~~~~~~~~~~~~
全栈程序员站长
2022/08/01
3.7K0
显示为弹出窗口是什么意思(电脑总是弹出广告)
idea设置背景颜色为黑色(eclipse背景颜色设置黑色)
黑夜给了我黑色的眼睛我却用它来寻找光明。既然是黑色的眼睛那就设置一波黑色背景吧。在黑色额背景中寻找光明。
全栈程序员站长
2022/07/28
3.7K0
idea设置背景颜色为黑色(eclipse背景颜色设置黑色)
弹出移动设备时报正在使用肿么办
当确信没有程序在占用该设备时,这种提示让我觉得很操蛋,NTM说明白点会死啊~好吧,这时还不忍心直接拔的童鞋可以接着往下看:
AhDung
2018/09/13
7490
弹出移动设备时报正在使用肿么办
message 弹出窗口
import  javax.swing.JOptionPane; public class gong {     public static void main(String [] args) {  
Gxjun
2018/03/22
4.4K0
message 弹出窗口
弹出窗口大全
【1、最基本的弹出窗口代码】 其实代码非常简单:  window.open(page.htmJavaScript
Java架构师必看
2021/03/22
4.3K0
窗口自动弹出浏览器显示广告的问题
访问网页,中过一次病毒,清除之后,就留下一个后遗症:有时无缘无故,就回自动打开浏览器,显示广告。用杀毒,用360,都无法清除。开始懒得折腾,后来是在不胜其烦,就找原因。 发现每次出现都有这个进程:as
用户1075292
2018/01/23
2.7K0
窗口自动弹出浏览器显示广告的问题
idea 设置黑色或白色背景以及图片背景
点击File–>setting(或者Ctrl+Alt+S)–>Editor–> Color scheme–>General 选择好风格之后,Apply–>OK 最后弹框中点击Yes即可。
全栈程序员站长
2022/07/01
7.2K0
idea 设置黑色或白色背景以及图片背景
cat命令 – 在终端设备上显示文件内容
Linux系统中有很多个用于查看文件内容的命令,每个命令又都有自己的特点,比如这个cat命令就是用于查看内容较少的纯文本文件的。cat这个命令也很好记,因为cat在英语中是“猫”的意思,小猫咪是不是给您一种娇小、可爱的感觉呢?
用户4988085
2021/07/24
1.6K0
pycharm背景设置为黑色_pycharm设置护眼背景颜色
pycharm更改整体背景颜色(黑-白) 打开pycharm: 1、左上角File —- Settings
全栈程序员站长
2022/09/25
1.7K0
pycharm背景设置为黑色_pycharm设置护眼背景颜色
keil更改黑色背景颜色「建议收藏」
1、先将keil安装目录下UV4中global文件复制出来留作备用,然后用记事本打开安装目录下的global文件
全栈程序员站长
2022/09/10
7.6K0
keil更改黑色背景颜色「建议收藏」
使用 TFLite 在移动设备上优化与部署风格转化模型
文 / Khanh LeViet 和 Luiz Gustavo Martins,技术推广工程师
CV君
2020/05/27
1.7K0
使用 TFLite 在移动设备上优化与部署风格转化模型
如何让 USB 设备不显示安全删除硬件弹出选项
插入一个 U 盘的时候,可以在右下角找到安全删除硬件图标,点击就可以删除此硬件。如果此时插入的是一个无线网卡,也就是 USB 无线 wifi 设备,此时如果逗比点了弹出 802.11 设备那么就不能再使用无线上网了 如果我是一个硬件供应商,如何让我的设备不会显示弹出安全删除硬件弹出选项
林德熙
2019/09/27
3.2K0
Flex 弹出窗口的例子
<?xml version="1.0" encoding="utf-8"?> <mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml"   l
用户3135539
2018/09/12
3.3K0
linux使用cat命令在终端设备上显示文件内容
Linux系统中有很多个用于查看文件内容的命令,每个命令又都有自己的特点,比如这个cat命令就是用于查看内容较少的纯文本文件的。cat这个命令也很好记,因为cat在英语中是“猫”的意思,小猫咪是不是给您一种娇小、可爱的感觉呢?
用户8989785
2021/09/09
3.4K0
新版Pycharm中Matplotlib图像不在弹出独立的显示窗口「建议收藏」
官方说明链接: https://intellij-support.jetbrains.com/hc/en-us/community/posts/115000736584-SciView-in-PyCharm-2017-3-reduces-functionality-of-Matplotlib
全栈程序员站长
2022/09/27
5.7K0
新版Pycharm中Matplotlib图像不在弹出独立的显示窗口「建议收藏」
点击加载更多

相似问题

使用JavaScript在移动设备上显示弹出窗口

111

在移动设备上查看时显示的弹出窗口

40

在jQuery移动设备中定位弹出窗口

10

如何始终在jquery移动滑块上显示弹出窗口?

12

在移动设备上获取窗口高度(jQuery移动设备)

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文