我正在开发多个 ASP.NET Web 服务,这些服务使用 SQL Server 进行存储并使用 Azure Application Insights 进行遥测。在 IISExpress 下本地运行服务时,我没有在依赖遥测中获得完整的 SQL 命令文本(尽管在调用 SP 时我确实看到了存储过程名称),所以我遵循了文档中针对这种情况的建议,并从System.Data.SqlClient 到新的 Microsoft.Data.SqlClient 包。
现在我没有看到来自使用 Microsoft.Data.SqlClient 的任何组件的任何 SQL 依赖遥测。这不是我希望的结果。
在更改之前,依赖遥测中的 sdkVersion 是“rddf:2.11.2-28447”。文档说我应该在这里看到一个“rddp:”前缀,但由于不再有任何SQL 遥测,我没有任何东西要检查。
一项服务使用 Microsoft.AspNet.Identity.EntityFramework 中的一些代码,该代码继续使用 System.Data.SqlClient(不确定如何更改)。仍在为这些类生成 SQL 依赖遥测,但当然不包括完整的命令文本,并且仍然具有“rddf:”SDK 版本前缀。
我需要做什么才能获得包含完整命令文本的 SQL 依赖遥测?
一些细节:
sql-server asp.net azure sqlclient azure-application-insights
当我运行 Vue 应用程序时,Vue devtools 扩展会检测到 Vue.js,但会抱怨:
Devtools 检查不可用,因为它处于生产模式或被作者明确禁用。
我在本地使用yarn serve运行的应用程序提供服务vue-cli-service serve。
vue: 3.0.0
vue devtools: 6.0.12
@vue/vue-cli: 5.0.1
@vue/vue-cli-service: 4.5.14
node: 16.14.0
yarn: 1.22.4
Chrome: 98.0.4758.102
Run Code Online (Sandbox Code Playgroud)
Vue 开发工具在以下情况下可以工作:
如果出现以下情况, Vue devtools不起作用(相同的错误消息):
vue.config.performance = true到我的main.ts文件中--mode=development到我的vue-cli-service build命令中http://localhost:8080我通过主机文件别名访问该应用程序https://myalias:8080AFAIK 我从未做过任何强制生产构建或禁用 …
我正在使用 Delphi REST.Client组件,并希望发送这样的请求:
PUT http://hostname/api/items?arg=value
Run Code Online (Sandbox Code Playgroud)
这是我正在使用的代码:
req := TRESTRequest.Create(nil);
req.Client := FRESTClient;
req.Method := TRESTRequestMethod.rmPUT;
req.Resource := 'api/items';
req.AddParameter('arg', 'value');
req.AddBody(someJSONObject);
req.Execute;
Run Code Online (Sandbox Code Playgroud)
但是,Fiddler 指示请求中未包含参数,并且服务器拒绝该请求,因为该请求格式不正确。
PUT http://hostname/api/items HTTP/1.1
Content-Type: application/json
Content-Length: 123
Connection: keep-alive
Host: hostname
Accept: application/json, text/plain; q=0.9, text/html;q=0.8,
Accept-Charset: UTF-8, *;q=0.8
Accept-Encoding: identity
User-Agent: Embarcadero RESTClient/1.0
Run Code Online (Sandbox Code Playgroud)
在 Delphi 调试器中,我可以看到正在使用的参数种类是pkGETorPOST(默认)。我没有看到 Kind 的任何值似乎可以解决这个问题。
我想发送一个 PUT 请求,其中正文包含一组 JSON 对象,如下所示:
PUT http://hostname/api/items
[{"ID":1},{"ID":2},...]
Run Code Online (Sandbox Code Playgroud)
使用如下代码,我可以轻松地发送一个带有单个 TJSONObject 主体的 POST 请求:
req := TRESTRequest.Create(nil);
req.Client := FRESTClient;
req.Method := TRESTRequestMethod.rmPOST;
req.Resource := 'api/items';
req.AddBody(someJSONObject);
req.Execute;
Run Code Online (Sandbox Code Playgroud)
Fiddler 将请求显示为具有正确的内容:
{"ID",1}
Run Code Online (Sandbox Code Playgroud)
但是,如果我使用 PUT 请求并添加 TJSONArray 作为正文...
ja := TJSONArray.Create;
for jo in someJSONObjects do
ja.Add(jo);
req.Method := TRESTRequestMethod.rmPUT;
req.AddBody(ja);
Run Code Online (Sandbox Code Playgroud)
Fiddler 将请求显示为有一大堆奇怪的 JSON 内容:
{"elements":{"items":[{"members":{"items":[{"jsonString":{"strBuffer":{"data":["I","D","","","","","","","","","","","","","",""],"length":2,"maxCapacity":2147483647},"owned":true},"jsonValue":{"strBuffer":{"data":["1","","","","","","","","","","","","","","",""],"length":1,"maxCapacity":2147483647},"owned":true},"owned":true}],...
Run Code Online (Sandbox Code Playgroud)
它看起来像是原始内存对象的某种低级序列化,而不是预期的 JSON 数组内容。
知道我做错了什么吗?AddBody 方法的文档不是很有帮助。
delphi ×2
rest ×2
asp.net ×1
azure ×1
json ×1
sql-server ×1
sqlclient ×1
vue-devtools ×1
vue.js ×1
yarnpkg ×1