通常当我为项目布局n层架构时,我有以下层:
考虑到它将被实际应用程序和外部客户端使用,ASP.NET MVC 4 Web API在哪里适合这一点?它是服务层的一部分还是使用服务层并与MVC应用程序位于同一级别?
我正在使用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) 到目前为止(为了简洁起见)我在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"控制器,其中包含"联系"操作.它从"/ …
我正在尝试在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) 假设我有一个带有两个函数的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?
我遇到了一个有趣的问题,我还没有找到解释......
鉴于下面非常简单的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) 我想提取一个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) 我有一个与 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 错误的情况下,固定值是可以的,但是如何以及在哪里配置它?
使用C#NHunspell,如何检查单词是否拼写正确,如果不正确拼写是什么?
我已将NHunspell.dll导入到项目中.并查看了文档.
但是在阅读文档方面有点新意,很难知道从哪里开始.有人可以举例说明如何拼写单词拼写正确吗?基本上我需要一个NHunspell的Helloworld.
c# ×4
.net ×1
asp.net-mvc ×1
aws-lambda ×1
c++ ×1
compression ×1
d3.js ×1
hunspell ×1
javascript ×1
mvvm ×1
nhunspell ×1
nvd3.js ×1
powershell ×1
svg ×1
svn ×1
unzip ×1
windows-8 ×1
winforms ×1
wpf ×1