小编Jso*_*ham的帖子

SSRS报告IE8 ScriptResource.axd压缩/解压缩错误

继这个问题之后:

SSRS IE8 JavaScript错误无效字符ScriptResource.axd

这是一个我真正需要解决的问题.我现在有更多关于此的信息,因此决定记录一个新问题.

我在运行SQL Server 2008 R2的SQL Server上有一套SSRS报告.我使用Internet Explorer访问这些报告超过6个月没有任何问题.

上周,有人记录了一个帮助台电话,声称她无法看到报告,因为页面会永远加载,并且几秒钟后左下角会出现一个带有解释标记的小图标,旁边有文字"完成".

由于我已经知道这个问题可能是一个IE问题,我建议用户下载Firefox,然后使用它.执行此操作后,用户可以看到报告.

第二天,我使用IE浏览器正常访问报告,用户遇到的问题发生在我身上.我被困在一个无限循环中,小的'完成',角落里有错误的图像.点击时的错误消息是:

Webpage error details

User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E)
Timestamp: Tue, 11 Sep 2012 09:58:13 UTC


Message: Invalid character
Line: 1
Char: 1
Code: 0
URI: http://xxxxx/xxxxxxx/ScriptResource.axd?d=iYyn-VGIBSAJxmoeImLsTtesAMP1500Akt1KNGOHN_b-PEkCEZq1v-qs_SbiV610TRrm-8ISgq4xWAV6lxRrv1NaHOGFuUUOfusDmQgdb8FPNvi0YU9Sc8hp24nzIzpdQXiEtHcT-lcQIUkU_kcJg-EM61o1&t=ffffffffb868b5f4


Message: Sys.ScriptLoadFailedException: The script '/Reports/ScriptResource.axd?d=iYyn-VGIBSAJxmoeImLsTtesAMP1500Akt1KNGOHN_b-PEkCEZq1v-qs_SbiV610TRrm-8ISgq4xWAV6lxRrv1NaHOGFuUUOfusDmQgdb8FPNvi0YU9Sc8hp24nzIzpdQXiEtHcT-lcQIUkU_kcJg-EM61o1&t=ffffffffb868b5f4' could not be loaded.
Line: 5
Char: 25340
Code: 0
URI: http://xxxxx/xxxxxxx/ScriptResource.axd?d=IcCsSJUAEsxazITdzqHjDt1BesfkTp6Mm3HS3LIMBVF2Lxr_e3gi3u2PvZQRuLbGfe0MhIoDqlxXvrXTRXhpV2wfNhWcJK0iLFPtfDZzuej4KzvCBV1ggWWCaLYj6iG0RpVkSYBY-IrbRMKNOCn9Qc8W77bR9CrIphFmFbR2zKerE3DA0&t=ffffffffb868b5f4
Run Code Online (Sandbox Code Playgroud)

我检查了我使用的IE版本号是版本8.0.6001.18702.我试图让一位同事尝试访问同时使用版本8.0.6001.18702 IE的报告,并且她没有遇到任何问题.

我觉得奇怪的是,6个月加上我没有问题,突然之间我无法使用IE访问报告,你甚至不能说这是一个Internet Explorer版本问题,因为正如我所说,我的同事使用的是与我相同的版本.

因为它使用Firefox工作,它仍然指向IE问题,但可能是服务器端的东西?

任何人都可以在这里提出任何建议,好像这对我来说是一个问题,这可能会成为许多用户过夜的问题.

使用我在尝试访问报告时看到的内容,查看随附的屏幕截图: …

internet-explorer scriptresource.axd reporting-services ssrs-2008

6
推荐指数
1
解决办法
4174
查看次数

累计和动态地对每个月的字段求和

我有一张表格,其中包含大约50,000条信息记录,这些记录已经设置为回顾当前财政年度的开始.

从目前看,我上个月没有更新这张表,所以目前的数据假设我们仍然回顾到2011年4月1日.

请注意(当我刷新数据时,我们现在将在4月份出现2012年4月的数据,然后在5月将有2012年4月和2012年5月等等......)

每个记录都有我关注的4列:

Department,
Incident date,
month,
year,
reduced
Run Code Online (Sandbox Code Playgroud)

月份和年份列都是从事件日期字段生成的,该字段采用以下格式:

2011-06-29 00:00:00.000
Run Code Online (Sandbox Code Playgroud)

我需要为每个部门,累计减少但累积的方式.

例如,看看2011年4月将是我目前最早的月/年数据,我想知道4月份每个部门的总减少量.

然后五月我希望四月和五月合并,六月我需要四月,五月,六月等...

是否有一种智能的方法可以做到这一点,一旦我将数据重新导入到该表中,它就会意识到现在只有一个月,而且这一年已经更新,现在直到下个月只显示4月份的总和(减少)

sql t-sql sql-server sql-server-2008

5
推荐指数
1
解决办法
1397
查看次数

HttpContext,用于.Net 4.5服务器的Context.Request.Unvalidated的替代方法

我在我的项目中有一个方法,如下所示,它接受一个HttpContext对象并返回一个string.

//returns the xml document as string
private static string GetXmlReceiptFromContext(HttpContext context)
{
    context.Response.Cache.SetCacheability(HttpCacheability.NoCache);
    context.Response.Cache.SetNoStore();
    context.Response.Cache.SetExpires(DateTime.MinValue);        
    return context.Request.Unvalidated.Form.Get("status");
}
Run Code Online (Sandbox Code Playgroud)

这样的结果最终会传递到一个非常重要的方法,需要这个字符串.

它似乎Context.Request.Unvalidated只能从.Net 4.5获得.对于没有.Net 4.5的服务器,我需要使用这种方法的替代方法,并且将使用这个程序集.

任何人都可以建议一种替代方法来访问和返回status参数,该参数的值将是来自上下文的XML Document而不使用Context.Request.Unvalidated?

编辑

这不适用于webform或MVC项目,我们开发了一个类库,我们理想地想要包含程序集中所有与支付相关的功能,即单一责任,我们的前端应用程序将使用它不需要知道事情的付款方面.

.net c#

5
推荐指数
1
解决办法
1061
查看次数

如何在JQUERY中订阅MVC复选框更改事件

我正在尝试使用jQuery锁定复选框更改事件,目前我有这个:

<script type="text/javascript">
    $(document).ready(function () {
        $('.timepicker').datetimepicker({ datepicker: false, format: 'H:i' });
        $('.mondaystartfinish').hide();

        //subscribe to change events
        $('#IsMonday').change(function () {
            RunsOnMondays();
        });
    });

    function RunsOnMondays() {
        if ($('#IsMonday').prop('checked') == 'true') {
            $('.mondaystartfinish').slideDown();
        } else {
            $('.mondaystartfinish').slideUp();
        }
    }    
</script>
Run Code Online (Sandbox Code Playgroud)

但是在调试时,当我选中/取消选中该RunsOnMondays()方法时,该方法不会触发.

我也试过使用它但仍然无效:

$('IsMonday').prop('checked').change(function () { RunsOnMondays();});
Run Code Online (Sandbox Code Playgroud)

浏览器输出

<div class="form-group">
    <label class="control-label col-md-2" for="IsMonday">Monday</label>
    <div class="col-md-10">
        <input class="check-box" data-val="true" data-val-required="The IsMonday field is required." id="IsMonday" name="IsMonday" type="checkbox" value="true" /><input name="IsMonday" type="hidden" value="false" />
        <span class="field-validation-valid" data-valmsg-for="IsMonday" data-valmsg-replace="true"></span>
    </div>
</div>

<div …
Run Code Online (Sandbox Code Playgroud)

javascript asp.net asp.net-mvc jquery asp.net-mvc-5

5
推荐指数
1
解决办法
7605
查看次数

通过流畅验证进行电子邮件检查与客户端和服务器端不同

我正在使用 FluentValidation 来验证客户端和服务器端的模型。我使用的是最新版本:

FluentValidation.MVC5

在撰写本文时,即

5.5.0.0

我有以下简化的验证器:

public class MyViewModelValidator : AbstractValidator<MyViewModel>
    {
        public MyViewModelValidator()
        {
                RuleFor(x => x.Email)
                    .EmailAddress().WithLocalizedMessage(() => MyResources.Validation_Email_NotValidAddress)
                    .NotEmpty()
                    .WithLocalizedMessage(() => MyResources.Validation_Email);
        }
    }
Run Code Online (Sandbox Code Playgroud)

客户端似乎做了一些基本验证,例如它不会接受“@”符号两侧没有文本的任何内容,但是它会接受类似的内容test@test.

当我发布此数据时出现问题,我的控制器中有以下内容:

    if (!ModelState.IsValid)
        throw new Exception("Model validation error");
Run Code Online (Sandbox Code Playgroud)

由于test@test电子邮件地址,这会将模型视为无效并引发错误。所以看来我的前端验证比服务器端验证更宽松。

参考文档后,它确实声明该Email()方法受客户端支持,但是该服务器端与呈现给前端的内容之间似乎确实存在一些差异。

https://fluidation.codeplex.com/wikipage?title=mvc

如何确保客户端验证与电子邮件的服务器端验证一样彻底。

c# asp.net-mvc fluentvalidation

5
推荐指数
1
解决办法
3782
查看次数

.Net Core SignalR 不能在启动时添加或使用

我最近回到了一个使用 SignalR 的旧 .Net Core 应用程序。

我认为当时唯一可用于 .Net Core 应用程序的 SignalR NuGet 包是预览版。它奏效了。

我现在在一台新机器上,不知道这个包的预览源是什么,所以我卸载了它并安装了这个:

> Install-Package Microsoft.AspNet.SignalR.Core -Version 2.4.1
Run Code Online (Sandbox Code Playgroud)

除了 Startup.cs 文件中的这两个错误之外,一切似乎都很好,但有一些命名空间更改。

错误 CS1061“IServiceCollection”不包含“AddSignalR”的定义,并且找不到接受“IServiceCollection”类型的第一个参数的可访问扩展方法“AddSignalR”(您是否缺少 using 指令或程序集引用?)

错误 CS1061“IApplicationBuilder”不包含“UseSignalR”的定义,并且找不到接受“IApplicationBuilder”类型的第一个参数的可访问扩展方法“UseSignalR”(您是否缺少 using 指令或程序集引用?)

我环顾四周,除了有人建议您需要安装Microsoft.AspNetCore.SignalR.Http而我找不到之外,我没有太多可用的东西。其他人建议您需要安装它:

Install-Package Microsoft.AspNetCore.SignalR.Client -Version 1.1.0
Run Code Online (Sandbox Code Playgroud)

我已经尝试过,但错误仍然存​​在,我该如何消除这些错误?

在此处输入图片说明

c# signalr .net-core

5
推荐指数
3
解决办法
3339
查看次数

SSRS BIDS表达式根据传递的参数显示/隐藏图像

如果选择某个字段,是否可以提供可用的图像,在本例中,参数为@employeename,我只希望在某个值为 true 时显示已放置在报表上的图像。

语法是什么,我关心的字段是员工姓名

在此输入图像描述

sql-server expression bids reporting-services ssrs-expression

4
推荐指数
1
解决办法
9896
查看次数

打开/关闭音乐按钮Console.Beep

我有一个带有文字的按钮,上面有音乐开/关.

使用以下Console.Beep()代码:

private void button1_Click(object sender, EventArgs e)
{
    Console.Beep(659, 125);
    Console.Beep(659, 125);
    Thread.Sleep(125);
    Console.Beep(659, 125);
    Thread.Sleep(167);
    Console.Beep(523, 125);
    Console.Beep(659, 125);
    Thread.Sleep(125);
    Console.Beep(784, 125);
    Thread.Sleep(375);
    Console.Beep(392, 125);
    Thread.Sleep(375);
    Console.Beep(523, 125);
    Thread.Sleep(250);
    Console.Beep(392, 125);
    Thread.Sleep(250);
    Console.Beep(330, 125);
    Thread.Sleep(250);
    Console.Beep(440, 125);
    Thread.Sleep(125);
    Console.Beep(494, 125);
    Thread.Sleep(125);
    Console.Beep(466, 125);
    Thread.Sleep(42);
    Console.Beep(440, 125);
    Thread.Sleep(125);
    Console.Beep(392, 125);
    Thread.Sleep(125);
    Console.Beep(659, 125);
    Thread.Sleep(125);
    Console.Beep(784, 125);
    Thread.Sleep(125);
    Console.Beep(880, 125);
    Thread.Sleep(125);
    Console.Beep(698, 125);
    Console.Beep(784, 125);
    Thread.Sleep(125);
    Console.Beep(659, 125);
    Thread.Sleep(125);
    Console.Beep(523, 125);
    Thread.Sleep(125);
    Console.Beep(587, 125);
    Console.Beep(494, 125);
    Thread.Sleep(125);
    Console.Beep(523, …
Run Code Online (Sandbox Code Playgroud)

c# console beep

4
推荐指数
1
解决办法
6012
查看次数

加入具有多个匹配的表,但只返回指定的匹配

我有3张桌子.
表A包含我的查询将基于的数据.它包含id1.表B是我的连接表,它包含我关注的2列:id1和id2.

表C是我的查找表,它包含id2和ReasonName.我需要列'ReasonName'和表A中的所有数据.

如果我执行以下SQL:

 SELECT NAME, 
       STARTDATE, 
       ENDDATE, 
       REASON, 
       ID1 
FROM   TABLEA 
       LEFT JOIN TABLEB 
              ON TABLEA.ID1 = TABLEB.ID1
Run Code Online (Sandbox Code Playgroud)

然后,我可以对TableC进行第二次连接,但这就是问题所在.TableC中有多个匹配,因此我的总数增加.我需要避免这种情况.请参阅图像了解TableC的外观:

在此输入图像描述

如果我的SQL语句现在看起来像这样:

 SELECT TABLEA.NAME, 
       TABLEA.STARTDATE, 
       TABLEA.ENDDATE, 
       TABLEA.REASON, 
       TABLEA.ID1, 
       TABLEC.REASONNAME 
FROM   TABLEA 
       LEFT JOIN TABLEB 
              ON TABLEA.ID1 = TABLEB.ID1 
       LEFT JOIN TABLEC 
              ON TABLEB.ID2 = TABLEC.ID2 
Run Code Online (Sandbox Code Playgroud)

然后我的行增加大约1000.这是因为TableA.id1很可能匹配TableC中找到的多个id2.然后它复制除了不同的TableC.ReasonName之外的行.

在TableC中,我关注的是一个ReasonName.对于这个例子,我会说它是'reasonf'.

我需要的是从TableC中引入ReasonName,但只包含包含reasonf的那些,其余我想说的是NULL或者使用'No Reason'来执行COALESCE.我已经尝试将WHERE子句放入语句中.请参见SQL:

 SELECT TABLEA.NAME, 
       TABLEA.STARTDATE, 
       TABLEA.ENDDATE, 
       TABLEA.REASON, 
       TABLEA.ID1, 
       TABLEC.REASONNAME 
FROM   TABLEA 
       LEFT JOIN TABLEB 
              ON TABLEA.ID1 = TABLEB.ID1 
       LEFT JOIN TABLEC 
              ON TABLEB.ID2 = TABLEC.ID2 
WHERE  TABLEC.ID2 = 'asd1f5as98a4' 
Run Code Online (Sandbox Code Playgroud)

但是它只会带来那些与'reasonf'匹配的记录,我希望它显示reasonf人并忽略其余的(留空或什么)所以我没有重复但我的完整结果集.

我想我可能需要更改为正确的联接或可能更改WHERE但我不完全确定.

sql t-sql sql-server-2008

4
推荐指数
1
解决办法
9074
查看次数

EWS 订阅收件箱中的流通知

我尝试编写一个控制台应用程序,它将使用 EWS 建立与邮箱的连接,然后在每次收到新电子邮件时打印一行。

完成这项工作后的最终结果是将其变成一项服务,并在每次电子邮件到达某个邮箱时创建一个任务,但现在我无法让控制台在收到时写一行。

控制台应用项目

程序.cs

class Program
{
    static void Main(string[] args)
    {
         ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2013);
         WebCredentials wbcred = new WebCredentials("myusername", "mypassw0rd");
         service.Credentials = wbcred;
         service.AutodiscoverUrl("myemailaddress@mydomain.com", RedirectionUrlValidationCallback);

         EWSConnection.SetStreamingNotifications(service);
    }

    internal static bool RedirectionUrlValidationCallback(string redirectionUrl)
    {
        //The default for the validation callback is to reject the URL
        bool result = false;

        Uri redirectionUri = new Uri(redirectionUrl);
        if (redirectionUri.Scheme == "https")
        {
            result = true;
        }
        return result;
    } 
}
Run Code Online (Sandbox Code Playgroud)

类库项目

EWSConnection.cs

  public static void SetStreamingNotifications(ExchangeService service)
        {
            StreamingSubscription …
Run Code Online (Sandbox Code Playgroud)

c# exchangewebservices

4
推荐指数
1
解决办法
3100
查看次数