我正在使用C3 JavaScript库来显示图形数据.当我的页面最初加载时,图表将被隐藏.直到选择页面上的"选项卡"才会显示图形.
我遇到的麻烦是我的第一个图形在第一次加载时不适合包含div标签.我可以通过单击按钮更改我正在查看数据的日期范围,此时图表将正确调整大小.
这是我用于图表的相关HTML(注意我正在使用AngularJS,以防有害于/阻碍事物):
<div class="chartgrouping">
<div ng-show="showGraphSection" class="graphA">
<h2 class="section-main-heading">Data A</h2>
<div id="dataAChart" class="chart c3"></div>
</div>
<div ng-show="showGraphSection" class="graphB">
<h2 class="section-main-heading">Data B</h2>
<div class="stats">
<div class="highest-value">Data Breakdown<span>{{percentageOfSubstance}}%</span></div>
<div class="goals">GOAL: 20%</div>
</div>
<div id="dataBChart" class="c3" style="max-height: 320px; position: relative;"></div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
初始的,不正确的显示(第一个图表延伸到整个方向):

在显示第一个结果(上图)后,加载新数据后的正确结果:

这个问题有一个很好的解决方案吗?
我编写了一个应用程序,它首先要进行WCF调用登录.我使用服务引用生成了客户端代码.它适用于将其服务本地安装到其网络的客户端.然而,还有一个saas环境,这些相同的服务由公司权力控制.在saas环境中,我被告知登录失败.调查使用Fiddler,我发现登录服务调用返回HTML,特别是列出.asmx中所有可用方法的网页.
saas环境有一个小怪癖可能会导致这里的问题,但我不知道如何验证这是问题,如果问题是如何解决它.怪癖是服务器重定向(302)呼叫.
客户端代码:
client.Endpoint.Address = new EndpointAddress("http://" + settings.MyURL + "/myProduct/webservices/webapi.asmx");
client.DoLogin(username, password);
在重定向之前发送到服务器的原始数据包括s:Envelope XML标记.注意发送到重定向服务器时缺少的s:Envelope XML标记:
GET https://www.myurl.com/myProduct/webservices/webapi.asmx HTTP/1.1
Content-Type: text/xml; charset=utf-8
VsDebuggerCausalityData: uIDPo7TgjY1gCLFLu6UXF8SWAoEAAAAAQxHTAupeAkWz2p2l3jFASiUPHh+L/1xNpTd0YqI2o+wACQAA
SOAPAction: "http://Interfaces.myProduct.myCompany.com/DoLogin"
Accept-Encoding: gzip, deflate
Host: www.gotimeforce2.com
Connection: Keep-Alive
我怎么能让这个愚蠢的东西起作用?
编辑:值得注意的是,我使用的是WCF/svcutil.exe/service-reference,而不是旧的ASMX/wsdl.exe/web-reference.否则,对于本主题的未来读者,Raj建议的wsdl解决方案将是一个很好的解决方案.如果你看到这个问题并使用wsdl技术,请参阅Raj的优秀答案.
编辑2:在对WCF和302进行大量研究之后,听起来他们只是不能很好地协同工作,似乎也没有一种简单的方法来提供WCF api自定义代码来处理这种情况.因为我无法控制服务器,所以我已经把它搞砸了并重新生成了我的api作为web-reference并使用了Raj的解决方案.
编辑3:更新标题以更好地反映解决方案,现在可以理解问题的原因.原标题:为什么WCF不包含s:重定向的信封?
我在Visual Studio中有一个WCF项目,我需要将其部署到客户端的测试服务器上.当我意识到我不知道如何将我的项目从Visual Studio 2010转移到我可以在客户端的服务器上部署的东西时,我正处于宣布"Mission Accompleished"的边缘.
我对此问题的要点是,在部署到客户端时,我们使用makefile进行构建和打包.这意味着我需要一个命令行可执行文件来执行我需要做的任何事情来部署我的WCF服务.我确实发现右键单击项目并选择"构建部署包",但由于我需要通过命令行执行,所以我认为这不会有太大帮助.
这个问题的第二部分是,一旦我将打包文件作为客户端的服务器,我不知道如何处理它.现在,如果我知道对打包的部署文件有什么期望,我可能会有更好的想法,但在此之前,这只是猜测.