我有一个SQL Azure数据库和Azure虚拟机,其中一个应用程序连接到数据库.
它们位于同一数据中心并位于相同的Azure订阅下.
我将虚拟机的公共虚拟IP添加到管理门户的服务器配置页面中允许的IP地址列表中.
Windows Azure服务在"允许的服务"部分中标记为"是".
尝试连接时,我收到异常:"不允许使用IP地址为'xxxx'的客户端访问服务器.",其中xxxx是VM的内部IP.我对在允许的IP规则中使用内部IP犹豫不决.SQL Azure在连接期间是否应该看到VM的公共IP?
在不断发展的MVC应用程序中,我希望能够对控制器名称及其用于构造url的操作方法名称的正确性(或至少存在)进行编译器检查.以便
Url.Action("Index", "About")
Run Code Online (Sandbox Code Playgroud)
变为:
Url.Action("Index", Helper.GetControllerNameFromType(typeof(AboutController))
Run Code Online (Sandbox Code Playgroud)
并且保证AboutController类型存在.我可以处理控制器名称,因为从类型和名称可以获得控制器名称.
但是,使用action方法,我没有看到类型安全/编译器检查的方法来获取方法名称.有什么建议吗?
我在C#中编写数据库命令,如下所示
using (SqlConnection con = new SqlConnection(Config.ConnectionString))
{
using (SqlCommand cmd = new SqlCommand("INSERT INTO ProjectDetails(pro_name,pro_location,pro_briefdesc,pro_desc,pro_res,pro_contact,pro_add,pro_email,pro_phone) VALUES (@name,@loc,@brief,@desc,@res,@cont,@add,@email,@ph)", con))
{
cmd.Parameters.AddWithValue("@name",pro_name);
cmd.Parameters.AddWithValue("@loc",pro_location );
cmd.Parameters.AddWithValue("@brief",pro_briefdesc);
cmd.Parameters.AddWithValue("@desc", pro_desc);
cmd.Parameters.AddWithValue("@res",pro_res);
cmd.Parameters.AddWithValue("@cont",pro_contact);
cmd.Parameters.AddWithValue("@add",pro_add);
cmd.Parameters.AddWithValue("@email",pro_email);
cmd.Parameters.AddWithValue("@ph",pro_phone );
con.Open();
int modified = cmd.ExecuteNonQuery();
if (con.State == System.Data.ConnectionState.Open) con.Close();
return modified;
}
}
Run Code Online (Sandbox Code Playgroud)
如何通常打开和关闭我的连接 - 即最小的代码重复(重复).