gpt4 book ai didi

c# - JSON 文件发布到 azure 后无法工作,但在本地可以正常工作

转载 作者:行者123 更新时间:2023-12-03 00:13:36 26 4
gpt4 key购买 nike

经过多次谷歌搜索、尝试、错误和挫折之后,这个问题让我难住了。

我在 Azure 上发布了一个 MVC 应用程序。我有一个 Controller ,它查询数据库并返回 Json 文件以用作 Fullcalendar 中的事件,如下所示:

        public JsonResult Events()
{

var ci = from c in db.CalendarItems
select c;

var rows = new List<dynamic>();

foreach(var item in ci)
{
if (item.ClassTime.HasValue)
rows.Add(new { ID = item.Id, title = item.title, start = item.start.ToString("yyyy-MM-dd") + "T" + item.start.TimeOfDay.ToString(@"hh\:mm\:ss"), end = item.end.ToString("yyyy-MM-dd") + "T" + item.end.TimeOfDay.ToString(@"hh\:mm\:ss")});
}

return Json(rows, JsonRequestBehavior.AllowGet);
}

非常简单...在我的本地,这会生成一个完美的文件,如下所示:

[{"ID":1,"title":"Event1","start":"2015-08-04T19:00:00","end":"2015-08-04T08:00:00"},{"ID":2,"title":"Event2","start":"2015-08-06T19:00:00","end":"2015-08-06T08:00:00"},{"ID":3,"title":"Event3","start":"2015-08-14T19:00:00","end":"2015-08-14T08:00:00"}]

但是,在已发布的 azure 网站上,我收到错误代码 500。

这是我迄今为止尝试过的:

  1. 将其添加到 web.config:

    <configuration>
    <system.webServer>
    <staticContent>
    <mimeMap fileExtension=".json" mimeType="application/json" />
    </staticContent>
    </system.webServer>

  2. 在我的 web.config 中将 httpErrors existingResponse = "PassThrough"添加到 system.webServier。

  3. 对 web.config 文件进行了大量调整

  4. 删除整个应用程序并在 azure 中重新创建

  5. 我设置了 customerrors mode=off,但收到了此错误:“已经有一个与此命令关联的打开的 DataReader,必须先将其关闭。”为了确保我仔细检查了我的连接字符串并且 MARS 处于事件状态。也许循环是问题所在?

最佳答案

发现问题以及如何解决。通过与 azure 支持台合作,我发现 azure web 应用架构不支持将 json 事件发送到 fullcalendar。我通过下载 Azure SDK 并按照此处的步骤将此应用程序转换为应用程序:

https://azure.microsoft.com/en-us/documentation/articles/vs-azure-tools-migrate-publish-web-app-to-cloud-service/

现在应用程序正在虚拟机上运行,​​一切正常。我不必更改上面示例中的任何编码。

关于c# - JSON 文件发布到 azure 后无法工作,但在本地可以正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36376214/

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