我目前正在使用DbContext类似于此:
namespace Models
{
public class ContextDB: DbContext
{
public DbSet<User> Users { get; set; }
public DbSet<UserRole> UserRoles { get; set; }
public ContextDB()
{
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后我在所有需要访问数据库的控制器的顶部使用以下行.我也在我的UserRepository类中使用它,它包含与用户相关的所有方法(例如获取活动用户,检查他拥有的角色等等):
ContextDB _db = new ContextDB();
Run Code Online (Sandbox Code Playgroud)
考虑到这一点......当一个访问者可以有多个DbContexts活动时,就会出现这种情况.如果他访问使用UserRepository的控制器..这可能不是最好的想法,我有一些关于它的问题
我正在尝试向 .NET Core 3 API 项目添加身份服务器身份验证。
我已经添加了这个代码
public void ConfigureServices(IServiceCollection services)
{
…
var identityBuilder = services.AddIdentityServer();
identityBuilder.AddApiAuthorization<ApplicationUser, DbContext>();
services
.AddAuthentication()
.AddIdentityServerJwt();
var fileName = Path.Combine("Certificates", "certificatefile.pfx");
var cert = new X509Certificate2(fileName, "veryDifficultPassword");
identityBuilder.AddSigningCredential(cert);
…
}
Run Code Online (Sandbox Code Playgroud)
和:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
…
app.UseAuthentication();
app.UseIdentityServer(); // <--- this line throws error.
app.UseAuthorization();
…
}
Run Code Online (Sandbox Code Playgroud)
文件/Certificates夹中有一个文件可以正确读取和加载- 我可以检查cert变量并且它看起来是正确的。
到目前为止,我所尝试的一切都以线路app.UseIdentityServer();炸毁而告终:
System.InvalidOperationException: '未指定密钥类型。'
有什么建议?
更新:包括堆栈跟踪
System.InvalidOperationException
HResult=0x80131509
Message=Key type not specified.
Source=Microsoft.AspNetCore.ApiAuthorization.IdentityServer
StackTrace:
at Microsoft.AspNetCore.ApiAuthorization.IdentityServer.ConfigureSigningCredentials.LoadKey()
at …Run Code Online (Sandbox Code Playgroud) .net-core asp.net-core identityserver4 asp.net-core-identity asp.net-core-3.0
我正在尝试从Unity平台上的Windows Phone 8上发布帖子请求.我不想使用统一WWW方法,因为这会阻止渲染(并且不是线程安全的).
以下代码适用于编辑器和Android,但在为WP8构建时,我收到以下错误.
System.Byte [] System.Net.WebClient :: UploadData(System.String,System.String,System.Byte [])`在目标框架中不存在.
此处解释了此错误的原因
这是因为Windows Phone 8使用了一种名为.NET for Windows Phone的不同版本的.NET,它缺少其他平台上可用的某些类型.您必须用不同的类型替换这些类型或自己实现它们.- http://docs.unity3d.com/Manual/wp8-faq.html
这是我的代码
using (WebClient client = new WebClient())
{
client.Encoding = System.Text.Encoding.UTF8;
client.Headers[HttpRequestHeader.ContentType] = "application/json";
byte[] requestData = new byte[0];
string jsonRequest = "{}";
if (data != null)
{
string tempRequest = Converter.SerializeToString (data);
jsonRequest = "{\"Data\": \"" + tempRequest + "\"}";
requestData = System.Text.Encoding.UTF8.GetBytes(jsonRequest);
}
// below line of code is the culprit
byte[] returnedData = client.UploadData(url, "POST", requestData);
if(returnedData.Length > 0) …Run Code Online (Sandbox Code Playgroud) 这个问题不久前已经被问过。我希望今天的答案有所不同。
我正在使用 Azure blob 存储来保存网站的图像 (jpg)。我直接链接到标签中的文件<img>,效果很好(已启用匿名访问)。问题是,如果用户单击图像(直接链接到文件),他们将被迫下载它并且无法在浏览器中查看它。
有没有办法设置 Blob 存储的标头,以允许直接在浏览器中查看而不强制下载。
更新1:
基于此How can I view an image from Azure Blob Storage,而不是下载它?这个https://social.msdn.microsoft.com/Forums/windowsapps/en-US/b8759195-f490-420b-a587-2bb614366ad2/embedding-images-from-blob-storage-in-ssrs-report-does-不行
我发现我没有设置内容类型,这导致了问题。我需要将其设置为"image/jpeg". 不过我不太确定该怎么做。这是我用来存储图像的代码。
using Microsoft.Azure.Storage.Blob
/// <summary>
/// Save a file to azure blob storage.
/// </summary>
/// <param name="name">Name of file</param>
/// <param name="file">filestream</param>
/// <param name="ct">Cancellationtoken</param>
public async Task<bool> SaveFile(Stream fileStream, string fileName, CancellationToken ct)
{
CloudBlockBlob cloudBlockBlob = _blobContainer.GetBlockBlobReference(fileName);
fileStream.Position = 0;
await cloudBlockBlob.UploadFromStreamAsync(fileStream, ct);
return …Run Code Online (Sandbox Code Playgroud) 我想对我管理的几台服务器进行基准测试,并希望能够设置我自己的场景和事件/自动化顺序.
所以我想知道是否有任何库可以用来执行Windows计算机的不同方面的基准测试,如CPU,磁盘IO和RAM.
更新1:由于似乎没有可用的库来执行此操作,我还将接受指向如何使用C#测试CPU,磁盘和内存性能的示例或指南的答案.
更新2是否有任何语言的好库?
我希望能够设置我的来电显示
XrmServiceContext : Microsoft.Xrm.Client.CrmOrganizationServiceContext
Run Code Online (Sandbox Code Playgroud)
使用svcutil.exe为crm生成的上下文.
据我所知,我无法在现有连接上执行此操作,我需要首先创建一个OrganizationServiceProxy设置CallerID 的实例,然后将其作为参数传递给新的XrmServiceContext,然后我可以使用它.
然而,我有点被困在我如何从一个人CrmOrganizationServiceContext去OrganizationServiceProxy
该程序是一个单独的.Net4.5应用程序
任何有用的提示或链接?
编辑:发布此内容后发现此页面:http: //msdn.microsoft.com/en-us/library/gg695810.aspx
所以它可能很简单:
var connection = new CrmConnection("Xrm");
connection.CallerId = uide;
_serviceContext = new XrmServiceContext(connection);
Run Code Online (Sandbox Code Playgroud)
编辑2:事情并不那么简单.这样做不会改变我收到的数据.
CrmConnection connection = new CrmConnection("Xrm");
connection.CallerId = Guid.NewGuid();//u.Id;
_serviceContext = new XrmServiceContext(connection);
Run Code Online (Sandbox Code Playgroud)
它编译并且不会崩溃,但是当我使用具有非常低的权限但仍然获得所有数据的用户的id时我怀疑,然后我尝试为XrmServiceContext的每个实例生成新的Guid但是我仍然得到了所有的回报.所以我猜它没有被使用..或者我错过了别的东西.
编辑3
在设置WhoAmIRequest之后执行a CallerID仍将返回在连接字符串中设置的同一用户.
编辑4
似乎我的问题与缓存有关.在我的实现中,我需要首先调用服务上下文来找出我想要模仿的用户的Guid.此调用未CallerID设置.如果我跳过这个初始查询并从头开始设置一个特定的Guid,那么CallerID就可以了.我猜这是因为服务上下文缓存了我原来的CallerId或类似的东西.
现在我只需要弄清楚如何清除CRM 2013 SDK中的缓存.
编辑5 使用本指南完整地关闭缓存:http://msdn.microsoft.com/en-us/library/gg695805.aspx我已经让它工作了.然而,如果我能在我需要的那一点清除它而不是完全禁用它,我会更喜欢.
如果有人可以告诉我如何使用代码清空服务上下文缓存,我会将其标记为正确的解决方案
我已经在VS 2013中使用了monogame,但我无法让内容管道工作.当我尝试导入现有的内容管道项目时,我收到以下错误.

由于2013年没有安装模板,因此我无法创建新项目.
由于我正在运行Windows 8,我无法安装XNA(安装程序停止说它需要Win 7或Vista).在这里阅读:https://github.com/mono/MonoGame/wiki/MonoGame-Content-Processing 似乎需要XNA ..?
编辑
Fex答案获取VS 2013中安装的模板,我可以创建一个新的MonoGame Windows项目.但是我仍然无法创建或打开内容项目,因为它们会因此错误而崩溃

从这个 SO 答案来看,视图应该提供与直接使用相同查询相同的性能。
我有一个观点,这是不正确的。
此查询针对视图
SELECT
*
FROM
[Front].[vw_Details] k
WHERE
k.Id = 970435
Run Code Online (Sandbox Code Playgroud)
需要 10 秒才能完成。从视图复制查询并将其添加WHERE k.Id = 970435到其中的操作不到 1 秒即可完成。视图没什么特别的,4LEFT JOIN秒,还有一些CASE清理数据的指令。
我怎样才能弄清楚问题是什么,或者我需要用什么来完成这个问题才能回答这个问题?
更新 1:
在过去的几年里,我已经构建了几个 angular(2+ 打字稿)应用程序并且已经非常习惯了。然而,在我参与的一个项目中,我们正在使用微服务架构,该架构鼓励将所有内容尽可能拆分成小的可用(和合理)部分,然后将其加载到主页中,并且可以相互独立地执行操作。
如果这是一个没有交互式内容的常规 HTML 页面,这将很容易做到。但在这种情况下,我们可以有一个页面:搜索功能、列表功能和详细信息模式。这些东西都需要能够相互交互并对事件做出反应,最好充当 SPA,在导航时不需要页面加载。
在一个经典的 Angular 应用程序中,我会使用模块和组件(反过来可以使用公共共享组件并且所有组件都可以延迟加载)来构建它,并在单个 Angular 应用程序中设置共享路由。但是如何在保持微服务标准/架构的同时做到这一点?这对前端来说甚至是可取的吗?人们可以将 Angular 中的模块视为一种微服务,但这是否足够好?
我找到了诸如https://single-spa.js.org/ 之类的库。这是解决这个问题的方法吗?创建多个小应用程序并将它们与上面的另一个框架缝合在一起?然而,这将需要更多的带宽,因为前端需要多次下载而不是一次。
乍一看,这一切似乎都使任务复杂化,但收效甚微。特别是因为在常规 Angular 应用程序中,应用程序的一部分可能会停止工作,而不会真正影响 Angular SPA 的另一部分(这是 MS 的主要目标之一)。是否有一些标准化的指标可以用来查看何时创建单个 SPA 或使用拆分的微服务变体更好?
我有这样的数据:
"RequirementLevels": {
"285960000":"Black",
"285960001":"Green",
"285960002":"Blue",
"285960003":"Purple"
}
Run Code Online (Sandbox Code Playgroud)
我有一个像这样的选择:
<select ng-options="key as value for (key , value) in Variables.Template.RequirementLevels"
ng-model="Variables.EditingNode.RequirementLevel"
ng-model-options="{ debounce: 300 }"></select>
<span>"{{Variables.EditingNode.RequirementLevel}}"</span>
Run Code Online (Sandbox Code Playgroud)
请注意string:选择选项中每个值前面的 。使用下面的代码我没有得到string:值。
<select ng-model="Variables.EditingNode.RequirementLevel">
<option ng-repeat="(key, value) in Variables.Template.RequirementLevels" value="{{key}}">{{value}}</option>
</select>
Run Code Online (Sandbox Code Playgroud)
我的问题是为什么我会出现string:在 ng-option 列表中,以及如何让它消失。
由于评论而更新:我想更改此设置的原因是因为 ng-model 值在其中包含该值时不起作用string:。我认为这是因为它与模型中使用“123”的选项设置中的“string:123”不匹配。
更新 2
这是创建选择的 Html。
<div class="form-group input-group">
<label for="ReviewDone">Requirement level</label>
<select ng-options="key as value for (key , value) in Variables.Template.RequirementLevels track by key"
ng-model="Variables.EditingNode.RequirementLevel"
ng-model-options="{ debounce: …Run Code Online (Sandbox Code Playgroud) c# ×5
.net-core ×1
angular ×1
angularjs ×1
asp.net-core ×1
asp.net-mvc ×1
azure ×1
benchmarking ×1
monogame ×1
sql-server ×1
t-sql ×1
unityscript ×1
windows ×1