我可以执行这样的事情吗?

情况
我要检查网址。如果URL等于http://sample.com,请执行此操作,否则,请执行此操作。

我做了什么:

在Web.config中-

<add key="ServerURLCloud" value="sample.com" />

在C#中-

public static string GetURL()
        {
            string[] url = ConfigurationManager.AppSettings["ServerURLCloud"];
            return url;
        }


在Javascript中-

if(varURL.indexOf('@ClassName.GetURL()') > 0){
   urlToCall = 'sub.sample.com';
}else{
   urlToCall = 'sub.not-sample.com';
}

$ajax(
url = urlToCall,
data = .........
....
)


我测试了它,它工作得很好。但是,我想知道,如果出现以下情况,会不会有任何问题:


互联网连接速度慢


编辑:

我的问题

这种做法(通过JavaScript获取服务器端信息)是否很好?还是不好?

最佳答案

我相信可以略微更改此代码示例,使其更易于维护。

您可以在布局中创建一个变量,其中可以包含ConfigurationManager.AppSettings [“ ServerURLCloud”]

var siteSettings = {};
siteSettings.serverUrlCloud = '@ConfigurationManager.AppSettings["ServerURLCloud"]';
siteSettings.subSampleUrl = 'url';
siteSettings.subNotSampleUrl = '';


该网站设置还可以保存任何有用的信息(例如基本url等)...

另外,尽量不要在代码中使用魔术字符串...而是创建可容纳这些变量的变量/常量等。

这些更改不会影响您的应用程序的速度,但会使管理起来稍微容易一些。

同样,您的ajax请求的响应速度完全取决于该请求中执行的代码,响应的长度和互联网连接速度...如果代码很复杂并且执行很多操作,那么自然会花费更长的时间。如果响应很大,则下载时间会更长。如果互联网连接速度慢,则发送请求和下载响应将花费更长的时间。

希望这可以帮助

09-30 00:26