我有一个用ASP.NET MVC 4框架编写的Web服务.它的基本CRUD操作很好地映射到REST动词,但是我需要添加一个不需要的动作.
指定有时在URL结尾处传递ID的正确方法是什么,你知道它将是一个Integer类型,有时候它是一个"action"一个String类型后跟一个斜杠和一个int ID?需要帮助正确的路由器地图.
思考?注意:我更关注WebAPI然后是100%REST.
示例网址
//获取小部件列表
http://somedomain.com/api/widget
//获取特定小部件
http://somedomain.com/api/widget/1
// POST - 对特定小部件采取特殊操作 - 提升
http://somedomain.com/api/widget/promote/1
这是处理它的正确方法吗?
routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
routes.MapHttpRoute(
name: "DefaultApiExtended",
routeTemplate: "api/{controller}/{action}/{id}"
);
Run Code Online (Sandbox Code Playgroud) 如何在C#中完成以下操作?
var someType = new CustomerMessageHandler<CustomerMessage>();
var nType = someType.GetGenericArguments().First().GetType();
// except the next line of code would be a (Action<nType>)
var a = new Action<string>();
Run Code Online (Sandbox Code Playgroud)
Reflection.Emit,Expressions或F#是否有一个很好的解决方案?
注意:"基于约定"的方法对我来说不是一个选择.而且我想看看这是否有可能推动我的C#/ F#技能.
既然Nashorn在Java 8中可用,是否有办法用JavaScript文件编写JavaFX应用程序?我在哪里可以找到更多关于此的信息或视频?你会怎么编译它?
或者是否需要一组最小的bootstrapping文件?
我正在使用数据库'向导'设置中的Entity Framework 6.1模型.当我从我的上下文创建一个Business对象然后尝试添加附件然后SaveChanges()没有任何反应.有跟踪模式吗?或者我可以转过身来看看封面下发生了什么.
简单的例子:
var fb = _context.Business.Create();
//fb.Id exists and is an int but it is auto incr in the db
fb.Name = ub.ACCOUNT_NAME;
fb.ServiceManager = ub.SERVICE_MANAGER;
fb.AccountManager = ub.ACCOUNT_MANAGER;
fb.SalesPerson = ub.SALESPERSON;
fb.Created = DateTime.UtcNow;
fb.Updated = DateTime.UtcNow;
_context.Add(fb);
_context.SaveChanges();
Run Code Online (Sandbox Code Playgroud) 假设存储过程需要10分钟才能运行并且不返回任何数据.
在SQL Server中调用存储过程并让代码不等待结果的正确方法是什么?有没有办法从T-SQL或连接中处理它?在ADO.NET和经典ActiveX ADO中有效的东西?
我想到的唯一方法是:
1)在T-SQL中创建一个作业
2)将基于T-SQL的代码加载到作业的第一步中
3)确保代码的最后一行删除作业
4)执行作业(我很确定这不会让你因为回应而停下来)我知道这是非常糟糕和苛刻的......但是
还有其他一些我没想到的T-SQL,你可以用一个存储过程来说"我知道没有回应......所以我选择不等待."?
每当我的Site.Master视图被处理时,我想在我的css链接的路径上添加一点变化.这样做的正确方法是什么?我的代码目前打破了Default.aspx,说我还没有定义cssLink.Site.Master代码如下:
<script runat="server">
void Page_Load(object sender, EventArgs e)
{
string cssLoc = "../../Content/css/expect.css?t=" + DateTime.Now.Ticks.ToString();
string cssLink = String.Format(@"<link rel=""stylesheet"" type=""text/css"" href=""{0}"" />", cssLoc);
}
</script>
<!DOCTYPE html>
<html>
<head id="Head1" runat="server">
<asp:ContentPlaceHolder ID="head" runat="server">
<title></title>
</asp:ContentPlaceHolder>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<%= cssLink %>
<script type="text/javascript" src="../../Scripts/jquery.js"></script>
</head>
Run Code Online (Sandbox Code Playgroud)
另外,有没有解决"XHTML过渡,标题发生太少次"的消息?
更新:
请忽略范围界定问题.见理查德的回答.但我应该注意到,解决这个问题并不能解决问题.
我认为由于Inherits ="System.Web.Mvc.ViewMasterPage"声明,整个
<script runat="server">块不会被处理.
在NHibernate映射中获得YesNo Boolean类型的反向行为的最佳方法是什么?
我希望'Y'表示假,'N'表示真.
有没有NoYes类型?你写自定义类型?真的很容易吗?
需要反转布尔值的这个问题存在于超过40个表的至少一个字段上.试图适应遗留数据库.
您如何制作可以编辑自己外观的应用程序?可以调整自己的XAML文件吗?然后重新加载它们.我在想一个类似记事本的文本编辑器,而不是视觉设计师.
从"铁"脚本语言显示之后,所有事件/代码都将被绑定.
我是LINQ的新手.这是我到目前为止的代码:
public class Folder
{
public Folder(string path)
{
string[] files = Directory.GetFiles(path);
IList<FileInfo> fis = new List<FileInfo>();
files.SomeMethod(x => fis.Add(new FileInfo(x)));
}
}
Run Code Online (Sandbox Code Playgroud)
使用此替换SomeMethod以使其工作的正确方法名称是什么?我基本上只是喜欢在这里编写循环的更简洁的方法.
抛出Jr.和Mid级开发人员的一个很好的简单问题,如果有机会编程到接口(如简单的工厂模式),他们是否会这样做?