首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >本地和部署的MVC2应用程序之间的差异

本地和部署的MVC2应用程序之间的差异
EN

Stack Overflow用户
提问于 2011-01-19 22:58:17
回答 1查看 267关注 0票数 1

我已经在本地服务器( casini和IIS7.5)上测试了我使用MVC2构建的web应用程序。但是,当我将应用程序部署到windows2008server标准版(也运行IIS7.5)时,我收到了意外的结果。

问题是我指定了一个控制器,通过将xml数据写入文件来使用Fusion Charts显示图形。

在部署应用程序时,一切正常(切换配置文件/查看月-年比例),但是当我尝试指定一个日期范围时,应用程序加载时就好像在将第一个xml条目值设置为0时没有发生任何事情一样。

这不会发生在我的本地服务器上,我在部署的服务器或本地服务器上都没有收到任何错误。

以下是可能能够解决此问题的代码的相关部分。

操作方法:

代码语言:javascript
复制
 public ActionResult Index(string clientProfile, string domainProfile, string period, string sDate, string eDate)
 {
    if (period == "Month")
            {

                if (!string.IsNullOrEmpty(sDate) && !string.IsNullOrEmpty(eDate))
                {
                    var strXML = seoService.GraphForTrafficCountForDomain(clientProfile, sDate, eDate);

                    System.IO.File.WriteAllText(AppDomain.CurrentDomain.BaseDirectory + "/FusionCharts/Data/Traffic.xml", strXML);
                }
                else
                {
                    var strXML = seoService.GraphForTrafficCountForDomain(clientProfile);

                    System.IO.File.WriteAllText(AppDomain.CurrentDomain.BaseDirectory + "/FusionCharts/Data/Traffic.xml", strXML);
                }
            }
            else if (period == "Year")
            {

                var strXML = seoService.GraphForVisitsCountForDomainGroupByYear(clientProfile);

                System.IO.File.WriteAllText(AppDomain.CurrentDomain.BaseDirectory + "/FusionCharts/Data/Traffic.xml", strXML);
            }

            return View();
 }

服务功能:

代码语言:javascript
复制
public string GraphForTrafficCountForDomain(string domain, string sDate, string eDate)
{
            var profile = profileService.GetProfileByDomain(domain, null);

            string strXML = "";

            var StartingDate = DateTime.Parse(sDate);
            var EndingDate = DateTime.Parse(eDate);

            var data =
           repository.FindAll<TrafficData>(x => x.ProfileId == profile.Id && x.Date >= StartingDate && x.Date <= EndingDate).OrderByDescending(d => d.Date).ToList();

            strXML += @"<?xml version=""1.0"" encoding=""utf-8"" ?>";
            strXML += @"<graph caption="""" subcaption="""" xAxisName=""Month"" yAxisName=""Traffic"" decimalPrecision=""0"" formatNumberScale=""0"">";

            for (DateTime date = StartingDate; date.Date <= EndingDate; date = date.AddMonths(1))
            {
                var startDate = new DateTime(date.Year, date.Month, 1);
                var endDate = new DateTime(date.AddMonths(1).Year, date.AddMonths(1).Month, 1).AddDays(-1);

                int value = 0;
                if (data.Any(x => x.Date >= startDate && x.Date <= endDate))
                {
                    value = data.Where(x => x.Date >= startDate && x.Date <= endDate).Select(d => d.TrafficCount).Sum();
                }

                strXML += String.Format(@"<set name=""{0}"" value=""{1}"" hoverText=""{2}""/>",
                                           date.ToString("MM-yy"), (value == 0) ? "0" : value.ToString(),
                                           (value == 0) ? "0" : value.ToString() + " " + date.ToString("MM-yy"));
            }

            strXML += @"</graph>";

            return strXML;
}

我还附上了一个图像包含正确的输出和错误的输出。

Output Image

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-20 15:50:41

问题是由于某些原因,服务器文化之间的差异(即使服务器托管在与我居住的国家相同的国家)。

DateTime对象未正确解析。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4736726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档