小编Abh*_*Net的帖子

在这个自我引用继承代码中发生了什么?

我有这个代码由另一个程序员编写,我无法理解它

public abstract class AppBase<T> : IApp where T : AppBase<T>, new()
{
    //
}
Run Code Online (Sandbox Code Playgroud)

从我的理解的AppBase类类型T实现的接口IApp,其中T实现???

有人可以解释最后一部分吗?

c# oop inheritance interface

8
推荐指数
1
解决办法
83
查看次数

在VBA中转置范围

我试图通过VBA宏在Excel中转​​置一系列单元格,但我收到一些错误,主要是错误91.

我对VBA很新,对功能也不太了解.

Range(InRng).Select
Set Range1 = Selection
Dim DestRange As Range
Set DestRange = Application.WorksheetFunction.Transpose(Range1)
Run Code Online (Sandbox Code Playgroud)

经过几个论坛后,这就是我想出的.需要注意的一点是,我不必将它们复制到任何其他单元格中.

我想要实现的是创建一个协方差方法,在选项窗口中,用户可以选择范围,然后按列或行选择,这将影响生成的协方差矩阵.

excel vba excel-vba

6
推荐指数
2
解决办法
13万
查看次数

只有数据模板列中的最后一个控件才会更新

我有一个DataTemplate2列的列DatePickers绑定到2个属性.当更改这些控件中的数据时,仅更新最后一个控件

        <sdk:DataGridTemplateColumn Width="300"  CanUserReorder="False" >              
         <sdk:DataGridTemplateColumn.CellTemplate>
               <DataTemplate>
                 <Grid MouseRightButtonDown="ActionsGrid_MouseRightButtonDown" Width="300" Height="40" MouseLeftButtonDown="ActionsGrid_MouseLeftButtonDown">
                        <StackPanel Orientation="Horizontal">
                             <TextBlock VerticalAlignment="Stretch" Width="100" Text="{Binding Start,  Converter={StaticResource DateConverter}}"
                                         Padding="2" HorizontalAlignment="Center" />
                             <TextBlock VerticalAlignment="Stretch" Width="100" Text="{Binding Due, Converter={StaticResource DateConverter}}"
                                         Padding="2" HorizontalAlignment="Center" />
                         </StackPanel>
                  </Grid>
                </DataTemplate>                                                  
          </sdk:DataGridTemplateColumn.CellTemplate>
    <sdk:DataGridTemplateColumn.CellEditingTemplate>
               <DataTemplate>
                     <StackPanel Orientation="Horizontal">
                       <sdk:DatePicker VerticalAlignment="Top" Width="100" SelectedDate="{Binding Start, Mode=TwoWay,}" Padding="2" />
                       <sdk:DatePicker VerticalAlignment="Top" Width="100" SelectedDate="{Binding Due, Mode=TwoWay, ValidatesOnDataErrors=True}"  Padding="2" />
                     </StackPanel>
               </DataTemplate>  
     </sdk:DataGridTemplateColumn.CellEditingTemplate>
   </sdk:DataGridTemplateColumn>
Run Code Online (Sandbox Code Playgroud)

在这种情况下,如果我更新Start和Due Only Due更新.此外绑定工作正常,因为如果我在我的Model类中的Start上放置一个breakPoint它会被命中但是传递的值是Start的原始值

编辑1

经过一些调试后我发现如果我内部只有一个控件DataTemplate就可以了.当我改变日期时,断点也会立刻被击中.但是如果我有多个控件,那么在我从列中聚焦之后才会触发断点,然后只有最后一个绑定工作.

编辑2

经过一些mroe调试后,我注意到如果我只使用CellTemplate并丢弃单元格它会正常工作EditTemplate

     <sdk:DataGridTemplateColumn …
Run Code Online (Sandbox Code Playgroud)

c# wpf xaml binding silverlight-4.0

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

访问Amazon S3时需要HTTP 407代理验证

我已经尝试了一切,但我似乎无法解决这个问题,只有一个客户端在公司代理/防火墙后面发生.我们的Silverlight应用程序连接到Amazon S3以下载/上载某些文档.在一个客户端和一个客户端上只返回407错误,之后应用程序无法保存任何内容.

Inner Exception:
 System.ServiceModel.ProtocolException: [UnexpectedHttpResponseCode]
Arguments: 407,Proxy Authentication Required
Run Code Online (Sandbox Code Playgroud)

我们在不同的客户端有类似的东西,但有更多的CORS问题.为了解决这个问题,我使用cloud-front伪造了一个子域,然后访问S3存储桶并解决了这个问题.我希望它能解决它与这个客户端,但它没有.

我已经尝试将此代码添加到web.config中,如许多答案所示

 <system.net>
      <defaultProxy useDefaultCredentials="true" >
      </defaultProxy>
   </system.net>
Run Code Online (Sandbox Code Playgroud)

我已经阅读了有关使用用户名和密码通过基础身份验证传递代理标头的文章,但我不确定这对我们有何帮助.客户端使用代理服务器,它需要的任何身份验证都在我们的域之外.

**Additional Information**
Run Code Online (Sandbox Code Playgroud)

Silverlight代码引用了2个服务.一个是我们的wcf服务,它检索应用程序的所有数据.一个是使用亚马逊Soap api的Amazon S3服务,其端点位于http://s3.amazonaws.com/doc/2006-03-01/AmazonS3.wsdl

如果我进入我们的应用程序并且仅使用不对Amazon S3 api进行任何调用的系统的一部分,该应用程序工作正常.一旦我转到调用S3的系统的一部分,问题就开始了.有趣的是,对S3的调用很顺利,我可以检索文档,但是对我们的wcf服务的任何调用都返回407.

有任何想法吗?

**Update 2**
Run Code Online (Sandbox Code Playgroud)

根据Elliot Nelson的评论,我检查了我们用于在我们的应用程序中发出http请求的堆栈.原来我们默认使用http和https请求的客户端http.这是我们在App.xaml构造函数中的代码

  public App()
        {
            Startup += Application_Startup;
            UnhandledException += Application_UnhandledException;

            InitializeComponent();

            WebRequest.RegisterPrefix("http://", WebRequestCreator.ClientHttp);
            WebRequest.RegisterPrefix("https://", WebRequestCreator.ClientHttp);

        }
Run Code Online (Sandbox Code Playgroud)

现在,了解clienthttp和browserhttp之间的区别以及何时使用它们.此外,切换到browserhttp的潜在影响/问题.

**Update 3**
Run Code Online (Sandbox Code Playgroud)

有没有办法请求浏览器以受信任模式运行浏览器内的Silverlight应用程序,它是否有助于绕过此问题?

http amazon-s3 amazon-web-services http-status-code-407 silverlight-5.0

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

HttpRuntime.Cache在哪里存储数据?

我正在尝试实现具有缓存功能的Web应用程序。我需要缓存的原因是因为我们有一个可以让用户访问在线课程的应用程序。现在,一旦用户登录,我就可以根据我们的数据库对其进行验证。验证后,我想将用户ID和课程ID在缓存中存储20分钟,这样,如果他再次请求,我就可以从缓存中检索用户ID和课程ID的值,如果有效,则为他提供访问权限出于某些原因,我无法在此应用程序中使用Session变量,因此它们不是一个选择。

现在,我的应用程序中的缓存代码位于HTTP Handler(.ashx文件)内部。现在,我尝试像对aspx页面那样调用缓存对象,但是我做不到,可能是因为它是处理程序而不是网页。所以,

Cache.Insert("Id", 123); 
Run Code Online (Sandbox Code Playgroud)

将无法在Handler中使用。因此,我尝试了HTTPRuntime.cache。但是经过一些研究,我发现HTTPRuntime.cache对于整个应用程序是通用的。我不完全了解“整个应用程序”。这是否意味着它由访问我们应用程序的不同计算机上的所有用户共享?还是意味着它由访问我们应用程序的一台计算机上的所有用户共享。因为如果是后者,我可以接受。那么,HTTPRuntime.cache是​​一种为一个浏览器(或一台计算机)缓存数据的好方法,还是有另一种更好的方法来实现浏览器缓存来存储数据?

c# asp.net

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

为Amazon S3创建IAM策略

我正在尝试实施IAM策略,其中用户只能访问他有权访问的文件夹.我从亚马逊文档中获取了此代码

允许用户仅列出公司存储桶中其主目录中的对象

此示例基于前一个示例,该示例为Bob提供了主目录.为了让Bob能够列出其主目录中的对象,他需要访问ListBucket.但是,我们希望结果只包含其主目录中的对象,而不是桶中的所有内容.为了限制他的访问方式,我们使用名为s3:prefix的策略条件键,其值设置为home/bob/.这意味着只有具有前缀home/bob /的对象才会在ListBucket响应中返回.

{
  "Statement":[{
    "Effect":"Allow",
    "Action":"s3:ListBucket",
    "Resource":"arn:aws:s3:::my_corporate_bucket",
    "Condition":{
      "StringLike":{
      "s3:prefix":"home/bob/*"
    }
  }]
}
Run Code Online (Sandbox Code Playgroud)

这不适合我.当我运行我的代码时,我能够看到所有文件夹和子文件夹.我修改过的代码看起来像这样:

{
  "Statement":[{
    "Effect":"Allow",
    "Action":"s3:ListBucket",
    "Resource":"arn:aws:s3:::Test-test",
    "Condition":{
      "StringLike":{
      "s3:prefix":"Test/*"
    }
  }]
}
Run Code Online (Sandbox Code Playgroud)

当我使用附加到上述策略的用户的凭据在c#中运行我的代码时,我得到所有文件夹,而不仅仅是"测试"下的那个...真的很感激一些帮助!

amazon-s3

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

Collection <T>不包含ICollection接口的所有属性

Collection<T>类实现多个接口,其和为一ICollection.该ICollection接口有2个未实现的属性Collection<T>.

在C#中,我认为你必须在继承它的类中实现接口的所有方法和属性.那么如何Collection<T>允许上课呢?

.net c# inheritance interface

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

如何在Amazon S3中获取对象的MIME类型?

有没有办法在S3中检索对象的MIME类型.我正在尝试实现一个解决方案,我将从S3获取多个对象.我可以以某种方式从Amazon S3获取MIME类型,而不是使用密钥然后获取子字符串来计算MIME类型吗?我正在使用cloud berry explorer pro,我知道它让你设置MIME类型,但我们如何使用AWS SDK for .NET或REST API检索这些信息?

.net amazon-s3 amazon-web-services

3
推荐指数
2
解决办法
6937
查看次数

根据另一列的值对数据表中的列求和

我有一个数据库表,我用它作为报告的来源.表格布局如下.表1是较大数据库表的子集.但是对于报告我只需要某些列所以我使用下面给出的函数创建一个新的数据表

Value  Description   Hours
    1          A           2
    2          B           3
    3          C           5
    1          A           3
    2          B           4
    2          B           3
    3          C           3


private DataTable CreateFocusOfEffortData()
    {
        var dtChartData = new DataTable();
        dtChartData.Columns.Add("Description", typeof(string));
        dtChartData.Columns.Add("Hours", typeof(Double));
        var myDataView = ReportData.DefaultView;
        myDataView.RowFilter = "ActivityUnitID = " + _ActivityUnitID;
        for (var i = 0; i < myDataView.ToTable().Rows.Count; i++)
        {
            var dataRow = new Object[dtChartData.Columns.Count];
            dataRow[0] = ReportData.Rows[i]["Description"];
            dataRow[1] = csaConvert.ToDouble(ReportData.Rows[i]["Hours"]);
            dataRow[2] = ReportData.Rows[i]["Value"];
            dtChartData.Rows.Add(dataRow);
        }
        return dtChartData;
    }
Run Code Online (Sandbox Code Playgroud)

现在我需要设计另一份报告,其中包含上表中的摘要数据.此表应根据Column ["Value]组合所有列的数据.例如,在我的情况下,我们在Value …

c# sql

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