我正在开发一个API应用程序,它执行对其他asp.net应用程序的一些API调用。但目前我将API用户名、API密码和API URL存储在我的代码中。详情如下:
using (var client = new WebClient())
{
// client.Headers[HttpRequestHeader.Accept] = "AddAsset";
var query = HttpUtility.ParseQueryString(string.Empty);
foreach (string key in formValues)
{
query[key] = this.Request.Form[key];
}
query["username"] = "testuser";
query["password"] = "……";
query["assetType"] = "Rack";
query["operation"] = "AddAsset";
var url = new UriBuilder("http://win-spdev:8400/servlets/AssetServlet");
url.Query = query.ToString();
try
{
但是将这些设置存储在我的代码中并不灵活,以防我需要更改API调用设置,而且它也不安全。那么,存储这些设置的最佳方式是什么呢?我在考虑创建两个数据库表,一个用于存储URL(将来可能会有多个URL)。和另一个用于存储用户名和密码的表。创建数据库表也是存储这些设置的正确方式。
发布于 2013-08-04 23:51:40
您应该使用Web.Config文件(Configuration API)来存储这些设置。这样,您将能够更新设置,而不必每次都重新编译整个应用程序。这是在Web (MVC或WebForms)应用程序中存储设置的最标准方法,并使您可以对应用程序透明地使用encrypt sensitive settings。
可以使用WebConfigurationManager类访问存储的设置。Here你可以找到一些如何使用它的例子。
代码示例:
Web.config appSettings:
<appSettings>
<add key="ApiUserName" value="MySampleUsername" />
</appSettings>
C#代码:
string userName = System.Web.Configuration.WebConfigurationManager.AppSettings["ApiUserName"];
https://stackoverflow.com/questions/18044712
复制相似问题