我在asp.net core(web api)中的路由有一些问题.
我有这个控制器(简化):
[ApiVersion("1.0")]
[Route("api/v{version:apiVersion}/[Controller]")]
public class DocumentController : Controller
{
[HttpGet("{guid}", Name = "GetDocument")]
public IActionResult GetByGuid(string guid)
{
var doc = DocumentDataProvider.Find(guid);
if (doc == null)
return NotFound();
return new ObjectResult(doc) {StatusCode = 200};
}
[HttpPost]
public IActionResult Create([FromBody] Document doc)
{
//... Creating Doc
//Does not work
//var val = CreatedAtRoute("GetDocument", new {guid = doc.Guid.ToString("N")}, document);
//or this: CreatedAtRoute("GetDocument", new { controller = "Document", guid = doc.Guid.ToString("N")}, document);
var val = CreatedAtRoute("GetDocument", new { version = …Run Code Online (Sandbox Code Playgroud) c# asp.net-mvc-routing .net-core api-versioning asp.net-core-webapi
我正在角色6项目中使用库adal-angular4@3.0.13.我尝试做以下事情:
如果可以使用office365进行silentlogin(登录而不提示用户输入凭据),则执行silentlogin(使用 _adalService.login()
如果无法使用silentlogin,则在欢迎屏幕中显示"登录"按钮.
当我通过azure-ad/o365身份验证并且cookie仍然有效时,可以使用silentlogin.
要找出,如果可以使用silentlogin,我尝试了以下内容:
try {
let token = await this._adal.acquireToken(this._config.clientId).toPromise();
return true;
} catch (e) {
console.log('acquireToken error', e);
return false;
}
Run Code Online (Sandbox Code Playgroud)
但它总会回归:
用户登录是必需的
但是当_adalService.login()它调用它时会做一个无声的登录.
我的问题: 我怎样才能发现,如果adaljs可以在没有提示输入凭据的情况下登录(应该可以,例如从o365-cookie中读取)?
typescript azure-active-directory adal.js angular microsoft-adal-angular6
我发现了Convert.ToString的一个奇怪的行为,我想了解,为什么它的行为是这样的.
看看下面的代码片段:
string obj = null;
var str = Convert.ToString(obj);
Console.WriteLine(str); // CORRECT: returns null;
Run Code Online (Sandbox Code Playgroud)
到目前为止一切都很好,但是:
DBNull obj = DBNull.Value;
var str = Convert.ToString(obj);
Console.WriteLine(str); // ???: returns string.Empty ("")
Run Code Online (Sandbox Code Playgroud)
和
object obj = null;
var str = Convert.ToString(obj);
Console.WriteLine(str); // ???: returns string.Empty ("")
Run Code Online (Sandbox Code Playgroud)
它看起来像一个bug,因为当我转换为字符串并且输入为NULL时,结果应该是字符串的默认值,也是NULL.