我有一个奇怪的问题.
我使用MVC 4和新的Web API开发了一个应用程序,它在本地工作正常.我在服务器上安装了MVC4并部署了应用程序.现在我收到以下错误:
无法加载文件或程序集'System.Net.Http,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一.定位的程序集的清单定义与程序集引用不匹配.(HRESULT异常:0x80131040)
描述:执行当前Web请求期间发生未处理的异常.请查看堆栈跟踪以获取有关错误及其来源的更多信息
有趣的是,我在本地包含在我的包文件夹或ASP.NET MVC 4\Assemblies文件夹中的System.Net.Http版本是1.0.0.0.我实际上从我的项目中删除了对System.Net.Http的引用,但我仍然得到相同的消息.我有点困惑的是它从哪里获得2.0.0.0参考,以及为什么它在本地工作但不在服务器上.
查看nuget依赖项:
ASP.NET WEb API核心库(Beta)依赖于System.Net.Http.Formatting.
System.Net.Http.Formatting依赖于System.Net.Http.
我猜这就是它的来源.但我确实安装了这个软件包的2.0.20126.16343版本,它只是内部的dll版本为1.0.0.0
我错过了什么吗?
更新:
这是另一个ASP.NET应用程序的子应用程序,但另一个仍然基于WebForms.所以,有些东西搞砸了.但是,如果我在web.config中的汇编部分下执行清理,如果甚至不再找到应用程序本身.
我发现Python和Javascript的类似问题和答案,但不适用于C#或任何其他WinRT兼容语言.
我认为我需要它的原因是因为我正在显示我从Windows 8商店应用程序中的网站获得的文本.比如é应该成为é.
或者,还有更好的方法?我没有显示网站或RSS订阅源,只是列出了网站及其标题.
我用C#打开一个现有的XML文件,然后我替换那里的一些节点.一切正常.在我保存之后,我在文件的开头得到以下字符:
 (EF BB BF in HEX)
Run Code Online (Sandbox Code Playgroud)
整个第一行:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
Run Code Online (Sandbox Code Playgroud)
该文件的其余部分看起来像普通的XML文件.简化的代码在这里:
XmlDocument doc = new XmlDocument();
doc.Load(xmlSourceFile);
XmlNode translation = doc.SelectSingleNode("//trans-unit[@id='127']");
translation.InnerText = "testing";
doc.Save(xmlTranslatedFile);
Run Code Online (Sandbox Code Playgroud)
我正在使用.NET 4.0 的C#Windows窗体应用程序.
有任何想法吗?为什么会这样做?我们可以以某种方式禁用它吗?它适用于Adobe InCopy,它不会像这样打开它.
更新:替代解决方案:
使用XmlTextWriter保存它也可以:
XmlTextWriter writer = new XmlTextWriter(inCopyFilename, null);
doc.Save(writer);
Run Code Online (Sandbox Code Playgroud) 我们正在使用ASP.NET Web Optimization Framework进行捆绑和缩小.一个包只包含jquery和modernizr.这一切都适用于jquery 1.8.3,但由于我们更新到1.9.0,组合jquery/modernizer包不再工作了.
bundles.Add(new ScriptBundle("~/st-scripts-load-first.js")
.Include("~/Resources/JavaScript/jquery-1.9.0.js",
"~/Resources/JavaScript/modernizr.form-placeholder.js"));
Run Code Online (Sandbox Code Playgroud)
我们在目录中有jquery-1.9.0.js和jquery-1.9.0.min.js.如果没有.min文件,优化框架将自动生成一个.min文件.如果.min文件存在与否则它不起作用.
它适用于编译debug ="true"并且没有缩小或捆绑.
/* Minification failed. Returning unminified contents.
(5,2-3): run-time warning JS1195: Expected expression: *
(11,60-61): run-time warning JS1004: Expected ';': {
(395,2-3): run-time warning JS1195: Expected expression: )
(397,21-22): run-time warning JS1004: Expected ';': {
(397,4590-4591): run-time warning JS1195: Expected expression: )
(398,28-29): run-time warning JS1195: Expected expression: )
(398,84-85): run-time warning JS1002: Syntax error: }
(402,44-45): run-time warning JS1195: Expected expression: )
(408,1-2): run-time warning JS1002: Syntax error: …Run Code Online (Sandbox Code Playgroud) 我知道这个主题有很多答案,但找不到我的问题的解决方案.我有一个ASP.NET MVC Web API,如下所示:
[HttpGet]
public IList<Country> GetCountryList(List<long> idList)
Run Code Online (Sandbox Code Playgroud)
我试过这样称呼它:
$.ajax({
dataType: "json",
data: JSON.stringify({idList: listOfIds}),
type: "GET",
url: "api/v1/util/CountryList",
success: function (result) {
alert(result);
}
});
Run Code Online (Sandbox Code Playgroud)
然后,URL如下所示:
https://localhost/supertext/api/v1/util/CountryList?{%22idList%22:[46,14,62,83,120]}
Run Code Online (Sandbox Code Playgroud)
替代方案:
$.ajax({
dataType: "json",
data: {
idList: JSON.stringify(listOfIds),
}
type: "GET",
url: "api/v1/util/CountryList",
success: function (result) {
alert(result);
}
});
Run Code Online (Sandbox Code Playgroud)
网址:
https://localhost/supertext/api/v1/util/CountryList?idList=%5B46%2C14%2C62%2C83%2C120%5D
Run Code Online (Sandbox Code Playgroud)
两种方法都不起作用.
我是否真的必须以字符串形式发送和接收它或使用POST?
我有2个嵌套的div应该是100%宽.不幸的是,带有Textbox的内部div溢出并且实际上比外部div大.它有一个左边距,溢出大约边距的大小.
我该如何解决这个问题?
<div style="width:100%;">
<div style="margin-left:45px; width:100%;">
<asp:TextBox ID="txtTitle" runat="server" Width="100%"></asp:TextBox><br />
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
如果我不做100%,那么文本框不是100%宽.
我需要清理文件名.所以我有这个代码:
//\W_ is any non-word character (not [^a-zA-Z0-9_]).
Regex regex = new Regex(@"[\W_]+");
return regex.Replace(source, replacement);
Run Code Online (Sandbox Code Playgroud)
这工作正常,但现在我不想删除减号( - ),所以我将正则表达式更改为:
[\W_^-]+
Run Code Online (Sandbox Code Playgroud)
但这不起作用.我错过了什么?
上传REST客户端文件的更好方法是什么?
从WCF Web API文档
[WebInvoke(UriTemplate = "thumbnail", Method = "POST")]
public HttpResponseMessage UploadFile(HttpRequestMessage request)
{
Run Code Online (Sandbox Code Playgroud)
来自多个论坛帖子:
带有其他参数的WCF REST文件上传
[WebGet(UriTemplate="", Method ="POST"]
public string UploadFile(Stream fileContents)
Run Code Online (Sandbox Code Playgroud)
我理解,第一种方法允许直接从普通的HTML表单发布文件.在我发现的所有论坛帖子中,第二种方法似乎更常见.
你会推荐什么?为什么?可以从各种语言和平台访问REST API.
对于HttpRequestMessage方法,我如何使用WCF HttpClient上传文件?使用FormUrlEncodedMediaTypeFormatter)
刚刚安装了新的IIS Express,看到Web Platform Installer也可以选择安装"IIS 7推荐配置".但我实际上无法弄清楚它在做什么?
有人用吗?
我们正在开发一个Windows Presentation Foundation应用程序,我们希望它能够作为Windows服务运行.
有人这样做过吗?
可能吗?
我们不需要与桌面或任何GUI进行交互,只需要一个可以通过GUI,命令行(可以正常工作)或作为服务运行的应用程序就可以了.
期待有趣的输入:-)