C# .NET将变量传递给第二个代码块

C# .NET将变量传递给第二个代码块,c#,asp.net,.net,C#,Asp.net,.net,这个问题很简单,虽然我很困惑,但我发现自己在控制器中经常使用这个函数,所以将它移动到了我的第一个方法。foreach循环有一个最终字符串FinalURL如何将其传递到httpWebRequest?我是否需要创建另一个方法并在休息后调用它?在我使用viewbag变量之前,但在本文中我无法使用它。如果我去掉括号,它会说不是所有路径都返回函数,我相信这不是正确的方法 namespace Linkofy.Models { public class MajesticFunctions { publ

这个问题很简单,虽然我很困惑,但我发现自己在控制器中经常使用这个函数,所以将它移动到了我的第一个方法。foreach循环有一个最终字符串FinalURL如何将其传递到httpWebRequest?我是否需要创建另一个方法并在休息后调用它?在我使用viewbag变量之前,但在本文中我无法使用它。如果我去掉括号,它会说不是所有路径都返回函数,我相信这不是正确的方法

namespace Linkofy.Models
{
public class MajesticFunctions
{
    public static int[] MajesticChecker(string[] URLtests)
    {
        foreach (string URLt in URLtests)
        {
            HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(URLt);
            myHttpWebRequest.AllowAutoRedirect = false;
            HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
            int resulting = (int)myHttpWebResponse.StatusCode;
            if (resulting == 200)
            {
                String Urlnew = URLt;
                String FinalURL = URLt.Replace("https://", "").Replace("http://", "");
                break;
            }
        }
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://api.majestic.com/api/json?app_api_key=KEY&cmd=GetIndexItemInfo&items=1&item0=" + FinalURL + "&datasource=fresh");
        {
            WebResponse response = request.GetResponse();
            using (Stream responseStream = response.GetResponseStream())
            {
                StreamReader reader = new StreamReader(responseStream, Encoding.UTF8);
                JObject jObject = JObject.Parse(reader.ReadToEnd());
                JToken Trusty = jObject["DataTables"]["Results"]["Data"][0]["TrustFlow"].Value<int>();
                JToken City = jObject["DataTables"]["Results"]["Data"][0]["CitationFlow"].Value<int>();
                JToken RIPy = jObject["DataTables"]["Results"]["Data"][0]["RefIPs"].Value<int>();

                int Trustflow = Int32.Parse(Trusty.ToString());
                int Citationflow = Int32.Parse(City.ToString());
                int Reffering = Int32.Parse(RIPy.ToString());

                int[] Metrics = new int[] { Trustflow, Citationflow, Reffering };

                return Metrics;
            }
        }
    }
}
y.Models的名称空间链接
{
公共级别的盛大活动
{
公共静态int[]MajesticChecker(字符串[]URLtests)
{
foreach(URLtests中的字符串URLt)
{
HttpWebRequest myHttpWebRequest=(HttpWebRequest)WebRequest.Create(URLt);
myHttpWebRequest.AllowAutoRedirect=false;
HttpWebResponse myHttpWebResponse=(HttpWebResponse)myHttpWebRequest.GetResponse();
int resulting=(int)myHttpWebResponse.StatusCode;
如果(结果==200)
{
字符串Urlnew=URLt;
字符串FinalURL=URLt.Replace(“https://”,“”)。Replace(“http://”,“”);
打破
}
}
HttpWebRequest请求=(HttpWebRequest)WebRequest.Create(“https://api.majestic.com/api/json?app_api_key=KEY&cmd=GetIndexItemInfo&items=1&item0=“+FinalURL+”&datasource=fresh”);
{
WebResponse=request.GetResponse();
使用(Stream responseStream=response.GetResponseStream())
{
StreamReader=新的StreamReader(responseStream,Encoding.UTF8);
JObject=JObject.Parse(reader.ReadToEnd());
JToken Trusty=jObject[“DataTables”][“Results”][“Data”][0][“TrustFlow”].Value();
JToken City=jObject[“数据表”][“结果”][“数据”][0][“引文流”]。Value();
JToken RIPy=jObject[“DataTables”][“Results”][“Data”][0][“RefIPs”].Value();
int Trustflow=Int32.Parse(Trusty.ToString());
int引文流=Int32.Parse(City.ToString());
int Reffering=Int32.Parse(RIPy.ToString());
int[]Metrics=newint[]{Trustflow,引证流,Reffering};
回报指标;
}
}
}
}

}

将其放在环路的外侧

String FinalURL = "";
foreach (string URLt in URLtests)
        {
            HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(URLt);
            myHttpWebRequest.AllowAutoRedirect = false;
            HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
            int resulting = (int)myHttpWebResponse.StatusCode;
            if (resulting == 200)
            {
                String Urlnew = URLt;
                FinalURL = URLt.Replace("https://", "").Replace("http://", "");
                break;
            }
        }

if ( FinalURL.Length > 0 )
{
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://api.majestic.com/api/json?app_api_key=KEY&cmd=GetIndexItemInfo&items=1&item0=" + FinalURL + "&datasource=fresh");
        {
            WebResponse response = request.GetResponse();
            using (Stream responseStream = response.GetResponseStream())
            {
                StreamReader reader = new StreamReader(responseStream, Encoding.UTF8);
                JObject jObject = JObject.Parse(reader.ReadToEnd());
                JToken Trusty = jObject["DataTables"]["Results"]["Data"][0]["TrustFlow"].Value<int>();
                JToken City = jObject["DataTables"]["Results"]["Data"][0]["CitationFlow"].Value<int>();
                JToken RIPy = jObject["DataTables"]["Results"]["Data"][0]["RefIPs"].Value<int>();

                int Trustflow = Int32.Parse(Trusty.ToString());
                int Citationflow = Int32.Parse(City.ToString());
                int Reffering = Int32.Parse(RIPy.ToString());

                int[] Metrics = new int[] { Trustflow, Citationflow, Reffering };

                return Metrics;
            }
        }
}
else
{
    throw new Exception("No Final URL Found");
}
这样,它将在循环之外的范围内可用

String FinalURL = "";
foreach (string URLt in URLtests)
        {
            HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(URLt);
            myHttpWebRequest.AllowAutoRedirect = false;
            HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
            int resulting = (int)myHttpWebResponse.StatusCode;
            if (resulting == 200)
            {
                String Urlnew = URLt;
                FinalURL = URLt.Replace("https://", "").Replace("http://", "");
                break;
            }
        }

if ( FinalURL.Length > 0 )
{
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://api.majestic.com/api/json?app_api_key=KEY&cmd=GetIndexItemInfo&items=1&item0=" + FinalURL + "&datasource=fresh");
        {
            WebResponse response = request.GetResponse();
            using (Stream responseStream = response.GetResponseStream())
            {
                StreamReader reader = new StreamReader(responseStream, Encoding.UTF8);
                JObject jObject = JObject.Parse(reader.ReadToEnd());
                JToken Trusty = jObject["DataTables"]["Results"]["Data"][0]["TrustFlow"].Value<int>();
                JToken City = jObject["DataTables"]["Results"]["Data"][0]["CitationFlow"].Value<int>();
                JToken RIPy = jObject["DataTables"]["Results"]["Data"][0]["RefIPs"].Value<int>();

                int Trustflow = Int32.Parse(Trusty.ToString());
                int Citationflow = Int32.Parse(City.ToString());
                int Reffering = Int32.Parse(RIPy.ToString());

                int[] Metrics = new int[] { Trustflow, Citationflow, Reffering };

                return Metrics;
            }
        }
}
else
{
    throw new Exception("No Final URL Found");
}
String FinalURL=”“;
foreach(URLtests中的字符串URLt)
{
HttpWebRequest myHttpWebRequest=(HttpWebRequest)WebRequest.Create(URLt);
myHttpWebRequest.AllowAutoRedirect=false;
HttpWebResponse myHttpWebResponse=(HttpWebResponse)myHttpWebRequest.GetResponse();
int resulting=(int)myHttpWebResponse.StatusCode;
如果(结果==200)
{
字符串Urlnew=URLt;
FinalURL=URLt.Replace(“https://”和“”).Replace(“http://”和“”);
打破
}
}
如果(最终长度>0)
{
HttpWebRequest请求=(HttpWebRequest)WebRequest.Create(“https://api.majestic.com/api/json?app_api_key=KEY&cmd=GetIndexItemInfo&items=1&item0=“+FinalURL+”&datasource=fresh”);
{
WebResponse=request.GetResponse();
使用(Stream responseStream=response.GetResponseStream())
{
StreamReader=新的StreamReader(responseStream,Encoding.UTF8);
JObject=JObject.Parse(reader.ReadToEnd());
JToken Trusty=jObject[“DataTables”][“Results”][“Data”][0][“TrustFlow”].Value();
JToken City=jObject[“数据表”][“结果”][“数据”][0][“引文流”]。Value();
JToken RIPy=jObject[“DataTables”][“Results”][“Data”][0][“RefIPs”].Value();
int Trustflow=Int32.Parse(Trusty.ToString());
int引文流=Int32.Parse(City.ToString());
int Reffering=Int32.Parse(RIPy.ToString());
int[]Metrics=newint[]{Trustflow,引证流,Reffering};
回报指标;
}
}
}
其他的
{
抛出新异常(“未找到最终URL”);
}

您还可以将WebRequest代码移动到for循环中

namespace Linkofy.Models
{
public class MajesticFunctions
{
    public static int[] MajesticChecker(string[] URLtests)
    {
        foreach (string URLt in URLtests)
        {
            HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(URLt);
            myHttpWebRequest.AllowAutoRedirect = false;
            HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
            int resulting = (int)myHttpWebResponse.StatusCode;
            if (resulting == 200)
            {

                String FinalURL = URLt.Replace("https://", "").Replace("http://", "");
                if (FinalURL.Length > 0)
                {
                  HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://api.majestic.com/api/json?app_api_key=KEY&cmd=GetIndexItemInfo&items=1&item0=" + FinalURL + "&datasource=fresh");
                  {
                     WebResponse response = request.GetResponse();
                     using (Stream responseStream = response.GetResponseStream())
                     {
                         StreamReader reader = new StreamReader(responseStream, Encoding.UTF8);
                         JObject jObject = JObject.Parse(reader.ReadToEnd());
                         JToken Trusty = jObject["DataTables"]["Results"]["Data"][0]["TrustFlow"].Value<int>();
                         JToken City = jObject["DataTables"]["Results"]["Data"][0]["CitationFlow"].Value<int>();
                         JToken RIPy = jObject["DataTables"]["Results"]["Data"][0]["RefIPs"].Value<int>();

                         int Trustflow = Int32.Parse(Trusty.ToString());
                         int Citationflow = Int32.Parse(City.ToString());
                         int Reffering = Int32.Parse(RIPy.ToString());

                         int[] Metrics = new int[] { Trustflow, Citationflow, Reffering };

                         return Metrics;
                      }
                  }
                }
                break;
            }
        }
        throw new Exception("No Final URL Found");

       }
}
}
y.Models的名称空间链接
{
公共级别的盛大活动
{
公共静态int[]MajesticChecker(字符串[]URLtests)
{
foreach(URLtests中的字符串URLt)
{
HttpWebRequest myHttpWebRequest=(HttpWebRequest)WebRequest.Create(URLt);
myHttpWebRequest.AllowAutoRedirect=false;
HttpWebResponse myHttpWebResponse=(HttpWebResponse)myHttpWebRequest.GetResponse();
int resulting=(int)myHttpWebResponse.StatusCode;
如果(结果==200)
{
字符串FinalURL=URLt.Replace(“https://”,“”)。Replace(“http://”,“”);
如果(最终长度>0)
{
HttpWebRequest请求=(HttpWebRequest)WebRequest.Create(“https://api.majestic.com/api/json?app_api_key=KEY&cmd=GetIndexItemInfo&items=1&item0=“+FinalURL+”&datasource=fresh”);
{
WebResponse=request.GetResponse();
使用(Stream responseStream=response.GetResponseStream())
{
StreamReader=新的StreamReader(responseStream,Encoding.UTF8);
JObject=JObject.Parse(reader.ReadToEnd());
JToken Trusty=jObject[“DataTables”][“Results”][“Data”][0][“TrustFlow”].Value();
JToken City=jObject[“数据表”][“结果”][“数据”][0][“引文流”]。Value();
JToken RIPy=jObject[“DataTables”][“Results”][“Data”][0][“RefIPs”].Value();
int Trustflow=Int32.Parse(Trusty.ToString());