我需要从ASP.NET Web API控制器以纯文本形式获得响应.
我试过做一个请求,Accept: text/plain但它似乎没有做的伎俩.此外,请求是外部的,不受我的控制.我要做的是模仿旧的ASP.NET方式:
context.Response.ContentType = "text/plain";
context.Response.Write("some text);
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
编辑,解决方案:根据Aliostad的回答,我添加了WebAPIContrib文本格式化程序,在Application_Start中初始化它:
config.Formatters.Add(new PlainTextFormatter());
Run Code Online (Sandbox Code Playgroud)
我的控制器最终结果如下:
[HttpGet, HttpPost]
public HttpResponseMessage GetPlainText()
{
return ControllerContext.Request.CreateResponse(HttpStatusCode.OK, "Test data", "text/plain");
}
Run Code Online (Sandbox Code Playgroud) 关于如何为多目标设置我的visual studio构建,我有点困惑.
背景:c#.NET v2.0,带有p /调用第三方32位DLL,SQL compact v3.5 SP1,带有安装项目.现在,平台目标设置为x86,因此可以在Windows x64上运行.
第三方公司刚刚发布了他们的DLL的64位版本,我想建立一个专用的64位程序.
这提出了一些我还没有得到答案的问题.我想拥有完全相同的代码库.我必须使用32位DLL或64位DLL的引用来构建.(第三方和SQL Server Compact)
这可以通过2组新配置(Debug64和Release64)来解决吗?
我必须创建2个单独的安装项目(标准视觉工作室项目,没有Wix或任何其他实用程序),还是可以在同一个.msi中解决?
任何想法和/或建议都会受到欢迎.
在服务器回答请求之前,浏览器在显示错误之前等待多长时间?这次可以无限制吗?
所以我被提示在VS2010中下载最新的NuGet Package Manager.以前的所有更新(包括此更新)都失败了:
VSIXInstaller.SignatureMismatchException: The installed version of 'NuGet Package Manager' is signed, but the update version has an invalid signature. Therefore, Extension Manager cannot install the update.
这本身已经持续了一段时间,而且他们仍然没有修复它(参见Q&A).
好的,以前我可以简单地卸载NuGet扩展并安装最新版本.但是,这次,Disable和Uninstall按钮都被禁用.所以我无法卸载,我无法升级.
Catch22.
如何从Visual Studio中手动删除NuGet扩展?
为了摆脱NuGet,我必须杀死哪些文件/文件夹/ reg条目?
在ASP.NET MVC,可以访问表单发布数据:
var thisData = Request.Form["this.data"];
Run Code Online (Sandbox Code Playgroud)
是否可以在Web API ApiController中实现相同的功能?
作为讨论的基础.创建一个标准的ASP.NET MVC Web项目.
它将在母版页中包含两个菜单项:
<div id="menucontainer">
<ul id="menu">
<li>
<%= Html.ActionLink("Home", "Index", "Home")%></li>
<li>
<%= Html.ActionLink("About", "About", "Home")%></li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
如何设置指示当前页面的可视CSS样式.例如,在About页面/控制器中,我基本上想要这样做:
<%= Html.ActionLink("About", "About", "Home", new {class="current"})%></li>
Run Code Online (Sandbox Code Playgroud)
当然,当在主页上时:
<%= Html.ActionLink("Home", "Index", "Home", new {class="current"})%></li>
Run Code Online (Sandbox Code Playgroud)
(CSS样式名称当前在菜单中可视地指示这是当前页面.)
我可以将菜单div从主页面分成内容占位符,但这意味着我必须将菜单放在每个页面上.
任何想法,有一个很好的解决方案吗?
我有一个3个表,看起来像这样:

在外键上我设置了级联删除.现在,当我删除Folder表中的记录时,只删除FolderItem中的相关记录.
这是预期和正确的.
我要完成的是当我删除Folder表中的记录时,应该删除FolderItem和Item表中的相应记录.
我该如何解决这个问题?通过添加一个触发器来删除有问题的FolderID的所有Item实例?或者有更好的解决方案吗?
我不能让这个工作.
我克隆了一个有一个虚拟文件(名为src)的存储库:/path/src.
在Windows上我创建了一个符号链接:( mklink -d /path/src /otherplace/src但我当然必须先删除虚拟src文件).
在我.gitignore和.git/info/exclude我都有
/path/src/
/path/src
path/src/
path/src
Run Code Online (Sandbox Code Playgroud)
我试过了
git ls-files -s | gawk '/120000/{print $4}'
git update-index path/src/ --assume-unchanged
Run Code Online (Sandbox Code Playgroud)
但我仍然得到:
error: readlink("path/src"): Function not implemented
error: unable to index file path/src
fatal: updating files failed
Run Code Online (Sandbox Code Playgroud)
我有一个名为Downloads的MVC控制器.HTTP:// mysite的/下载
我还想将物理文件放在名为http://mysite/Downloads/MyFile.zip的物理文件夹中.
如果我只是创建一个文件夹,那么在浏览到http:// mysite/Downloads时会得到403 .(很可能是因为目录浏览被禁用)但我希望MVC控制器能够启动.
我怎么做?