小编Bar*_*jen的帖子

ASP.NET Core表单POST导致HTTP 415 Unsupported Media Type响应

将表单POST HTTP request(Content-Type: application/x-www-form-urlencoded)发送到以下控制器会导致HTTP 415 Unsupported Media Type响应.

public class MyController : Controller
{
    [HttpPost]
    public async Task<IActionResult> Submit([FromBody] MyModel model)
    {
        //...
    }
}
Run Code Online (Sandbox Code Playgroud)

表单发布HTTP标头:

POST /submit HTTP/1.1
Host: example.com:1337
Connection: keep-alive
Content-Length: 219
Pragma: no-cache
Cache-Control: no-cache
Origin: https://example.com:1337
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36
Content-Type: application/x-www-form-urlencoded
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Referer: https://example.com:1337/submit
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.8,nl;q=0.6
Run Code Online (Sandbox Code Playgroud)

这曾经用于.NET 4.6上的ASP.NET MVC 5.

c# asp.net-core-mvc asp.net-core

132
推荐指数
9
解决办法
8万
查看次数

如何获取当前正在执行的javascript代码的文件路径

我正在尝试做一些类似C #include "filename.c"或PHP的东西,include(dirname(__FILE__)."filename.php")但是在javascript中.我知道我可以这样做,如果我可以从URL加载一个js文件(例如标签的src属性中给出的URL).有什么方法可以让javascript知道吗?

或者,是否有任何好方法从同一个域动态加载JavaScript(不知道具体的域)?例如,假设我们有两个相同的服务器(QA和生产),但它们显然具有不同的URL域.有没有办法做一些像include("myLib.js");myLib.js将从加载它的文件的域加载?

对不起,如果那有点令人困惑.

javascript include absolute-path src

57
推荐指数
6
解决办法
9万
查看次数

如何向Android添加额外的语言输入?

是否可以为Android添加额外的语言?我目前的Android手机只支持英文和中文输入.我也想拥有荷兰语,因为我可以用它来完成单词.最重要的问题是,如何在文本输入(键盘)GUI中轻松切换这些语言?

android

50
推荐指数
2
解决办法
38万
查看次数

选择/映射Powershell数组的每个项目到一个新数组

我在Powershell中有一个文件名数组,我想在它们前面添加一个路径并将结果放在一个新数组中.

在C#中,我可以使用Linq来做到这一点......

var files = new string[] { "file1.txt", "file2.txt" };
var path = "c:\temp\";
var filesWithPath = files.Select(f => path + f).ToArray();
Run Code Online (Sandbox Code Playgroud)

但是在Powershell中这样做的惯用方法是什么?看起来我可以使用foreach语法,但我认为必须有一个更简洁,更实用的方法来实现它.

powershell

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

HttpClientFactory.Create与新的HttpClient

我很好奇这HttpClientFactory堂课的目的是什么.没有描述MSDN上存在的原因(参见链接).

有些Create方法有更专业的参数,但大多数我不知道没有参数的调用和普通的构造函数之间有什么区别.


var httpClient = HttpClientFactory.Create();
Run Code Online (Sandbox Code Playgroud)

VS

var httpClient = new HttpClient();
Run Code Online (Sandbox Code Playgroud)

在大多数示例中,我看到使用了new HttpClient(),没有任何using语句,即使HttpClient该类派生自IDisposable.

由于HttpClient该类源自IDisposable,工厂是否有一些池化或缓存?是否有性能优势,或者无关紧要?

.net dotnet-httpclient

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

Wordpress(3.8)Admin UI样式CSS类

我一直在尝试查找可用于构建自定义模块管理页面但尚未成功的样式类的列表.是否有人知道可能具有表格,表格按钮等内容的这些类和描述的codex页面或其他列表?

特别是3.8会很棒,但实际上有什么帮助,因为我确信大多数类都保持不变.

css wordpress

20
推荐指数
1
解决办法
3万
查看次数

在发布模式下运行ASP.NET MVC 4应用程序不会捆绑和减少js文件

当我在发布模式下运行我的ASP.NET MVC 4应用程序时,捆绑包仍在输出未分隔和单独的js文件,而不是将其捆绑并缩小为更少的捆绑JavaScript文件.

有任何想法吗?

仅供参考,发布配置:

<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <system.web>
    <compilation xdt:Transform="RemoveAttributes(debug)" />
  </system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)

javascript asp.net-mvc asp.net-mvc-4 bundling-and-minification

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

沙盒,IFrame和允许同源

我一直在阅读有关<iframe>标签的HTML5添加内容.其中一个补充是包含沙盒标志,允许加载到其中的文档iframe与其父浏览器上下文进行交互.

在阅读了一些文档之后,我正在寻找一些清晰度.我已经阅读了MDNallow-same-origin标志描述:

允许将内容视为来自其正常来源.如果未使用此关键字,则嵌入的内容将被视为来自唯一来源.

在阅读W3C的规范后,我认为并不是很有帮助,有帮助:

... [我可以用来嵌入来自第三方网站的内容,沙盒以防止该网站打开弹出窗口等,而不会阻止嵌入式页面与其原始网站通信,使用数据库用于存储数据等的API

根据W3C的规范,我的问题具体是关于MDN所指的"正常起源":当提到"正常起源"时,MDN声明<iframe>标签中包含的文件内容被视为共享来源.文档来源的页面,例如YouTube视频相信 - 并且可以进行通信 - 它仍然是YouTube的一部分?或者,<iframe>文档是否可以访问父浏览器上下文?

html iframe html5

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

IIS Express在编译/运行时和Visual Studio集成中指定配置文件

我有一个Visual Studio 2012 MVC Web项目,我使用IIS Express作为开发环境中的Web服务器.默认情况下,IIS Express将其所有配置选项存储在Documents\IISExpress\config\applicationhost.config中.我想将我的应用程序的站点配置隔离到一个独立的IIS Express配置文件中,并将其与所有其他项目资产一起存储在源代码管理中.这很容易做到,但是当我在Visual Studio中开始调试时,我正在努力使Visual Studio告诉IISExpress使用此配置文件.我可以手动启动IISExpress并通过/ config:参数传递配置文件,这很有效,但是当Visual Studio启动IIS Express时,我没有看到任何将命令行参数传递给IIS Express的方法.我在.csproj中寻找一个可以填充与IIS Express命令行参数相关的字段并且一无所获.

我还尝试将Web项目的"开始操作"设置为"启动外部程序",并使用我指定的命令行参数将此程序设置为IIS Express,并将"服务器"部分设置为"使用自定义Web服务器",但是这样总是会出现一条消息,指出"无法在Web服务器上启动调试".看来,当以这种方式配置时,Visual Studio尝试在实际执行"启动外部程序"中指定的命令之前附加到Web服务器主机进程

如果我尝试将IISExpress作为"Post Build Event"运行,它实际上会运行,但这会阻止Visual Studio实际继续执行我的调试代码(我猜它正在等待IIS Express退出 - 这会打败整个目的).

我错过了什么?如何将IIS Express与Visual Studio项目中的自定义配置文件集成?

.net visual-studio visual-studio-debugging iis-express visual-studio-2012

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

MonoTouch与Portable Library Project无法构建

在我用MonoDevelop(3.0.3.5)创建的解决方案中,我有3个项目:

  1. 带UI的MonoTouch项目,
  2. 具有iOS特定代码的MonoTouch Library项目,
  3. 具有域模型的可移植库项目.

Portable Library项目不会编译,并在MonoDevelop中的引用(System,System.Core,System.Xml)上显示警告符号.当我展开程序集引用时,显示以下错误消息:

Assembly not available in .NETPortable 4.0 Profile1 Profile (in Mono 2.10.9)

此论坛帖子中报告了同样的问题.

有没有人有同样的问题,能够解决它?

更新

可以在GitHub上找到带有构建错误的演示解决方案(bgever/plp-build-error).

我发现尽管显示了错误消息,但基本代码可以编译并按预期工作.

但是,构建错误的两种变体阻止了演示解决方案的编译:

public T Get<T> (Expression<Func<T, bool>> predicate) where T : new() { 
Run Code Online (Sandbox Code Playgroud)

使用泛型类型System.Func<T1,T2,T3,T4,T5,T6,T7,T8,T9,TResult>' requires10'类型参数(CS0305)

所以似乎Func<T, TResult>不支持2参数泛型重载?

public void RunInTransaction (Action action) {
Run Code Online (Sandbox Code Playgroud)

使用泛型类型System.Action<T>' requires1'类型参数(CS0305)

那么似乎Action无法找到非通用版本?

mono monodevelop xamarin.ios portable-class-library

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