thảo luận [.NET] Topic thảo luận các vấn đề xoay quanh .Net

  • Người tạo chủ đề Người tạo chủ đề pi nguyen
  • Ngày bắt đầu Ngày bắt đầu
Các thím có dùng thư viện để gọi api lấy data không?
Hay dùng ajax vậy ạ?
Em chỉ dùng jquery vs ajax.
Nếu có thư viện nào hay hoặc tốt thì các thím recommend em với :p

Gửi từ Xiaomi 2211133C bằng vozFApp
 
blazor thì dưới file js chỉ có chày cối jquery gọi lên blazor thôi.
blazor trên cs thì có function gọi xuống js.
Nói chung là chưa mượt lắm, hơi rườm rà.
Gọi api gì thì từ js gọi func của cs cho nó dễ. Trên cs dùng httpclient mà gọi api cho nó sướng dễ debug.
Viết sử lý gọi api dưới js dễ nát project lắm.
Vì người ta khó kiểm soát js hơn là cs.
 
Các thím có dùng thư viện để gọi api lấy data không?
Hay dùng ajax vậy ạ?
Em chỉ dùng jquery vs ajax.
Nếu có thư viện nào hay hoặc tốt thì các thím recommend em với :p

Gửi từ Xiaomi 2211133C bằng vozFApp
Razor Page thì tôi dùng HttpClientFactory call api lấy data bác ạ, cũng kết hợp với Ajax, Jquery luôn
 
Em cảm ơn 2 bác.
Đang tính chuyển font-end sang mấy framework mạnh kia(reatcjs...). Mà lười học quá các bác ạ. ::ROFLMAO:

Gửi từ Xiaomi 2211133C bằng vozFApp
 
đang định hướng làm .Net core/ Microservices mà lỡ vô công ty làm Sitecore giờ sao các thím? đang tính làm đỡ vài tháng qua mùa đói này rồi cuối năm phỏng vấn. Hay có thím nào đang tuyển level tầm Mid/Senior thì alo tôi với
 
Sửa lần cuối:
đang định hướng làm .Net core/ Microservices mà lỡ vô công ty làm Sitecore giờ sao các thím? đang tính làm đỡ vài tháng qua mùa đói này rồi cuối năm phỏng vấn. Hay có thím nào đang tuyển level tầm Mid/Senior thì alo tôi với

Khu vực nào vậy thím, SG hay HN thế
 
Các thím có dùng thư viện để gọi api lấy data không?
Hay dùng ajax vậy ạ?
Em chỉ dùng jquery vs ajax.
Nếu có thư viện nào hay hoặc tốt thì các thím recommend em với :p

Gửi từ Xiaomi 2211133C bằng vozFApp
Nếu được lựa chọn tôi toàn dùng angular để code frontend. Dùng cái angular-swagger-gen nó tự generate ra hết service để gọi api nên nhàn vkl. Server thay đổi hay thêm api thì gen lại phát là xong.

via theNEXTvoz for iPhone
 
đang định hướng làm .Net core/ Microservices mà lỡ vô công ty làm Sitecore giờ sao các thím? đang tính làm đỡ vài tháng qua mùa đói này rồi cuối năm phỏng vấn. Hay có thím nào đang tuyển level tầm Mid/Senior thì alo tôi với
Lúc apply không hỏi HR, lúc pv không hỏi người pv hay sao mà lỡ vào được bạn? Nghe sitecore chắc là cty ở CMT8 nhỉ, hồi mình nhắn với HR thấy sitecore xong là té liền :shame: Nói chung cứ làm thôi, nào có offer khác hẳn nhảy, so với mấy mấy mảng khác như winform, webform thì sitecore vẫn còn ngon mà
 
Cũng muốn chuyển sang .net thử như nào, hỏi xem macbook m2 chơi ổn con hàng này không hả các phen :love::love:
 
net cỏ thì mac sdk ok nhé.
net fw thì mac phế luôn.
YDBBs4c.png
 
Em cấu hình mãi mà nó không validate được token bác ạ. Sau khi login, em lấy cái token đấy để gửi request mà nó toàn báo 401, bác xem giúp em với ạ.
Em vẫn đang thắc mắc là khi gửi request kèm token thì làm sao nó có thể chọc vào DB để validate cái thông tin đó ạ

Đây là file program.cs

C#:
global using Demo.Data;
global using Microsoft.EntityFrameworkCore;
using System.Text;
using Demo.Configuration;
using Demo.Converter;
using Demo.Services;
using Demo.Services.Impl;
using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.IdentityModel.Tokens;
using Microsoft.OpenApi.Models;

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
builder.Services.AddTransient<StudentService, StudentServiceImpl>();
builder.Services.AddTransient<AuthService, AuthServiceImpl>();
builder.Services.AddSingleton<StudentConverter>();
builder.Services.AddSingleton<SecurityConfiguration>();
builder.Services.AddDbContext<DataContext>(options => {
    options.UseSqlServer(builder.Configuration.GetConnectionString("DevConnection"));
});

builder.Services.AddAuthentication(options => {
    options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
    options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
    options.DefaultScheme = JwtBearerDefaults.AuthenticationScheme;
}).AddJwtBearer(options => {
    options.SaveToken = true;
    options.RequireHttpsMetadata = false;
    options.TokenValidationParameters = new TokenValidationParameters() {
        ValidateIssuer = true,
        ValidateAudience = true,
        ValidAudience = builder.Configuration["Jwt:Audience"],
        ValidIssuer = builder.Configuration["Jwt:Issuer"],
        IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(builder.Configuration["Jwt:Key"]))
    };
});

builder.Services.AddControllers();

// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen(c => {
    c.SwaggerDoc("v1", new OpenApiInfo { Title = "DemoJWT", Version = "V1" });
    c.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme {
        Description = "Jwt Authorization",
        Name = "Authorization",
        In = ParameterLocation.Header,
        Type = SecuritySchemeType.ApiKey,
        Scheme = "Bearer"
    });
 
    c.AddSecurityRequirement(new OpenApiSecurityRequirement {
        {
            new OpenApiSecurityScheme {
                Reference = new OpenApiReference {
                    Type = ReferenceType.SecurityScheme,
                    Id = "Bearer"
                }
            }, new string[]{}
        }
    });
});

var app = builder.Build();

// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment()) {
    app.UseSwagger();
    app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "DemoJWTToken v1"));
}

app.UseHttpsRedirection();

app.UseAuthentication();
app.UseAuthorization();

app.MapControllers();

app.Run();

Đây là đoạn generate Token
C#:
private string generateToken(Student student) {
        List<Claim> claims = new List<Claim> {
            new Claim("Username", student.Username)
        };

        var key = new SymmetricSecurityKey(System.Text.Encoding.UTF8.GetBytes(
            configuration.GetSection("Jwt:Key").Value));
        var credentials = new SigningCredentials(key, SecurityAlgorithms.HmacSha256Signature);
        var token = new JwtSecurityToken(
            claims: claims,
            expires: DateTime.Now.AddMinutes(10),
            signingCredentials: credentials);

        return new JwtSecurityTokenHandler().WriteToken(token);
    }


Còn đây là dataContext ạ

C#:
namespace Demo.Data {
    public class DataContext : DbContext {
        public DataContext(DbContextOptions<DataContext> options) : base(options) {

        }

        public DataContext() {
       
        }

        public DbSet<Student> Students { get; set; }
        public DbSet<Subject> Subjects { get; set; }
        public DbSet<Major> Majors { get; set; }
    }
}
thử tắt ValidateIssuer = true, ValidateAudience = true đi bạn
 
.net ở Đà Nẵng hoặc loay quanh thì công ty nào ổn vậy mấy bác. Mới ra trường khó tìm việc quá :(

Gửi từ Xiaomi 2201117TG bằng vozFApp
 
Ae Senior .NET nào muốn kiếm job remote kiếm thêm bên cạnh job chính thì inbox tớ nhé. 1 slot.
Tiếng Anh tốt tí nhé :D
 

Thống kê chủ đề

Ngày tạo
pi nguyen,
Người trả lời cuối
keandanh123000,
Trả lời
2.024
Lượt xem
266.823
Quay lại
Lên đầu trang