小编Ayd*_*din的帖子

C#如何正确制作http web GET请求

我仍然是c#的新手,我正在尝试为这个页面创建一个应用程序,告诉我何时收到通知(回答,评论等等).但是现在我只是想简单地调用api来获取用户的数据.

我正在使用Visual Studio express 2012来构建C#应用程序,其中(现在)您输入了您的用户ID,因此应用程序将使用用户ID发出请求并显示此用户ID的统计信息.

这是我正在尝试发出请求的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//Request library
using System.Net;
using System.IO;

namespace TestApplication
{
    class Connect
    {
        public string id;
        public string type;

        protected string api = "https://api.stackexchange.com/2.2/";
        protected string options = "?order=desc&sort=name&site=stackoverflow";

        public string request()
        {
            string totalUrl = this.join(id);

            return this.HttpGet(totalUrl);
        }

        protected string join(string s)
        {
            return api + type + "/" + s + options;
        }

        protected string get(string url)
        {
            try
            {
                string rt; …
Run Code Online (Sandbox Code Playgroud)

.net c# httpwebrequest

97
推荐指数
4
解决办法
30万
查看次数

实体VS域模型VS视图模型

关于这个主题有数百个类似的问题.但我仍然感到困惑,我想得到专家的建议.

我们正在使用ASP.NET MVC 4和EF5开发应用程序,我们的数据库是第一种方法.

我们在一个单独的项目中有数据层,该项目是一个类库,并包含在其中定义的所有实体.然后使用所有存储库和域模型定义业务层(是要使用的正确术语).然后是表示层.

目前我们还没有定义任何视图模型,我们使用BL中的相同域模型作为视图模型.在这种方法中,一个映射就足够了.

ENTITY <=> DOMAIN模型

但对我来说,它看起来并不像一个好的设计.我更喜欢在表示层中定义视图模型,并使用域模型在表示层和业务层之间进行通信.在BL,将域对象转换为数据实体并与DAL通信.使用这种方法我必须使用两次映射.

查看模型<=>域模型<=> ENTITY

我的域名模型真的有必要吗?我不能使用我的实体与Presentation层进行通信.如果我在表示层中引用实体,是否会产生任何影响?如果有什么样的影响?

c# architecture asp.net-mvc design-patterns entity-framework

45
推荐指数
3
解决办法
3万
查看次数

部分视图和布局有什么区别?

我在我的项目中使用了部分视图和布局概念我无法区分.但我感觉到的是做同样的工作.谁能说出部分视图和布局的简短概念以及与示例的区别?

c# asp.net-mvc razor

14
推荐指数
1
解决办法
1万
查看次数

ASP.NET MVC - 关于GET请求的CSRF

我们有一个ASP.NET MVC应用程序.通过使用@Html.AntiForgeryTokenValidateAntiForgeryToken属性,所有POST请求(表单提交)都受到CSRF保护.控制器上的一个操作方法是GET,它向用户返回一个报告(一个包含数据库数据的pdf文件).签名是:

[AcceptVerbs(HttpVerbs.Get)]
public ActionResult GetReport()
{
    // get data from db
    return GetReport();

}
Run Code Online (Sandbox Code Playgroud)

以下是我要针对此操作测试CSRF的步骤:

  1. 用户登录到应用程序
  2. 登录后,用户打开以下HTML文件并单击"提交"按钮:
  3. 该报告已下载.

问题:

这可以被视为CSRF攻击吗?

如果是的话,如何减轻它?由于action方法是GET请求,我如何使用MVC的CSRF方法(应用@Html.AntiForgeryTokenValidateAntiForgeryToken操作方法).

HTML文件:

<html>
      <body>
        <form action="https://<baseurl>/Analysis/GetReport">
                <input type="submit" value="Submit request" />
            </form>
          </body>
</html>
Run Code Online (Sandbox Code Playgroud)

c# security asp.net-mvc csrf

13
推荐指数
2
解决办法
6217
查看次数

如何从ASP.NET获取网页的HTML内容

我想从动态网页中抓取一些内容(似乎它是在MVC中开发的).

数据抓取逻辑是通过HTML敏捷性完成的,但现在问题是,从浏览器请求URL时返回HTML,而来自ASP.NET Web请求的URL的Web响应是不同的.

主要是浏览器响应具有我需要的动态数据(基于查询字符串中传递的值进行渲染),但WebResponse结果不同.

您能否帮助我获取动态网页视图的实际内容WebRequest.

以下是我以前读过的代码:

WebRequest request = WebRequest.Create(sURL);
request.Method = "Get";
//Get the response
WebResponse response = request.GetResponse();
//Read the stream from the response
StreamReader reader = new StreamReader(response.GetResponseStream(), System.Text.Encoding.UTF8);
Run Code Online (Sandbox Code Playgroud)

html c# asp.net asp.net-mvc httpwebrequest

5
推荐指数
1
解决办法
1万
查看次数

SQL 到 IQueryable LINQ

您好,我正在尝试将以下 SQL 语句转换为其等效的 LINQ 语句,并且由于我对 .net 真的很陌生(编码了一天),因此我已经被困在这个问题上好几个小时了。

SELECT * 
 FROM Books 
 WHERE BookID IN (SELECT BookID 
              FROM Borrows 
              WHERE UserID = 2) 
Run Code Online (Sandbox Code Playgroud)

这是模型

public class LibUser
{       
    [Key]
    public int UserID { get; set; }
    [Required, StringLength(50), Display(Name = "First Name")]
    public string UserFirstName { get; set; }
    [Required, StringLength(50), Display(Name = "Last Name")]
    public string UserLastName { get; set; }
    [Required, StringLength(10000), Display(Name = "Residence"), DataType(DataType.MultilineText)]
    public string Adress { get; set; }
}

public class Book { 
    [Key] …
Run Code Online (Sandbox Code Playgroud)

c# sql linq asp.net-mvc

5
推荐指数
1
解决办法
1376
查看次数

为什么我不能隐式地将double转换为int?

您可以隐式地将int转换为double: double x = 5;

您可以显式地将int转换为double: double x = (double) 5;

您可以显式地将double转换为int: int x = (int) 5.0;

为什么不能隐式地将double转换为int?: int x = 5.0;

c# java casting implicit-conversion explicit-conversion

4
推荐指数
2
解决办法
3821
查看次数

mvc中的动态路由

最近我参加了面试,他在mvc询问动态路由.

问题是如何根据参数字符串或int动态路由某些操作方法.

例如 :

Public ActionResult Add(datatype variable)
{  
    //depending upon the Value he was asking how to redirect.
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc asp.net-mvc-4

0
推荐指数
1
解决办法
893
查看次数