所以我有一个非常简单的带有Id字段的类,Id可以在构造函数中设置.
通常,我将使用它this来清楚地标识类属性而不是方法参数.对我来说,这似乎更清晰.
IDE0003要我删除this"姓名可以简化"的消息,这是正确的吗?
这对我来说似乎不太清楚,并且还容易导致套管错误id = id.
我希望在Azure中构建一个应用程序,它将充当TCP侦听器,在指定端口上接收TCP消息流,然后将信息添加到数据库.传入的TCP通信将使用证书进行保护.
我正在考虑以下选项:
云服务工作者角色
这看起来肯定会起作用.但是,这意味着我必须使用Cloud Service,而我错过了App Service提供的功能和简单性.Cloud Service 文档还专门描述了如何打开所需的TCP端口.
应用服务
在逻辑应用程序(首选)中,但这似乎本身不支持TCP侦听器,因此我希望构建一个自定义API应用程序.或者,我可以创建一个Web作业.
但是我不确定这种方法是否有效,我有以下问题:
我可以在Azure应用服务中托管TCP侦听器吗?
tcp azure azure-cloud-services azure-webjobs azure-logic-apps
什么应该HttpContentExtensions.ReadAsAsync<string>和HttpContent.ReadAsStringAsync用于什么?
他们似乎做了类似的事情,但以奇怪的方式工作.下面是几个测试及其输出.在某些情况下JsonReaderException,抛出某些情况下会输出JSON但带有其他转义字符.
我最终在我的代码库中使用了这两个函数,但如果我能理解它们应该如何工作,我希望能在一个函数上保持一致.
//Create data and serialise to JSON
var data = new
{
message = "hello world"
};
string dataAsJson = JsonConvert.SerializeObject(data);
//Create request with data
HttpConfiguration config = new HttpConfiguration();
HttpRequestMessage request = new HttpRequestMessage();
request.SetConfiguration(config);
request.Method = HttpMethod.Post;
request.Content = new StringContent(dataAsJson, Encoding.UTF8, "application/json");
string requestContentT = request.Content.ReadAsAsync<string>().Result; // -> JsonReaderException: Error reading string.Unexpected token: StartObject.Path '', line 1, position 1.
string requestContentS = request.Content.ReadAsStringAsync().Result; // -> "{\"message\":\"hello world\"}"
//Create response …Run Code Online (Sandbox Code Playgroud) 我正在开发自定义工作流程活动.我用代码生成工具(CrmSvcUtil.exe)创建了自己的helper.cs(Early Bound Entity Classes)
当我尝试编译代码时,它返回以下错误:
命名空间''已包含'Workflow'的定义
从Helper.cs文件.
有谁知道这意味着什么?
c# workflow-activity dynamic-programming dynamics-crm dynamics-crm-2011
我在我的单元测试流利断言工作,但是使用的ShouldBeEquivalentTo,ShouldAllBeEquivalentTo以及BeEquivalentTo目前还不清楚.
例如; 所有以下语句都通过,因此函数看起来是等效的.
List<string> a = new List<string>() { "james", "wood" };
List<string> b = new List<string>() { "james", "wood" };
a.ShouldBeEquivalentTo(b);
a.ShouldAllBeEquivalentTo(b);
a.Should().BeEquivalentTo(b);
Run Code Online (Sandbox Code Playgroud)
我为什么要使用一个而不是另一个?
我打算在Azure中构建两个系统之间的集成.该应用程序的基本体系结构将是Azure等效的内部部署控制台应用程序.例如,在预定的基础上改变两个系统之间的数据
我可以在App Services中看到两种方法.
一个Web应用程序,具有Web作业.就我而言,我现在根本不需要这个网站.
具有自定义编码API应用的逻辑应用.就我而言,整个集成可能只是一个自定义API应用程序,而不是一系列链式API应用程序.
两者看起来都支持预定的活动和我需要的连接.两者看起来都会缩放,但这并不是我正在计划的事情的关注点.两者似乎都有非常简单的部署路径.真的看起来非常相似.
我认为唯一的主要区别是,Web作业的Web应用程序将始终带有一个网站.它是否正确?如果是这样的话,我可能会选择一个网络应用程序,因为可能会在遥远的未来使用该网站.
我在这里遗漏了任何会影响我决定的事吗?差别这么简单吗?
我正在构建自定义的Azure AD B2C 用户界面。
我在我的页面中包含了 SVG 标签。
<body>
<div class="container">
<div class="row">
<div class="col-md-12">
<svg width="100" height="100">
<circle cx="50" cy="50" r="40" stroke="green" stroke-width="4" fill="yellow" />
</svg>
<div id="api"/></div>
</div>
</div>
</div>
</body>
Run Code Online (Sandbox Code Playgroud)
如果我直接访问该页面,SVG 标签将按预期呈现。如果我访问 Azure AD B2C 流中的页面,则 SVG 标记将被省略。
自定义的 Azure AD B2C 用户界面是否支持 SVG?
我正在尝试使用Azure Resource Manager工具在配置CORS下建议为我的存储帐户设置CORS规则:https://docs.microsoft.com/en-us/azure/app-service-api/app-service -API-CORS-消耗JavaScript的
通过添加属性cors:
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"sku": {
"name": "Standard_RAGRS",
"tier": "Standard"
},
"kind": "Storage",
"name": "[parameters('storageAccounts_teststoragejkjk_name')]",
"apiVersion": "2016-01-01",
"location": "westus",
"tags": {},
"properties": {
"cors": {"allowedOrigins": ["*"]}
},
"resources": [],
"dependsOn": []
}
]
Run Code Online (Sandbox Code Playgroud)
部署返回成功,我可以在Azure门户的活动日志下看到Write StorageAccount操作,但Cors规则不会添加到任何地方,当我从Azure下载模板时,它没有这个"cors属性".
我也尝试手动添加Corse规则(我只需要在我的Blob上),自动化脚本(包括deployment.ps)看起来仍然相同......
有关如何使用ARM模板配置Cors规则的blob存储的任何建议?
powershell azure azure-storage-blobs cors azure-resource-manager
在本地使用Dynamics 365版本1612(8.2.2.112).在Quote表单上,我修改了Activate Quote调用的操作以创建自定义实体(Deal)记录,然后导航到新创建的记录.这在所有浏览器中都运行良好,直到2周前.现在,它在IE中不起作用(客户端首选 - 但在Chrome,Firefox和Edge中工作),我得到的是一些通用的JSON错误."无效的JSON.在JSON内容中无法识别令牌."
我添加的调试数量似乎没有增加任何清晰度.我在XMLHttpRequest上的IE中遇到400错误,地址是 https://xxx.xxx.com/CRM/api/data/v8.2/quotes(04224AF9-DD70-E811-8123-000D3A02DFDB)/Microsoft.Dynamics.CRM .new_SubmitQuote
完整的响应主体粘贴在下面.
完整的JSON粘贴在下面
这是JS调用操作(new_SubmitQuote)来创建新的Deal实体记录,然后导航到该新记录.
n.xxx_submitQuote=function(n){
r.showXrmProgressIndicator("Submitting, please wait...");
u.executeBoundAction("quotes",n,"new_SubmitQuote").then(function(n){
t.Utility.openEntityForm("sut_deal",n.sut_dealid,null,null)}).catch(r.logError).then(function(){
r.closeXrmProgressIndicator()
})
}
Run Code Online (Sandbox Code Playgroud)
任何想法,想法或建议将不胜感激.我很难过.
谢谢,诺亚
JSON
{
"@odata.context":"https://xxx.xxx.com/CRM/api/data/v8.2/$metadata#quotes/$entity",
"@odata.etag":"W/\"54328330\"",
"new_spread":95903.0200,
"new_amount10percent":310777.7900,
"new_revenue10":777.79,
"new_paymentcount_date":"2018-06-19T00:53:29Z",
"_pricelevelid_value":"bfa9dc95-dbcd-e611-80d7-000d3a01f3fc",
"exchangerate":1.0000000000,
"totaldiscountamount":0.0000,
"name":"100026",
"totallineitemamount":0.0000,
"_transactioncurrencyid_value":"9107a2c3-bab1-e611-80d2-000d3a01f3fc",
"_owninguser_value":"a9c113ac-d532-e811-8119-000d3a02dfdb",
"totalamount":0.0000,
"_ownerid_value":"a9c113ac-d532-e811-8119-000d3a02dfdb",
"versionnumber":54328330,
"quoteid":"04224af9-dd70-e811-8123-000d3a02dfdb",
"totallineitemdiscountamount":0.0000,
"timezoneruleversionnumber":0,
"totalamountlessfreight_base":0.0000,
"statuscode":1,
"createdon":"2018-06-15T20:52:12Z",
"totaltax_base":0.0000,
"totallineitemamount_base":0.0000,
"totalamount_base":0.0000,
"modifiedon":"2018-06-15T20:53:23Z",
"totaltax":0.0000,
"totaldiscountamount_base":0.0000,
"quotenumber":"QUO-38015-F3D2B8",
"_modifiedby_value":"a9c113ac-d532-e811-8119-000d3a02dfdb",
"revisionnumber":0,
"_createdby_value":"a9c113ac-d532-e811-8119-000d3a02dfdb",
"pricingerrorcode":0,
"totallineitemdiscountamount_base":0.0000,
"statecode":0,
"_owningbusinessunit_value":"1a1ad33f-bab1-e611-80d2-000d3a01f3fc",
"willcall":false,
"_customerid_value":"7a60bf77-dd70-e811-8123-000d3a02dfdb",
"billto_addressid":null,
"discountpercentage":null,
"shipto_composite":null,
"onholdtime":null,
"billto_line2":null,
"closedon":null,
"paymenttermscode":null,
"freightamount_base":null,
"_modifiedonbehalfby_value":null,
"freightamount":null,
"billto_city":null,
"_campaignid_value":null,
"shipto_line1":null,
"_contactid_value":null,
"requestdeliveryby":null,
"freighttermscode":null,
"billto_stateorprovince":null,
"effectivefrom":null, …Run Code Online (Sandbox Code Playgroud)internet-explorer microsoft-dynamics json xmlhttprequest dynamics-crm
我试图了解如何使用 Azure AD B2C 密码重置。
似乎有多种方法可以处理密码重置。这些有什么区别?这些之间有价格差异吗?其中一些是 Azure AD 的功能,而一些是 Azure AD B2C 的功能?为什么下面的方法 3 似乎不起作用?
通过 Azure B2C 用户流(策略)。
通过 Azure Active Directory 自助服务密码重置。可通过https://passwordreset.microsoftonline.com访问。这允许用户通过存储在其个人资料中的任何电子邮件地址重置其密码。
用户配置文件上的重置密码按钮。这提供了一个临时密码,但是临时密码似乎不起作用。
azure ×4
c# ×4
azure-ad-b2c ×2
dynamics-crm ×2
architecture ×1
asp.net ×1
cors ×1
html ×1
json ×1
json.net ×1
powershell ×1
svg ×1
tcp ×1
unit-testing ×1