我有一个遵循MVVM模式的WPF应用程序.我们最近签署了应用程序,现在我在启动时获得了很多第一次机会异常.我已将问题追溯到以下问题:
在任何视图中,如果我在初始化视图时在应用程序中引用另一个命名空间,我会收到错误:
"Could not load file or assembly 'MyApplication, Version=3.0.5917.24348, Culture=neutral, PublicKeyToken=xxxxxxxxxxxx' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)":"MyApplication, Version=3.0.5917.24348, Culture=neutral, PublicKeyToken=xxxxxxxxxxx"
Run Code Online (Sandbox Code Playgroud)
它总是在寻找一个比我实际运行的版本落后1的版本.
如果我从视图中删除对其他命名空间的引用,InitializeComponent()
则不会抛出错误
视图:
<UserControl x:Class="MyApplication.View.DiagnosticsView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:convert="clr-namespace:MyApplication.Converters" <!--Causes error-->
xmlns:behave="clr-namespace:MyApplication.Behaviors" <!--Causes error-->
xmlns:controls="clr-namespace:MyApplication.UserControls" <!--Causes error-->
Run Code Online (Sandbox Code Playgroud)
如果我删除这些引用,并将我的转换器和行为移动到另一个DLL,然后通过DLL引用它们没有问题.错误消失了.此外,如果我没有签署该应用程序,我不会得到错误.我真的不想在不同的DLL中引用这些东西,看起来这应该可以正常工作.当所有视图都被创建时,它也会花费大约30秒来抛出所有这些错误,所以我的性能受到了冲击.我不知道为什么应用程序试图加载自己,以及为什么它试图加载自己的旧版本.无论我构建多少次,错误始终是1版本.
Fusion日志:
*** Assembly Binder Log Entry (3/17/2016 @ 10:30:11 AM) ***
The operation failed.
Bind result: hr = 0x80131040. No description available.
Assembly manager …
Run Code Online (Sandbox Code Playgroud) 我有点迷失在这里.添加ServicePointManager的东西通常会解决这个问题,但这次我不断收到错误.我的服务器可以从浏览器和POSTMAN访问相同的URL.但是通过网站运行这个失败了.这虽然适用于我的本地计算机.我在服务器上启用了TLS 1.1和TLS 1.2.
我的服务器TLS设置有什么问题吗?https://www.ssllabs.com/ssltest/analyze.html?d=basketball.exposureevents.com
我使用的是CertifyTheWeb证书,基本上是免费的SSL.不确定这是否与它有关.
我发送到下面的链接,从IIS下面的代码作出拒绝请求.
https://www.nationalsportsid.com/tournament/6028
消息:请求已中止:无法创建SSL/TLS安全通道.来源:系统堆栈跟踪:在System.Net.HttpWebRequest.GetResponse()处
ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12 | SecurityProtocolType.Ssl3;
var webRequest = (HttpWebRequest) WebRequest.Create("https://www.nationalsportsid.com/tournament/" + nationalSportsId);
try
{
using (var webResponse = (HttpWebResponse) webRequest.GetResponse())
{
if (webResponse.StatusCode == HttpStatusCode.OK)
{
return true;
}
}
}
catch (WebException ex)
{
Logger.Error(ex);
}
Run Code Online (Sandbox Code Playgroud)
这是Message Analyzer记录的内容
握手
警报
我需要async
从Form1
构造函数中调用一个方法.由于构造函数不能有返回类型,我无法添加async void
.我读到静态构造函数可以async
但我需要从构造函数中调用不是的方法static
,例如InitializeComponent()
(因为它是Form的构造函数).
这堂课是:
public partial class Form1 : Form
{
InitializeComponent();
//some stuff
await myMethod();
}
Run Code Online (Sandbox Code Playgroud)
我也读了这个,但我仍然不知道如何实现这个(在我的情况下),因为该方法仍然需要使用async
.
我的SQL查询就像下面的SQL工作正常我需要将其转换为LINQ语法
SQL-
SELECT [Key], Id
FROM LocalizationKeys AS lk
WHERE NOT EXISTS (SELECT 1
FROM Languages AS l
JOIN LocalizationValues AS lv ON l.Id = lv.LanguageId
WHERE l.Title = 'en-US' AND lv.LocalizationKeyId = lk.Id)
Run Code Online (Sandbox Code Playgroud)
我尝试过LINQ语法
var result =
(from lk in localizationKey
where !(from l in lang
join lv in localizationValue on l.Id equals lv.LanguageId
where l.Title == "en-US" && lv.LocalizationKeyId == lk.Id select 1).FirstOrDefault()
select lk).ToList();
Run Code Online (Sandbox Code Playgroud)
得到错误:
接线员'!' 不能应用于'int'类型的操作数
我犯错的任何线索?
界面:
Task<ServiceResponse<string>> GetJSON<T>(FileRequest request, FileItemsSerializer<T> serializer = null, CsvConfiguration configuration = null, ClassMap<T> mapper = null) where T: class, new();
Run Code Online (Sandbox Code Playgroud)
起订量设置:
Mock<IAdFileService> mock = new Mock<IAdFileService>();
mock.Setup(x => x.GetJSON(
It.IsAny<FileRequest>(),
It.IsAny<FileItemsSerializer<dynamic>>(),
It.IsAny<CsvConfiguration>(),
It.IsAny<ClassMap<dynamic>>())
).Returns<ServiceResponse<string>>((a) => {
return Task.FromResult(ServiceResponse<string>.Create(
"Json Data",
"http://test.com/",
"Json Data",
"http://test.com/"));
});
Run Code Online (Sandbox Code Playgroud)
错误信息是
System.ArgumentException HResult=0x80070057 Message=回调无效。具有 4 个参数的方法的设置无法调用具有不同数量参数的回调 (1)。源= Moq StackTrace:
位于 Moq.MethodCall.<>c__DisplayClass22_0.g__ValidateCallback|4(委托回调),位于 C:\projects\moq4\src\Moq\MethodCall.cs:Moq.MethodCall.SetReturnCompulatedValueBehavior(委托 valueFactory)中的第 311 行C:\projects\moq4\src\Moq\MethodCall.cs: 第 256 行位于2.Returns[T1](Func
C:\projects\moq4\src\Moq\Language\Flow\NonVoidSetupPhrase.cs 中的 Moq.Language.Flow.NonVoidSetupPhrase 2 valueExpression):第 281 行
我想用
mock.Setup(x => x.GetJSON<dynamic>(It.IsAny<FileRequest>())
).Returns<ServiceResponse<string>>(
(a) => {
return …
Run Code Online (Sandbox Code Playgroud) 我正在使用jquery 1.10.我想知道这三个功能之间的区别.
哪个功能更好,为什么?
委托功能的目的是什么?
$(".dropdown-menu").on("click", ".show_opt_menu", function() {
alert("hello");
});
$(".dropdown-menu .show_opt_menu").on("click", function() {
alert("hello");
});
$(".dropdown-menu").delegate(".show_opt_menu", "click", function() {
alert("Delegate");
});
Run Code Online (Sandbox Code Playgroud)
有人可以解释一下吗?
我正在用大量数据实现Telerik Chart.图表x轴上的标签重叠.我已经克服了这个问题,但从长远来看它并不可靠.
这些是List列出的字段:
FieldName DataType
Date DATETIME
DateString STRING
Unit DOUBLE
Price DOUBLE
Run Code Online (Sandbox Code Playgroud)
X轴标签值来自DateString
现场
解决方案我实施了
DateString
字段将始终返回.这是代码 -
// Get min and max Date
DateTime minDate = DateTime.Now;
DateTime maxDate = DateTime.Now;
if (dtGas.Rows.Count > 0)
{
minDate = Convert.ToDateTime(dtGas.Compute("MIN([Date])", ""));
maxDate = Convert.ToDateTime(dtGas.Compute("MAX([Date])", ""));
}
// Group by 'Date' and 'DateString' | 'SUM' of Unit and 'Price'
var qGas = from x in dtGas.AsEnumerable()
group x by new
{
Date = x.Field<DateTime>("Date"),
DateString …
Run Code Online (Sandbox Code Playgroud) 我想在回调函数中使用多个值
Run Code Online (Sandbox Code Playgroud)myfunction(i,function(err,result){ console.log(JSON.parse(JSON.strigify(result))); ****//i need value here..**** });
function myfunction(i,callback) {
/* my some stuff */
var callBackString= new Array();
callBackString['value1']=value1;
callBackString['value2']= value2;
callBackString['value3']= value3;
callback(null,callBackString);
};
Run Code Online (Sandbox Code Playgroud)
我将callBackString作为数组重新...
任何人都可以告诉我该怎么做
谢谢
我们拥有的数据类型是
From To
1 5
6 10
Run Code Online (Sandbox Code Playgroud)
现在,结果应该像 -
Series
1
2
3
4
5
6
7
8
9
10
Run Code Online (Sandbox Code Playgroud)
我已经使用Cursor实现了这个结果,但只是想知道是否可以通过使用任何其他方法来实现.
我正在使用 LINQ 查询获取 userID 和 userRole,并将它们返回。我想知道如何在返回数据后读取每个值。这是代码。
public object[] GetUserInfoFromUsernameAndPassword(string userName, string password)
{
var userInfo = from u in STE.tblUsers
where u.UserName == userName
&& u.PWD == password
select new
{
u.UserID,
u.UserRole
};
return userInfo.ToArray();
}
Run Code Online (Sandbox Code Playgroud)
这是一个很好的方法吗?如果有人知道更好的方法,请分享..
谢谢
c# ×7
javascript ×2
linq ×2
sql-server ×2
.net ×1
async-await ×1
constructor ×1
https ×1
jquery ×1
list ×1
moq ×1
mvvm ×1
node.js ×1
sql ×1
ssl ×1
telerik ×1
winforms ×1
wpf ×1