ASP.Net MVC应用程序访问其他服务器

时间:2017-01-02 00:35:37

标签: asp.net-mvc

我们有一个ASP.Net MVC应用程序(网站),只是一个直接的网络应用程序。它需要连接的URL是端口14015上的ASP.Net WebAPI2 Web服务.MVC应用程序使用WebClient类匿名调用Web服务;通过限制哪些IP可以连接到Web服务来保护Web服务。除了IP之外,没有授权模式可以访问。

using (WebClient client = new WebClient())
{
    //****************************
    // We make the web service call like this:
    //****************************
    string url = @"http://secure.example.com:14015/lms/SSOKey/1158341";
    string key = client.DownloadString(url);
    //****************************
    // Then we append the returned key to build the full URL. This URL is used
    // in the View to build a link button.
    //****************************
    string login_url = @"http://192.168.1.1/tc/login.do?uid=" + key;
    login_url = login_url.Replace("\"", string.Empty);
    //****************************
    // Pass the URL to the view to build the link button
    //****************************
    ViewBag.LoginURL = login_url;
}

我可以从发布MVC应用程序的服务器上的浏览器访问该URL,但是,该调用不成功。我有什么想法可以找出为什么这不会连接?

2 个答案:

答案 0 :(得分:0)

如果您正在调用控制器内部的代码并且用户必须登录到您的Web应用程序,那么此代码应该为您提供所需的代码:

string currentUser = User.Identity.Name;

如果您的用户匿名使用您的网络应用,则currentUser将为空白。

答案 1 :(得分:0)

添加此代码解决了这个问题。

AbstractInterfaceTest

由于我们限制了IP地址的访问,因此安全风险非常低。