我们使用的是Windows Azure Storage NuGet软件包4.1.0版,它依赖于Microsoft.Data.OData,并且还添加了具有Microsoft.Data.Edm dll的软件包.当我们构建并运行应用程序时,我们偶尔会遇到以下错误:
Could not load file or assembly 'Microsoft.Data.Edm' or one of its dependencies. The
located assembly's manifest definition does not match the assembly reference. (Exception
from HRESULT: 0x80131040)
Run Code Online (Sandbox Code Playgroud)
我们在web.config中有以下绑定重定向,并且还检查过,这是解决方案中任何项目引用的唯一Microsoft.Data.Edm版本.
<dependentAssembly>
<assemblyIdentity name="Microsoft.Data.Edm" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.6.1.0" newVersion="5.6.1.0" />
</dependentAssembly>
Run Code Online (Sandbox Code Playgroud)
有时当我查看bin文件夹时,我发现Microsoft.Data.Edm的dll版本是v 5.6.0.我已经完成了所有项目,除了存储客户端之外我找不到对Microsoft.Data.Edm的引用,这绝对是5.6.1.
尝试找出5.6.0版本的最佳方法是什么?当我们得到这个错误时,我们删除了bin和obj文件夹并重建然后它工作正常,5.6.1版本就在那里,一切正常但最终又发生了.
编辑:
我们再次升级到NuGet的所有最新版本但仍然没有运气,我运行了一个显示以下依赖项的工具:
Possible conflicts for Microsoft.Data.Edm:
Microsoft.Data.OData references Microsoft.Data.Edm, Version=5.6.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Microsoft.Data.Services.Client references Microsoft.Data.Edm, Version=5.6.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Microsoft.WindowsAzure.Storage references Microsoft.Data.Edm, Version=5.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Possible conflicts for Microsoft.Data.OData:
Microsoft.Data.Services.Client references Microsoft.Data.OData, Version=5.6.2.0, Culture=neutral, …Run Code Online (Sandbox Code Playgroud) 我在C#中的枚举上使用了Flags,一切都很好但是在以下场景中想要在SQL中使用类似的东西:
我们想要返回属于列表或条件的用户列表,如下所示:
ConditionOne = 2
ConditionTwo = 4
ConditionThree = 8
Run Code Online (Sandbox Code Playgroud)
等等...
我们将为用户提供一些针对他们的条件,如下所示:
User1: 6 (conditions 1 and 2)
User2: 4 (condition 2)
User3: 14 (conditions 1, 2 and 3)
Run Code Online (Sandbox Code Playgroud)
等等...
我们希望能够进行查询,我们说所有用户都获得条件1,在这种情况下,即使他们还有其他条件,它也会返回用户1和3.
非常感谢任何见解,只在C#中使用Flags,而不是直接在Sql Server中使用.
我正在将EntityFramework 4与POCO类一起使用,但我喜欢将数据库划分为单独的模式.虽然我可以先设计数据库,然后生成模型,一切正常,如果我更新模型并选择从模型生成数据库,它会忽略我的所有模式并生成默认情况下的所有表(或者我在下面设置的任何表)数据库架构名称).
是否可以将实体分开并让模型中的generate数据库使用这些模式?
非常感谢任何帮助.我花了几个小时在谷歌上进行实验,我觉得这不可能,但我想我会检查一下.
我们已经开始使用MiniProfiler并且它有时会显示,特别是当我们在Visual Studio中运行时遇到F5时,在我们的任何代码执行之前,对动作的前3 - 5调用非常慢,如下图所示,它似乎总是如此大约是5,这些是返回图像的动作,但是当MiniProfiler显示我们的任何代码甚至执行之前所有时间都在发生时,如果我注释掉了2050ms的图像,那么另一个需要0.5ms的图像只需要长.我们在web.config中设置了debug = false,这没有任何区别.
我们正在使用ProfilingActionFilter和ProfilingViewEngine,但还有另一种方法来分析这里发生的事情并尝试解决问题吗?
编辑:我们也在使用AutoFac,这是可能的原因,我正在尝试找到一种分析所有内容的方法,以便我可以确切地看到这种情况发生的地方.
编辑:好所以我添加了自己的ControllerFactory,其中包含配置文件和路由约束,因为下面的新图像显示在Application_BeginRequest之前,甚至在创建路径约束或控制器之前发生的所有时间.对于花费这么多时间的事情,我完全不知所措.看看MVC管道的这个链接可以留下什么?
http://blog.stevensanderson.com/blogfiles/2007/ASPNET-MVC-Pipeline/ASP.NET%20MVC%20Pipeline.pdf


我们有一个 Angular 7 应用程序,我们使用 Angular CLI 进行构建,我们使用以下命令构建应用程序:
ng build --prod
我们已经检查过并将哈希值添加到文件名中。我们还使用以下内容设置了 index.html:
<meta http-equiv="Cache-control" content="no-cache, no-store, must-revalidate">
<meta http-equiv="Pragma" content="no-cache">
Run Code Online (Sandbox Code Playgroud)
尽管如此,我们仍然需要在发布后要求我们的用户按 ctrl+F5 来查看最新版本,看来 Chrome 正在缓存 index.html。
无论如何,有没有更好的方法来解决这个问题。我们正在考虑在每个版本中更改 index.html 文件以将当前日期和时间附加到名称和 angular.json 中,但我们更愿意使用提供的工具来解决这个问题。
任何帮助表示赞赏。
我们正在尝试了解此错误发生了什么,这只是用户与网站断开连接吗?
System.Web.HttpException An error occurred while communicating with the remote host. The error code is 0x800703E3.
System.Runtime.InteropServices.COMException The I/O operation has been aborted because of either a thread exit or an application request.
(Exception from HRESULT: 0x800703E3) StackTrace:
at System.Web.Hosting.IIS7WorkerRequest.RaiseCommunicationError(Int32 result, Boolean throwOnDisconnect)
at System.Web.Hosting.IIS7WorkerRequest.ExplicitFlush()
at System.Web.HttpResponse.Flush(Boolean finalFlush)
at System.Web.HttpWriter.WriteFromStream(Byte[] data, Int32 offset, Int32 size)
at System.Web.Mvc.FileStreamResult.WriteFile(HttpResponseBase response)
at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass1c <InvokeActionResultWithFilters>b__19()
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) …Run Code Online (Sandbox Code Playgroud) 我们已经在我们的应用程序(现在的MVC 4)中使用了Autofac很长一段时间,我们在基本控制器上有很多属性,一切都是继承的,并且一切正常,所以当请求开始时我们的服务被创建然后通过所有属性和控制器操作.
我们现在正在查看WebApi并创建了我们的WebApi控制器,并使用HTTP命名空间中的ActionFilterAttribute在基本控制器上创建了一个属性.但是问题从这里开始,在属性上的属性上注入的服务与ApiController上的服务不同.查看下面的链接,这似乎是已知的ASP.NET Web API和请求范围中的依赖项
然而,这里的解决方案并不理想,因为我们不希望我们的控制器知道依赖注入,我们只想使用我们注入属性的服务并知道它是每个请求一个实例.
我们称之为:
builder.RegisterWebApiFilterProvider(GlobalConfiguration.Configuration);
Run Code Online (Sandbox Code Playgroud)
和
GlobalConfiguration.Configuration.DependencyResolver = new AutofacWebApiDependencyResolver(container);
Run Code Online (Sandbox Code Playgroud)
我们的课程目前在Autofac注册为InstancePerLifetimeScope,我们想要的是能够满足MvcControllers和ApiControllers的每个请求.
那可能吗?
编辑:
所以基本上这行返回了请求的正确服务(即同样在ApiController上的实例)
var service = actionContext.Request.GetDependencyScope().GetService(typeof(IOurService);
Run Code Online (Sandbox Code Playgroud)
但是ActionFilterAttribute上的属性注入实例是不一样的,如果我将Autofac注册更改为InstancePerApiRequest,我会收到以下错误:
"从请求实例的作用域中看不到具有匹配'AutofacWebRequest'的标记的作用域.这通常表示SingleInstance()组件(或类似场景)正在请求按HTTP请求注册的组件.在Web集成下,总是从DependencyResolver.Current或ILifetimeScopeProvider.RequestLifetime请求依赖,而不是从容器本身请求."
原谅我的无知,但是我试图在TypeScript中实现抓取,并且我一直在浏览示例,但无法对其进行编译。我是TypeScript和Promise的新手,我找到了以下示例:
我正在尝试实现这一点:
private api<T>(url: string): Promise<T> {
return fetch(url)
.then(response => {
if (!response.ok) {
throw new Error(response.statusText)
}
return response.json<T>()
})
}
Run Code Online (Sandbox Code Playgroud)
但是,编译器显示错误:
[ts]预期0个类型参数,但得到1个。
我不确定是什么问题,但是基本上我正在尝试实现一个包装API调用以返回项目数组的类,并且我已经尝试了async / await,但似乎没有任何工作。任何帮助将不胜感激。
我们正在尝试使用基本配置和多个条目配置来设置 webpack。基础功能几乎可以完成所有操作,但根据构建目标还包含一些额外的文件。我们的基础条目设置如下:
const webpack = require("webpack");
const CopyWebpackPlugin = require('copy-webpack-plugin');
const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin')
module.exports = (env) => {
return {
entry: {
...
},
output: {
...
},
optimization: {
...
},
module: {
...
},
resolve: {
...
},
plugins: [
...
]
};
};
Run Code Online (Sandbox Code Playgroud)
条目配置设置如下:
const webpack = require('webpack');
const merge = require('webpack-merge');
const UglifyJSPlugin = require('uglifyjs-webpack-plugin');
const common = require('./webpack.common.js');
const CopyWebpackPlugin = require('copy-webpack-plugin');
const path = require('path');
module.exports = (env) => …Run Code Online (Sandbox Code Playgroud) 我们正在尝试将带有 Angular 的默认 ASP.NET Core 3.1 模板放入 IIS 作为测试,我们收到以下错误:
加载模块脚本失败:服务器以“text/html”的非 JavaScript MIME 类型响应。每个 HTML 规范对模块脚本执行严格的 MIME 类型检查。main-es2015.7a946a5153b4f357caaf.js:1
加载模块脚本失败:服务器以“text/html”的非 JavaScript MIME 类型响应。每个 HTML 规范对模块脚本执行严格的 MIME 类型检查。polyfills-es2015.27661dfa98f6332c27dc.js:1
加载模块脚本失败:服务器以“text/html”的非 JavaScript MIME 类型响应。每个 HTML 规范对模块脚本执行严格的 MIME 类型检查。
我们已使用发布版本将应用程序发布到文件夹结构。程序和启动是作为默认模板创建的。我们也安装了 dotnet-hosting 包。
在 IIS 中是否需要额外的配置步骤来承载它,因为文档没有提到任何其他需要的东西。
在此先感谢您的帮助。
c# ×3
angular ×2
asp.net-mvc ×2
sql ×2
typescript ×2
.net ×1
angular-cli ×1
autofac ×1
azure ×1
dll ×1
fetch-api ×1
iis ×1
iis-7 ×1
performance ×1
schema ×1
sql-server ×1
webpack ×1