小编Yan*_*eau的帖子

Web API适用于典型的n层架构?

通常当我为项目布局n层架构时,我有以下层:

  • (域模型,存储库合同)
  • 数据(在域模型之上工作的存储库)
  • 服务(聚合回购,缓存,验证)
  • 演示文稿(mvc应用程序)

考虑到它将被实际应用程序和外部客户端使用,ASP.NET MVC 4 Web API在哪里适合这一点?它是服务层的一部分还是使用服务层并与MVC应用程序位于同一级别?

asp.net-mvc n-tier-architecture asp.net-web-api

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

如何打印TextBox的内容

如何在metro应用程序中打印TextBox的内容?我已经阅读了关于MSDN和许多在线教程的快速入门指南,但它们非常复杂,不能与TextBox控件一起使用,只能使用RichTextBox控件.

我们如何从Metro应用程序中的TextBox控件打印?它甚至可能吗?怎么样?

.net c# microsoft-metro windows-8 windows-store-apps

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

向图表中的所有d3.js数据点添加唯一链接

我正在使用nvd3.js创建一个线图,显示我随时间计算的评级.我有关于每个单独数据点(评级)的更多信息,并希望将图表上的每个数据点链接到一个唯一页面,其中包含有关该特定数据点的更多信息.

例如:我希望能够将鼠标悬停在图表上的第一个数据点(x:1345457533,y:-0.0126262626263)并单击它以转到特定页面(http://www.example.com/) info?id = 1)提供有关该评级或数据点的更多信息.每个数据点都有一个唯一的ID和唯一的URL,我想链接到它.

这是我用来生成图形的代码:

nv.addGraph(function() {
  var chart = nv.models.lineChart();

  chart.xAxis
      .axisLabel('Time')
      .tickFormat(d3.format('r'));

  chart.yAxis
      .axisLabel('Rating')
      .tickFormat(d3.format('.2f'));

  d3.select('#chart svg')
      .datum(data())
      .transition().duration(500)
      .call(chart);

  nv.utils.windowResize(chart.update);

  return chart;
});

function data() {
  var data = [ { x: 1345457533, y: -0.0126262626263 },
               { x: 1345457409, y: 0.0224089635854 },
               { x: 1345457288, y: 0.0270935960591 },
               { x: 1345457168, y: -0.0378151260504 },
               { x: 1345457046, y: -0.115789473684 } ]

  return [
    {
      values: data,
      key: "Sample1",
      color: "#232066"
    }
  ];
} …
Run Code Online (Sandbox Code Playgroud)

javascript svg d3.js nvd3.js

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

ASP.NET MVC可通过区域路径访问的默认路由

到目前为止(为了简洁起见)我在global.asax中有一条路由如此注册:

routes.Add(new LowercaseRoute("{action}/{id}", new MvcRouteHandler())
  {
    Defaults = new RouteValueDictionary(new { controller = "Home", action = "Index", id = UrlParameter.Optional }),
    DataTokens = rootNamespace
  }); 
Run Code Online (Sandbox Code Playgroud)

"rootNamespace"的位置

var rootNamespace = new RouteValueDictionary(new { namespaces = new[] { "MyApp.Web.Controllers" } });
Run Code Online (Sandbox Code Playgroud)

LowercaseRoute继承自Route,只是使所有路径都为小写.我还有一个像这样注册的区域:

context.Routes.Add(new LowercaseRoute("admin/{controller}/{action}/{id}", new MvcRouteHandler())
  {
    Defaults = new RouteValueDictionary(new { action = "List", id = UrlParameter.Optional }),
    DataTokens = adminNamespace
  });
Run Code Online (Sandbox Code Playgroud)

adminNamespace是另一个名称空间,与默认路由中的名称相同,但具有正确的名称空间.这工作正常,我可以访问如下所示的URL:

http://example.com/contact  <- default route, "Home" controller
http://example.com/admin/account  <- area route, "Account" controller, default "List" action
Run Code Online (Sandbox Code Playgroud)

问题是这个

http://example.com/admin/home/contact
Run Code Online (Sandbox Code Playgroud)

也有效.在"admin"区域下没有"home"控制器,其中包含"联系"操作.它从"/ …

asp.net-mvc-routing asp.net-mvc-areas asp.net-mvc-3

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

PowerShell中的SVN输出编码

我正在尝试在PowerShell脚本中捕获字符串中的SVN日志.

在命令行中,输出的编码是正确的,但是只要我在字符串中捕获它就不是:

PS C:\sandbox> svn log -r1804 https://myserver.here/svn/myrepo
--------------------------------------------------------------
r1804 | myname | 2012-06-07 | 1 line
Here is my log message with a special caractère
--------------------------------------------------------------
PS C:\sandbox> $tempStr = svn log -r1804 https://myserver.here/svn/myrepo | Out-String
PS C:\sandbox> $tempStr
--------------------------------------------------------------
r1804 | myname | 2012-06-07 | 1 line
Here is my log message with a special caractére
--------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

如果它可以帮助,这是我的系统上$ OutputEncoding的值:

IsSingleByte      : True
BodyName          : us-ascii
EncodingName      : US-ASCII
HeaderName        : us-ascii
WebName           : us-ascii
WindowsCodePage   : 1252
IsBrowserDisplay …
Run Code Online (Sandbox Code Playgroud)

svn powershell character-encoding

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

三元运算符和函数签名

假设我有一个带有两个函数的C++类

class MyClass
{
    bool Foo(int val);
    bool Foo(string val);
}
Run Code Online (Sandbox Code Playgroud)

是否可以像这样使用三元运算符

MyClassInstance->Foo(booleanValue?24:"a string");
Run Code Online (Sandbox Code Playgroud)

并具有不同的函数MyClass调用取决于值booleanValue

c++ ternary-operator function-signature

9
推荐指数
4
解决办法
2134
查看次数

ViewModel成员的可见性应该是什么?

我遇到了一个有趣的问题,我还没有找到解释......

鉴于下面非常简单的MVVM WPF应用程序,为什么只有在ViewModel中的可见性设置为public?时,列表才会绑定到组合框?

更改TestList可见性以internal在编译时不会引发错误或警告,但在运行时将组合框保留为空.

引用官方文档:internal类型或成员只能在同一程序集中的文件中访问.

尽管View和ViewModel在同一个程序集中定义,但这个问题仍在发生.

以下是代码的外观:

模型:

class TestModel
{
    internal List<string> Musketeers { get; private set; }

    public TestModel()
    {
        Musketeers = new List<string> { "Athos", "Porthos", "Aramis" };
    }
}
Run Code Online (Sandbox Code Playgroud)

视图:

<Window x:Class="TestWpfApplication.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Grid>
        <ComboBox Width="250" Height="25" ItemsSource="{Binding TestList}" />
    </Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)

视图模型:

class TestViewModel : INotifyPropertyChanged
{
    TestModel myModel = new TestModel();

    public List<string> TestList
    {
        get
        {
            return myModel.Musketeers;
        }
    }

    // INotifyPropertyChanged …
Run Code Online (Sandbox Code Playgroud)

c# wpf mvvm

8
推荐指数
2
解决办法
143
查看次数

GZip标头中的幻数不正确.确保传入GZip流.(.exe文件)

我想提取一个exe文件.exe文件包含一些文件和文件夹.当我尝试使用winrar提取文件时,它会被提取,但是当我尝试使用一些示例提取exe文件时,我收到此错误:

GZip标头中的幻数不正确.确保传入GZip流.

我已经使用了一些样本并搜索了很多我的问题,但没有得到我的答案,我也使用了一些库.

我使用此代码但错误相同:

    public static void Decompress(FileInfo fi)
    {
        // Get the stream of the source file.
        using (FileStream inFile = fi.OpenRead())
        {
            // Get original file extension, for example
            // "doc" from report.doc.gz.
            string curFile = fi.FullName;
            string origName = curFile.Remove(curFile.Length -
                    fi.Extension.Length);

            //Create the decompressed file.
            using (FileStream outFile = File.Create(origName))
            {
                using (GZipStream Decompress = new GZipStream(inFile,
                        CompressionMode.Decompress))
                {
                    // Copy the decompression stream 
                    // into the output file.
                    Decompress.CopyTo(outFile);

                    Console.WriteLine("Decompressed: {0}", fi.Name);

                }
            }
        } …
Run Code Online (Sandbox Code Playgroud)

c# compression unzip self-extracting winforms

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

使用 Lambda 代理集成在来自 API Gateway 的 5XX 响应上添加 CORS 标头

我有一个与 API Gateway 的 Lambda 代理集成,工作正常。

CORS 直接在 lambda 代码中处理,并检查授权域列表。

但现在的问题是 Lambda 执行期间出现意外错误。

在这种情况下,API Gateway 会返回以下消息:

{
    message: "Internal server error"
}
Run Code Online (Sandbox Code Playgroud)

带有502HTTP 状态代码。对我来说不幸的Access-Control-Allow-Origin是,该响应中缺少标头,这导致客户端出错。

例如,超时也会发生同样的情况。HTTP 状态码是然后504但响应内容和缺少Access-Control-Allow-Origin是一样的。

在权限问题的情况下也会出现同样的问题:如果 API 网关没有足够的权限来调用 Lambda,则会500返回错误,但同样没有任何标头。

'*'在 Lambda 错误的情况下,固定值是可以的,但是如何以及在哪里配置它?

amazon-web-services aws-lambda aws-api-gateway

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

使用C#NHunspell如何检查单词?

使用C#NHunspell,如何检查单词是否拼写正确,如果不正确拼写是什么?

我已将NHunspell.dll导入到项目中.并查看了文档.

但是在阅读文档方面有点新意,很难知道从哪里开始.有人可以举例说明如何拼写单词拼写正确吗?基本上我需要一个NHunspell的Helloworld.

c# spell-checking hunspell nhunspell

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